Integration of OCCT 6.5.0 from SVN
[occt.git] / src / TopOpeBRepBuild / TopOpeBRepBuild_FaceBuilder.cdl
CommitLineData
7fd59977 1-- File: TopOpeBRepBuild_FaceBuilder.cdl
2-- Created: Thu Dec 21 17:07:40 1995
3-- Author: Jean Yves LEBEY
4-- <jyl@meteox>
5---Copyright: Matra Datavision 1995
6
7class FaceBuilder from TopOpeBRepBuild
8
9uses
10
11 Shape from TopoDS,
12 Face from TopoDS,
13 ListOfShape from TopTools,
14 IndexedMapOfShape from TopTools,
15 IndexedDataMapOfShapeShape from TopTools,
16 ShapeSet from TopOpeBRepBuild,
17 LoopSet from TopOpeBRepBuild,
18 BlockIterator from TopOpeBRepBuild,
19 BlockBuilder from TopOpeBRepBuild,
20 WireEdgeSet from TopOpeBRepBuild,
21 FaceAreaBuilder from TopOpeBRepBuild,
22 DataMapOfShapeInteger from TopTools
23
24is
25
26 Create returns FaceBuilder;
27
28 Create(ES : in out WireEdgeSet; F : Shape from TopoDS;
29 ForceClass : Boolean = Standard_False) returns FaceBuilder;
30 ---Purpose: Create a FaceBuilder to build the faces on
31 -- the shapes (wires, blocks of edge) described by <LS>.
32
33 InitFaceBuilder(me : in out;
34 ES : in out WireEdgeSet; F : Shape from TopoDS;
35 ForceClass : Boolean);
36
37 DetectUnclosedWire(me : in out;
38 mapVVsameG : out IndexedDataMapOfShapeShape from TopTools;
39 mapVon1Edge : out IndexedDataMapOfShapeShape from TopTools);
40 ---Purpose: Removes are non 3d-closed wires.
41 -- Fills up maps <mapVVsameG> and <mapVon1Edge>, in order to
42 -- correct 3d-closed but unclosed (topologic connexity) wires.
43 -- modifies myBlockBuilder
44
45 CorrectGclosedWire(me : in out;
46 mapVVref : IndexedDataMapOfShapeShape from TopTools;
47 mapVon1Edge : IndexedDataMapOfShapeShape from TopTools);
48 ---Purpose: Using the given maps, change the topology of the 3d-closed
49 -- wires, in order to get closed wires.
50
51 DetectPseudoInternalEdge(me : in out;
52 mapE : out IndexedMapOfShape from TopTools);
53 ---Purpose: Removes edges appearing twice (FORWARD,REVERSED) with a bounding
54 -- vertex not connected to any other edge.
55 -- mapE contains edges found.
56 -- modifies myBlockBuilder.
57
58 Face(me) returns Shape from TopoDS;
59 ---C++: return const &
60 ---Purpose: return myFace
61
62 -- Output methods
63 InitFace(me : in out) returns Integer from Standard;
64 MoreFace(me) returns Boolean from Standard;
65 NextFace(me : in out);
66
67 -- Exploration of the wires of the current face
68 InitWire(me : in out) returns Integer from Standard;
69 MoreWire(me) returns Boolean from Standard;
70 NextWire(me : in out);
71 IsOldWire(me) returns Boolean from Standard;
72 OldWire(me) returns Shape from TopoDS;
73 ---Purpose: Returns current wire
74 -- This wire may be :
75 -- * an old wire OldWire(), which has not been reconstructed;
76 -- * a new wire made of edges described by ...NewEdge() methods.
77 ---C++: return const &
78
79 -- Exploration of the edges of current wire when IsOldWire = False
80 FindNextValidElement(me : in out);
81 ---Purpose: Iterates on myBlockIterator until finding a valid element
82 InitEdge(me : in out) returns Integer from Standard;
83 MoreEdge(me) returns Boolean from Standard;
84 NextEdge(me : in out);
85 Edge(me) returns Shape from TopoDS;
86 ---Purpose: Returns current new edge of current new wire.
87 ---C++: return const &
88
89 EdgeConnexity(me;E:Shape) returns Integer;
90 AddEdgeWire(me;E:Shape;W:in out Shape)
91 returns Integer;
92
93 --- private
94 MakeLoops(me : in out; SS : in out ShapeSet from TopOpeBRepBuild)
95 is private;
96
97fields
98
99 myFace : Face from TopoDS;
100 myLoopSet : LoopSet from TopOpeBRepBuild;
101 myBlockIterator : BlockIterator from TopOpeBRepBuild;
102 myBlockBuilder : BlockBuilder from TopOpeBRepBuild;
103 myFaceAreaBuilder : FaceAreaBuilder from TopOpeBRepBuild;
104 myMOSI : DataMapOfShapeInteger from TopTools;
105
106end FaceBuilder;