0025243: BRepFeat_SplitShape algorithm processes incorrect faces with degenerated...
[occt.git] / src / LocOpe / LocOpe_WiresOnShape.cdl
1 -- Created on: 1996-01-11
2 -- Created by: Jacques GOUSSARD
3 -- Copyright (c) 1996-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
5 --
6 -- This file is part of Open CASCADE Technology software library.
7 --
8 -- This library is free software; you can redistribute it and/or modify it under
9 -- the terms of the GNU Lesser General Public License version 2.1 as published
10 -- by the Free Software Foundation, with special exception defined in the file
11 -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 -- distribution for complete text of the license and disclaimer of any warranty.
13 --
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
16
17 class WiresOnShape from LocOpe inherits TShared from MMgt
18
19         ---Purpose: 
20
21 uses Shape               from TopoDS,
22      Face                from TopoDS,
23      Wire                from TopoDS,
24      Compound            from TopoDS,
25      Edge                from TopoDS,
26      Vertex              from TopoDS,
27      DataMapOfShapeShape from TopTools,
28 --     DataMapIteratorOfDataMapOfShapeShape from TopTools
29      IndexedDataMapOfShapeShape from TopTools,
30      MapOfShape          from TopTools
31
32
33 is
34
35     Create(S: Shape from TopoDS)
36
37         returns WiresOnShape from LocOpe;
38
39
40     Init(me: mutable; S: Shape from TopoDS)
41     
42         is static;
43
44     SetCheckInterior(me: mutable; ToCheckInterior: Boolean from Standard)
45         ---Purpose: Set the flag of check internal intersections
46         --          default value is True (to check)
47         ---C++: inline      
48         is static;
49
50     Bind(me: mutable; W: Wire from TopoDS;
51                       F: Face from TopoDS)
52                      
53         is static;
54
55     Bind(me: mutable; Comp: Compound from TopoDS;
56                       F:    Face from TopoDS)
57                      
58         is static;
59
60     Bind(me: mutable; E: Edge from TopoDS;
61                       F: Face from TopoDS)
62                       
63         is static;
64
65
66     Bind(me: mutable; EfromW: Edge from TopoDS;
67                       EonFace: Edge from TopoDS)
68                       
69         is static;
70
71
72     BindAll(me: mutable)
73     
74         is static;
75
76
77     IsDone(me)
78     
79         returns Boolean from Standard
80         ---C++: inline
81         is static;
82
83
84     InitEdgeIterator(me: mutable)
85     
86         ;
87
88
89     MoreEdge(me: mutable)
90         returns Boolean from Standard
91         ;
92
93
94     Edge(me: mutable)
95         returns Edge from TopoDS
96         ;
97
98
99     OnFace(me: mutable)
100         ---Purpose: Returns the face of the shape on which the current
101         --          edge is projected.
102         returns Face from TopoDS
103         ;
104
105     
106     OnEdge(me: mutable; E: out Edge from TopoDS)
107         ---Purpose: If the   current  edge is  projected  on  an edge,
108         --          returns <Standard_True> and sets the value of <E>.
109         --          Otherwise, returns <Standard_False>.
110         returns Boolean from Standard
111         ;
112
113
114     NextEdge(me: mutable)
115     
116         ;
117
118
119     OnVertex(me: mutable; Vwire :     Vertex from TopoDS;
120                           Vshape: out Vertex from TopoDS)
121                           
122         returns Boolean from Standard
123         ;
124
125
126     OnEdge(me: mutable; V: Vertex from TopoDS;
127                         E: out Edge from TopoDS;
128                         P: out Real from Standard)
129         ---Purpose: If the vertex <V> lies on  an edge of the original
130         --          shape,  returns     <Standard_True> and   sets the
131         --          concerned edge in  <E>,  and the parameter on  the
132         --          edge in <P>.
133         --          Else returns <Standard_False>.
134         returns Boolean from Standard
135         ;
136         
137     OnEdge(me: mutable; V: Vertex from TopoDS;
138                         EdgeFrom: Edge from TopoDS;
139                         E: out Edge from TopoDS;
140                         P: out Real from Standard)
141         ---Purpose: If the vertex <V> lies on  an edge of the original
142         --          shape,  returns     <Standard_True> and   sets the
143         --          concerned edge in  <E>,  and the parameter on  the
144         --          edge in <P>.
145         --          Else returns <Standard_False>.
146         returns Boolean from Standard
147         ;
148         
149     IsFaceWithSection(me; aFace : Shape from TopoDS)
150         ---Purpose: tells is the face to be split by section or not
151         ---C++: inline
152         returns Boolean from Standard
153         ;
154
155
156 fields
157
158     myShape : Shape                      from TopoDS;
159     myMapEF : IndexedDataMapOfShapeShape from TopTools;
160     myFacesWithSection : MapOfShape      from TopTools;
161     myCheckInterior : Boolean            from Standard;
162     myMap   : DataMapOfShapeShape        from TopTools;
163     myDone  : Boolean                    from Standard;
164     myIndex : Integer                    from Standard;
165
166 end WiresOnShape;