0023024: Update headers of OCCT files
[occt.git] / src / BOP / BOP_WireEdgeSet.cdl
1 -- Created on: 1993-06-16
2 -- Created by: Jean Yves LEBEY
3 -- Copyright (c) 1993-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 WireEdgeSet from BOP inherits ShapeSet from BOP
23
24     ---Purpose: The class containing data and methods  
25     --          for a set of edges and wires
26     --
27     -- Bound is a wire,  
28     -- Boundelement is an edge.
29     --
30     -- The ShapeSet stores :
31     --  - a list of wire (bounds),
32     --  - a list of edge (boundelements) to start reconstructions,
33     --  - a map of vertex giving the list of edge incident to a vertex.
34
35 uses
36
37     Orientation from TopAbs, 
38     
39     Shape  from TopoDS,
40     Face   from TopoDS,
41     Edge   from TopoDS,
42     Vertex from TopoDS,
43     
44     ListOfShape from TopTools, 
45     
46     Pnt2d from gp,
47     Vec2d from gp
48    
49     
50 is
51     Create   
52         returns WireEdgeSet from BOP; 
53         ---Purpose:  
54         --- Empty constructor; 
55         ---
56     Create  (F:  Face from TopoDS) 
57         returns WireEdgeSet from BOP;
58         ---Purpose:  
59         --- Creates a WES to build edges connected by vertices
60         --- on face F. Edges of the WireEdgeSet must have a representation
61         --- on surface of face F.
62         ---
63     Initialize(me:out; 
64             F:  Face from TopoDS);   
65         ---Purpose:  
66         --- Initialize a WES to build edges connected by vertices
67         --- on face F. Edges of the WireEdgeSet must have a representation
68         --- on surface of face F. 
69         ---
70     Face(me)  
71         returns Face from TopoDS;
72         ---C++: return const & 
73         ---Purpose:   
74         --- Selector 
75         ---
76     AddShape(me:out; 
77             S:Shape from TopoDS)  
78         is redefined;
79         ---Purpose:    
80         --- See  in  base  class,  please  
81         ---
82     AddStartElement(me:out; 
83             S:Shape from TopoDS)  
84         is redefined;
85         ---Purpose:    
86         --- See  in  base  class,  please  
87         ---
88     AddElement(me:out; 
89             S:Shape from TopoDS)  
90         is redefined;
91         ---Purpose:    
92         --- See  in  base  class,  please  
93         ---
94     InitNeighbours(me:out; 
95             E:Shape from TopoDS)  
96         is redefined; 
97         ---Purpose:  
98         --- Internal  usage 
99         ---
100     FindNeighbours(me:out)  
101         is redefined;
102         ---Purpose:
103         --- Build the list of neighbour edges of edge myCurrentShape
104         --- Initialize iterator of neighbour edges to edge myCurrentShape
105         ---
106     MakeNeighboursList(me:out; 
107                        E,V:Shape from TopoDS)  
108         returns ListOfShape from TopTools  
109         is redefined;
110         ---C++: return const &
111    
112     VertexConnectsEdges(me; 
113             V,E1,E2:Shape from TopoDS; 
114             O1,O2:out Orientation from TopAbs)
115         returns Boolean from Standard 
116         is private;
117         ---Purpose: 
118         --- Indicates whether vertex V is a good connexity vertex between
119         --- edges E1 and E2.
120         --- i.e, returns True if V is shared by E1 and E2 and if V has different 
121         --- orientations on E1 and E2.
122         --- If V is shared by E1 and E2, returns the orientation of V on E1 and E2
123         ---
124
125     VertexConnectsEdgesClosing(me; 
126             V,E1,E2:Shape from TopoDS)  
127         returns Boolean from Standard 
128         is private;
129         ---Purpose:  
130         --- Internal  usage 
131         ---
132     NbClosingShapes(me; 
133             L:ListOfShape from TopTools)  
134         returns Integer from Standard  
135         is private;
136         ---Purpose:  
137         --- Internal  usage 
138         ---
139     LocalD1(me; 
140             F :  Face from  TopoDS; 
141             E :  Edge from  TopoDS;  
142             V :  Vertex from TopoDS; 
143             P2:  out Pnt2d from gp; 
144             V2:  out Vec2d from gp)  
145         is private;
146         ---Purpose:  
147         --- Internal  usage 
148         ---
149     IsClosed(me; 
150             E:Shape from TopoDS) 
151          returns Boolean from Standard 
152          is private;
153         ---Purpose:  
154         --- indicates if the edge <E> is a closing edge of myFace
155         --- Internal  usage 
156         ---
157     IsUClosed(me; 
158             E:Shape from TopoDS)  
159         returns Boolean from Standard  
160         is private;
161         ---Purpose:  
162         --- indicates if the edge <E> is a closing edge on U of myFace
163         --- Internal  usage 
164         ---
165     IsVClosed(me; 
166             E:Shape from TopoDS)  
167         returns Boolean from Standard  
168         is private;
169         ---Purpose:  
170         --- indicates if the edge <E> is a closing edge on V of myFace
171         --- Internal  usage 
172         ---
173     IsUVISO(myclass; 
174             E:Edge from TopoDS; 
175             F:Face from TopoDS; 
176             uiso,viso:out Boolean from Standard);
177         ---Purpose:  
178         --- Internal  usage 
179         ---
180
181     RemoveEdgeFromWES  (me:out; 
182             aE : Edge from TopoDS);
183         ---Purpose:  
184         --- Removes the edge aE from the WES      
185         ---
186     KeptTwice(me; 
187             aE : Edge from  TopoDS) 
188         returns Boolean from Standard;   
189         ---Purpose:  
190         --- Returns TRUE if the edge aE has been kept twice 
191         --- in  the WES      
192         ---
193     
194 fields
195
196     myFace:Face from TopoDS;
197     myDEBVertexIndex:Integer from Standard;
198     
199 end WireEdgeSet from BOP;