SItemFactory.ts 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. import { Column } from "../types/floor/Column";
  2. import { SColumnItem } from "../items/floor/SColumnItem";
  3. import { SWallItem } from "../items/floor/SWallItem";
  4. import { Wall } from "../types/floor/Wall";
  5. import { SVirtualWallItem } from "../items/floor/SVirtualWallItem";
  6. import { VirtualWall } from "../types/floor/VirtualWall";
  7. import { SSpaceItem } from "../items/floor/SSpaceItem";
  8. import { Space } from "../types/floor/Space";
  9. import { Door } from "../types/floor/Door";
  10. import { SDoorItem } from "../items/floor/SDoorItem";
  11. import { SWindowItem } from "../items/floor/SWindowItem";
  12. import { Casement } from "../types/floor/Casement";
  13. import { SZoneItem } from "../items/floor/ZoneItem";
  14. import { Zone } from "../types/floor/Zone";
  15. import { SImageItem, STextItem } from "..";
  16. import { ImageData } from "../types/ImageData";
  17. import { TextData } from "../types/TextData";
  18. /**
  19. * 拓扑图信息解析器
  20. *
  21. */
  22. export class SItemFactory {
  23. /**
  24. * 构造函数
  25. *
  26. * */
  27. constructor() {} // Constructor
  28. /**
  29. * 创建柱子item
  30. *
  31. * @param data 柱子数据
  32. * @return 柱子item
  33. * */
  34. createColumn(data: Column): SColumnItem {
  35. return new SColumnItem(null, data);
  36. } // Function createColumn()
  37. /**
  38. * 创建墙item
  39. *
  40. * @param data 墙数据
  41. * @return 墙item
  42. * */
  43. createWall(data: Wall): SWallItem {
  44. return new SWallItem(null, data);
  45. } // Function createWall()
  46. /**
  47. * 创建虚拟墙item
  48. *
  49. * @param data 虚拟墙数据
  50. * @return 虚拟墙item
  51. * */
  52. createVirtualWall(data: VirtualWall): SVirtualWallItem {
  53. return new SVirtualWallItem(null, data);
  54. } // Function createVirtualWall()
  55. /**
  56. * 创建空间item
  57. *
  58. * @param data 空间数据
  59. * @return 空间item
  60. * */
  61. createSpace(data: Space): SSpaceItem {
  62. return new SSpaceItem(null, data);
  63. } // Function createSpace()
  64. /**
  65. * 创建门item
  66. *
  67. * @param data 门数据
  68. * @return 门item
  69. * */
  70. createDoor(data: Door): SDoorItem {
  71. return new SDoorItem(null, data);
  72. } // Function createDoor()
  73. /**
  74. * 创建窗item
  75. *
  76. * @param data 窗户数据
  77. * @return 窗户item
  78. * */
  79. createWindow(data: Casement): SWindowItem {
  80. return new SWindowItem(null, data);
  81. } // Function createWindow()
  82. /**
  83. * 创建业务空间item
  84. *
  85. * @param data 业务空间数据
  86. * @return 业务空间item
  87. * */
  88. createZone(data: Zone): SZoneItem {
  89. return new SZoneItem(null, data);
  90. } // Function createZone()
  91. /**
  92. * 创建图片item
  93. *
  94. * @param data 图片数据
  95. * */
  96. createImage(data: ImageData): SImageItem {
  97. return new SImageItem(null);
  98. } // Function createImage()
  99. /**
  100. * 创建文本item
  101. *
  102. * @param data 文本数据
  103. * */
  104. createText(data: TextData): STextItem {
  105. return new STextItem(null);
  106. } // Function createImage()
  107. } // class SItemFactory