7fd59977 |
1 | -- File: BOP_FaceBuilder.cdl |
2 | -- Created: Thu Dec 21 17:07:40 1995 |
3 | -- Author: Jean Yves LEBEY |
4 | -- modified by PKV Tue Apr 3 16:57:39 2001 |
5 | -- <jyl@meteox> |
6 | ---Copyright: Matra Datavision 1995 |
7 | |
8 | |
9 | class FaceBuilder from BOP |
10 | |
11 | ---Purpose: |
12 | --- The algorithm to construct Faces from a WireEdgeSet |
13 | --- |
14 | |
15 | uses |
16 | |
17 | Shape from TopoDS, |
18 | Face from TopoDS, |
19 | Wire from TopoDS, |
20 | Edge from TopoDS, |
21 | Vertex from TopoDS, |
7fd59977 |
22 | ListOfShape from TopTools, |
5faddbe4 |
23 | SequenceOfInteger from TColStd, |
24 | Context from IntTools, |
7fd59977 |
25 | WireEdgeSet from BOP, |
7fd59977 |
26 | PWireEdgeSet from BOP |
5faddbe4 |
27 | -- LoopSet from BOP, |
28 | -- BlockIterator from BOP, |
29 | -- BlockBuilder from BOP, |
30 | -- FaceAreaBuilder from BOP, |
31 | |
7fd59977 |
32 | |
33 | is |
34 | |
35 | Create |
36 | returns FaceBuilder; |
37 | ---Purpose: |
38 | --- Empty constructor; |
39 | --- |
40 | Do(me :out; |
41 | aWES : WireEdgeSet from BOP; |
42 | aForceClass : Boolean from Standard =Standard_True); |
43 | ---Purpose: |
44 | --- Launches the algorithm consisting of four steps |
45 | --- 1. Split the WES on wires |
46 | --- 2. Make Loops from wires |
47 | --- 3. Make Areas from Loops |
48 | --- 4. Make Faces from Areas |
49 | --- |
5faddbe4 |
50 | |
7fd59977 |
51 | --- |
5faddbe4 |
52 | -- BuildNewFaces (me :out) |
53 | -- is private; |
7fd59977 |
54 | ---Purpose: |
55 | --- Make Faces from Areas |
5faddbe4 |
56 | --- |
57 | |
58 | --modified by NIZNHY-PKV Wed Feb 29 10:57:40 2012f |
59 | SetContext(me:out; |
60 | aCtx:Context from IntTools); |
61 | ---Purpose: |
62 | -- Sets intersection context <aCtx> |
63 | |
64 | Context(me) |
65 | returns Context from IntTools; |
66 | ---C++: return const & |
67 | ---Purpose: |
68 | -- Returns intersection context |
69 | --modified by NIZNHY-PKV Wed Feb 29 10:57:52 2012t |
70 | |
7fd59977 |
71 | WES (me) |
72 | returns WireEdgeSet from BOP; |
73 | ---C++: return const & |
74 | ---Purpose: |
75 | --- Selector |
76 | --- |
77 | NewFaces (me) |
78 | returns ListOfShape from TopTools; |
79 | ---C++: return const & |
80 | ---Purpose: |
81 | --- Selector |
82 | --- |
83 | SetTreatment (me: out; |
84 | aTreatment: Integer from Standard); |
85 | ---Purpose: |
86 | --- Modifier |
87 | --- 0 -Treat internal edges, |
88 | --- 1 -Do not treat internal edges |
89 | --- |
5faddbe4 |
90 | |
7fd59977 |
91 | SetTreatSDScales (me: out; |
92 | aTreatment: Integer from Standard); |
93 | ---Purpose: |
94 | --- Modifier |
95 | --- 1 -Treat scale configured same domain faces, |
96 | --- 0 -Do not treat them. |
5faddbe4 |
97 | --- |
98 | -- SetManifoldFlag(me: out; |
99 | -- aMFlag: Boolean from Standard); |
100 | ---Purpose: |
101 | --- Modifier |
102 | --- |
103 | -- ManifoldFlag(me) |
104 | -- returns Boolean from Standard; |
7fd59977 |
105 | ---Purpose: |
106 | --- Selector |
107 | --- |
108 | Treatment (me) |
109 | returns Integer from Standard; |
110 | ---Purpose: |
111 | --- Selector |
112 | --- |
113 | TreatSDScales (me) |
114 | returns Integer from Standard; |
115 | ---Purpose: |
116 | --- Selector |
117 | --- |
118 | --- |
119 | --- |
120 | --- Faces' iterator |
121 | --- |
5faddbe4 |
122 | -- InitFace(me:out) |
123 | -- returns Integer from Standard; |
7fd59977 |
124 | |
5faddbe4 |
125 | -- MoreFace(me) |
126 | -- returns Boolean from Standard; |
7fd59977 |
127 | |
5faddbe4 |
128 | -- NextFace(me:out); |
7fd59977 |
129 | ---Purpose: |
130 | --- |
131 | --- |
132 | --- Wires' iterator |
133 | --- |
5faddbe4 |
134 | -- InitWire(me:out) |
135 | -- returns Integer from Standard; |
7fd59977 |
136 | |
5faddbe4 |
137 | -- MoreWire(me) |
138 | -- returns Boolean from Standard; |
7fd59977 |
139 | |
5faddbe4 |
140 | -- NextWire(me:out); |
7fd59977 |
141 | |
5faddbe4 |
142 | -- IsOldWire(me) |
143 | -- returns Boolean from Standard; |
7fd59977 |
144 | |
5faddbe4 |
145 | -- OldWire(me) |
146 | -- returns Shape from TopoDS; |
147 | -- ---C++: return const & |
7fd59977 |
148 | |
5faddbe4 |
149 | -- Wire(me) |
150 | -- returns Wire from TopoDS; |
151 | -- ---C++: return const & |
152 | -- ---Purpose: |
153 | -- --- |
7fd59977 |
154 | |
155 | --- |
156 | --- Edges' iterator |
157 | --- |
5faddbe4 |
158 | -- FindNextValidElement(me:out); |
7fd59977 |
159 | |
5faddbe4 |
160 | -- InitEdge(me:out) |
161 | -- returns Integer from Standard; |
7fd59977 |
162 | |
5faddbe4 |
163 | -- MoreEdge(me) |
164 | -- returns Boolean from Standard; |
7fd59977 |
165 | |
5faddbe4 |
166 | -- NextEdge(me : in out); |
7fd59977 |
167 | |
5faddbe4 |
168 | -- Edge(me) |
169 | -- returns Edge from TopoDS; |
170 | -- ---C++: return const & |
7fd59977 |
171 | ---Purpose: |
5faddbe4 |
172 | --- |
173 | |
174 | -- MakeLoops(me :out; |
175 | -- SS :out WireEdgeSet from BOP) |
176 | -- is protected; |
7fd59977 |
177 | ---Purpose: |
178 | --- Make Loops from wires |
179 | --- |
5faddbe4 |
180 | DoInternalEdges (me :out) |
181 | is protected; |
182 | ---Purpose: |
183 | --- Processes internal edges if they exists |
184 | |
7fd59977 |
185 | SDScales(me :out) |
5faddbe4 |
186 | is protected; |
7fd59977 |
187 | ---Purpose: |
188 | --- Treatment SD faces with a "scale" |
189 | --- |
5faddbe4 |
190 | --modified by NIZNHY-PKV Wed Feb 29 09:12:17 2012f |
191 | PerformAreas(me :out; |
192 | SS :out WireEdgeSet from BOP) |
193 | is protected; |
194 | --modified by NIZNHY-PKV Wed Feb 29 09:12:20 2012t |
195 | |
7fd59977 |
196 | fields |
197 | |
198 | myFace : Face from TopoDS; |
5faddbe4 |
199 | -- myLoopSet : LoopSet from BOP; |
200 | -- myBlockIterator : BlockIterator from BOP; |
201 | -- myBlockBuilder : BlockBuilder from BOP; |
202 | -- myFaceAreaBuilder : FaceAreaBuilder from BOP; |
7fd59977 |
203 | myWES : PWireEdgeSet from BOP; |
204 | myNewFaces : ListOfShape from TopTools; |
7fd59977 |
205 | myTreatment : Integer from Standard; |
5faddbe4 |
206 | -- myManifoldFlag : Boolean from Standard; |
7fd59977 |
207 | myTreatSDScales : Integer from Standard; |
208 | myNegatives : SequenceOfInteger from TColStd; |
5faddbe4 |
209 | myContext : Context from IntTools; |
7fd59977 |
210 | end FaceBuilder; |