# item 创建工厂
目录
# 源代码
查看代码
/*
* *********************************************************************************************************************
*
* !!
* .F88X
* X8888Y
* .}888888N;
* i888888N; .:! .I$WI:
* R888888I .'N88~ i8}+8Y&8"l8i$8>8W~'>W8}8]KW+8IIN"8&
* .R888888I .;N8888~ .X8' "8I.!,/8" !%NY8`"8I8~~8>,88I
* +888888N; .8888888Y "&&8Y.}8,
* ./888888N; .R888888Y .'}~ .>}'.`+> i}! "i' +/' .'i~ !11,.:">, .~]! .i}i
* ~888888%: .I888888l .]88~`1/iY88Ii+1'.R$8$8]"888888888> Y8$ W8E X8E W8888'188Il}Y88$*
* 18888888 E8888881 .]W%8$`R8X'&8%++N8i,8N%N8+l8%` .}8N:.R$RE%N88N%N$K$R 188,FE$8%~Y88I
* .E888888I .i8888888' .:$8I;88+`E8R:/8N,.>881.`$8E/1/]N8X.Y8N`"KF&&FK!'88*."88K./$88%RN888+~
* 8888888I .,N888888~ ~88i"8W,!N8*.I88.}888%F,i$88"F88" 888:E8X.>88!i88>`888*.}Fl1]*}1YKi'
* i888888N' I888Y ]88;/EX*IFKFK88X K8R .l8W 88Y ~88}'88E&%8W.X8N``]88!.$8K .:W8I
* .i888888N; I8Y .&8$ .X88! i881.:%888>I88 ;88] +88+.';;;;:.Y88X 18N.,88l .+88/
* .:R888888I
* .&888888I Copyright (c) 2016-2020. 博锐尚格科技股份有限公司
* ~8888'
* .!88~ All rights reserved.
*
* *********************************************************************************************************************
*/
import {Column} from "@persagy-web/big/lib/types/floor/Column";
import {SColumnItem} from "@persagy-web/big/lib/items/floor/SColumnItem";
import {Wall} from "@persagy-web/big/lib/types/floor/Wall";
import {SWallItem} from "@persagy-web/big/lib/items/floor/SWallItem";
import {VirtualWall} from "@persagy-web/big/lib/types/floor/VirtualWall";
import {SVirtualWallItem} from "@persagy-web/big/lib/items/floor/SVirtualWallItem";
import {Space} from "@persagy-web/big/lib/types/floor/Space";
import {SSpaceItem} from "@persagy-web/big/lib/items/floor/SSpaceItem";
import {Door} from "@persagy-web/big/lib/types/floor/Door";
import {SDoorItem} from "@persagy-web/big/lib/items/floor/SDoorItem";
import {Casement} from "@persagy-web/big/lib/types/floor/Casement";
import {SWindowItem} from "@persagy-web/big/lib/items/floor/SWindowItem";
import {SZoneItem} from "@persagy-web/big/lib/items/floor/ZoneItem";
import {Zone} from "@persagy-web/big/lib/types/floor/Zone";
/**
* item创建工厂
*
*/
export class SItemFactory {
/**
* 构造函数
*
* */
constructor() {} // Constructor
/**
* 创建柱子item
*
* @param data 柱子数据
* @return 柱子item
* */
createColumn(data: Column): SColumnItem {
return new SColumnItem(null, data);
} // Function createColumn()
/**
* 创建墙item
*
* @param data 墙数据
* @return 墙item
* */
createWall(data: Wall): SWallItem {
return new SWallItem(null, data);
} // Function createWall()
/**
* 创建虚拟墙item
*
* @param data 虚拟墙数据
* @return 虚拟墙item
* */
createVirtualWall(data: VirtualWall): SVirtualWallItem {
return new SVirtualWallItem(null, data);
} // Function createVirtualWall()
/**
* 创建空间item
*
* @param data 空间数据
* @return 空间item
* */
createSpace(data: Space): SSpaceItem {
return new SSpaceItem(null, data);
} // Function createSpace()
/**
* 创建门item
*
* @param data 门数据
* @return 门item
* */
createDoor(data: Door): SDoorItem {
return new SDoorItem(null, data);
} // Function createDoor()
/**
* 创建窗item
*
* @param data 窗户数据
* @return 窗户item
* */
createWindow(data: Casement): SWindowItem {
return new SWindowItem(null, data);
} // Function createWindow()
/**
* 创建业务空间item
*
* @param data 业务空间数据
* @return 业务空间item
* */
createZone(data: Zone): SZoneItem {
return new SZoneItem(null, data);
} // Function createZone()
} // Class SItemFactory
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
工厂主要职责
根据传入的item风格,创建相应样式的 item, 并返回