0023024: Update headers of OCCT files
[occt.git] / src / BRepAlgo / BRepAlgo_TopOpe.cdl
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
5 --
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.
10 --
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.
13 --
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.
20
21
22 class TopOpe from BRepAlgo
23
24     ---Purpose: 
25
26 uses
27
28     Wire           from TopoDS,
29     Shape          from TopoDS,
30     ListOfInteger  from TColStd,  
31     SetOfInteger   from TColStd,
32     MapOfInteger   from TColStd,
33     ListOfShape    from TopTools,
34     State          from TopAbs,
35     EdgeConnector  from BRepAlgo,
36     DataMapOfShapeShape from TopTools, 
37     
38     PDSFiller            from BOPTools,  
39     PBuilder             from BOP,
40     HistoryCollector     from BOP 
41     
42 is
43     
44     Create returns TopOpe from BRepAlgo;
45     
46     Init(me: in out);
47     ---Purpose: Clean the internal data structure, including the
48     --          Shapes of Load().
49
50
51 -- Remplissage de la SD
52
53     Load(me : in out; S : Shape from TopoDS);
54     ---Purpose: Load the shape in the DS.
55     --          
56
57     Load(me : in out; S1, S2 : in out Shape from TopoDS);
58     ---Purpose: Load the shapes in the DS without intersecting them.
59
60     Intersect(me : in out);
61     ---Purpose: Intersect two shapes at input and load the DS with 
62     --          their intersection. Clear TopOpeBRepBuild_HBuilder if
63     --          necessary
64
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
68     --          if necessary
69
70     ToCompleteIntersection(me : in out); 
71     
72 -- Construction of Sections
73
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
77     --          S1 and S2.
78     --          return an empty list of Shape if S1 or S2 do not
79     --          contain faces.
80     --          call GetSectionEdgeSet() if it is not done already
81 --    ---C++: return const &
82 --    returns ListOfShape from TopTools;
83
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;
89     
90
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
95     --          standard Wire. 
96               
97
98 -- Reconstruction des Shapes
99
100     Merge(me : in out; state1 : State from TopAbs;
101                        state2 : State from TopAbs)
102     ---C++: return const &
103     returns Shape from TopoDS;
104
105     Merge(me : in out; state1 : State from TopAbs)
106     ---C++: return const &
107     returns Shape from TopoDS;
108
109     PaveBlocksNotEmpty(me : in out)
110     returns Boolean from Standard; 
111     
112 -- Access  to  fields 
113
114     Builder(me)
115     ---C++: return const &
116     returns PBuilder from BOP;
117
118     DSFiller(me)
119     ---C++: return const &
120     returns PDSFiller from BOPTools; 
121      
122     History(me)
123     ---C++: return const &
124     returns HistoryCollector from BOP; 
125      
126
127     Destroy (me: in out); 
128     ---C++: alias "Standard_EXPORT virtual ~BRepAlgo_TopOpe(){Destroy();}" 
129
130 fields 
131
132     myDSFiller    : PDSFiller  from BOPTools;
133     myBuilder     : PBuilder       from BOP; 
134     myHistory     : HistoryCollector from BOP;
135     
136     myEC  : EdgeConnector  from BRepAlgo;
137     myS1  : Shape from TopoDS;
138     myS2  : Shape from TopoDS;
139     myState1,myState2 : State from TopAbs;
140     
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;
146
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;
153
154     myCompoundWireMap : DataMapOfShapeShape from TopTools; 
155     mySetOfKeepPoint  : SetOfInteger  from  TColStd;
156     
157
158 end TopOpe from BRepAlgo;