0023004: Boolean operation cut produces incorrect result.
[occt.git] / src / BOP / BOP_FaceBuilder.cdl
CommitLineData
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
9class FaceBuilder from BOP
10
11 ---Purpose:
12 --- The algorithm to construct Faces from a WireEdgeSet
13 ---
14
15uses
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
33is
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 196fields
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 210end FaceBuilder;