1 -- Created on: 1997-08-13
2 -- Created by: Prestataire Mary FABIEN
3 -- Copyright (c) 1997-1999 Matra Datavision
4 -- Copyright (c) 1999-2012 OPEN CASCADE SAS
6 -- The content of this file is subject to the Open CASCADE Technology Public
7 -- License Version 6.5 (the "License"). You may not use the content of this file
8 -- except in compliance with the License. Please obtain a copy of the License
9 -- at http://www.opencascade.org and read it completely before using this file.
11 -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12 -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
14 -- The Original Code and all software distributed under the License is
15 -- distributed on an "AS IS" basis, without warranty of any kind, and the
16 -- Initial Developer hereby disclaims all such warranties, including without
17 -- limitation, any warranties of merchantability, fitness for a particular
18 -- purpose or non-infringement. Please see the License for the specific terms
19 -- and conditions governing the rights and limitations under the License.
22 class TopOpe from BRepAlgo
30 ListOfInteger from TColStd,
31 SetOfInteger from TColStd,
32 MapOfInteger from TColStd,
33 ListOfShape from TopTools,
35 EdgeConnector from BRepAlgo,
36 DataMapOfShapeShape from TopTools,
38 PDSFiller from BOPTools,
40 HistoryCollector from BOP
44 Create returns TopOpe from BRepAlgo;
47 ---Purpose: Clean the internal data structure, including the
51 -- Remplissage de la SD
53 Load(me : in out; S : Shape from TopoDS);
54 ---Purpose: Load the shape in the DS.
57 Load(me : in out; S1, S2 : in out Shape from TopoDS);
58 ---Purpose: Load the shapes in the DS without intersecting them.
60 Intersect(me : in out);
61 ---Purpose: Intersect two shapes at input and load the DS with
62 -- their intersection. Clear TopOpeBRepBuild_HBuilder if
65 Intersect(me : in out; S1, S2 : Shape from TopoDS);
66 ---Purpose: Intersect faces contained in two given shapes
67 -- load the DS with them. Clear TopOpeBRepBuild_HBuilder
70 ToCompleteIntersection(me : in out);
72 -- Construction of Sections
74 -- GetSectionEdgeSet(me : in out; S1,S2 : Shape from TopoDS)
75 -- ---Purpose: return the compounds of Edge connected with section
76 -- that contain the sections between faces contained in
78 -- return an empty list of Shape if S1 or S2 do not
80 -- call GetSectionEdgeSet() if it is not done already
81 -- ---C++: return const &
82 -- returns ListOfShape from TopTools;
84 GetSectionEdgeSet(me : in out)
85 ---Purpose: return all compounds of connected edges
86 -- of section contained in the DS
87 ---C++: return const &
88 returns ListOfShape from TopTools;
91 SuppressEdgeSet(me : in out);
92 ---Purpose: Invalidate a line of complete section.
93 -- A group of Edges connected by Vertexes. Can be a Wire.
94 -- Can be a group of connected Edges that do not form a
98 -- Reconstruction des Shapes
100 Merge(me : in out; state1 : State from TopAbs;
101 state2 : State from TopAbs)
102 ---C++: return const &
103 returns Shape from TopoDS;
105 Merge(me : in out; state1 : State from TopAbs)
106 ---C++: return const &
107 returns Shape from TopoDS;
109 PaveBlocksNotEmpty(me : in out)
110 returns Boolean from Standard;
115 ---C++: return const &
116 returns PBuilder from BOP;
119 ---C++: return const &
120 returns PDSFiller from BOPTools;
123 ---C++: return const &
124 returns HistoryCollector from BOP;
127 Destroy (me: in out);
128 ---C++: alias "Standard_EXPORT virtual ~BRepAlgo_TopOpe(){Destroy();}"
132 myDSFiller : PDSFiller from BOPTools;
133 myBuilder : PBuilder from BOP;
134 myHistory : HistoryCollector from BOP;
136 myEC : EdgeConnector from BRepAlgo;
137 myS1 : Shape from TopoDS;
138 myS2 : Shape from TopoDS;
139 myState1,myState2 : State from TopAbs;
141 myListOfCompoundOfEdgeConnected : ListOfShape from TopTools;
142 myCurrentList : ListOfShape from TopTools;
143 myRecomputeBuilderIsDone : Boolean from Standard;
144 myGetSectionIsDone : Boolean from Standard;
145 myResultShape : Shape from TopoDS;
147 myWire : Wire from TopoDS;
148 myListOfVertex : ListOfShape from TopTools;
149 myModified : ListOfShape from TopTools;
150 myEmptyShape : Shape from TopoDS;
151 myEmptyListOfShape : ListOfShape from TopTools;
152 myEmptyListOfInteger : ListOfInteger from TColStd;
154 myCompoundWireMap : DataMapOfShapeShape from TopTools;
155 mySetOfKeepPoint : SetOfInteger from TColStd;
158 end TopOpe from BRepAlgo;