Integration of OCCT 6.5.0 from SVN
[occt.git] / src / TopOpeBRepBuild / TopOpeBRepBuild_WireEdgeSet.cdl
1 -- File:        TopOpeBRepBuild_WireEdgeSet.cdl
2 -- Created:     Wed Jun 16 11:52:45 1993
3 -- Author:      Jean Yves LEBEY
4 --              <jyl@zerox>
5 ---Copyright:    Matra Datavision 1993
6
7 class WireEdgeSet from TopOpeBRepBuild inherits ShapeSet from TopOpeBRepBuild
8
9 ---Purpose: a bound is a wire, a boundelement is an edge.
10 -- The ShapeSet stores :
11 --  - a list of wire (bounds),
12 --  - a list of edge (boundelements) to start reconstructions,
13 --  - a map of vertex giving the list of edge incident to a vertex.
14
15 uses
16
17     Orientation from TopAbs,
18     Shape from TopoDS,
19     Face from TopoDS,
20     Edge from TopoDS,
21     ListOfShape from TopTools,
22     Pnt2d from gp,
23     Vec2d from gp,
24     AsciiString from TCollection    
25     
26 is
27
28     Create(F:Shape;Addr:Address from Standard = NULL) 
29     returns WireEdgeSet from TopOpeBRepBuild;
30     ---Purpose: Creates a WireEdgeSet to build edges connected by vertices
31     -- on face F. Edges of the WireEdgeSet must have a representation
32     -- on surface of face F.
33
34     Face(me) returns Face;
35     ---Purpose: value of field myFace
36     ---C++: return const &
37
38     AddShape(me:in out;S:Shape) is redefined;
39     AddStartElement(me:in out;S:Shape) is redefined;
40     AddElement(me:in out;S:Shape) is redefined;
41
42     InitNeighbours(me:in out;E:Shape) is redefined;
43     FindNeighbours(me:in out) is redefined;
44     ---Purpose:
45     -- Build the list of neighbour edges of edge myCurrentShape
46     -- Initialize iterator of neighbour edges to edge myCurrentShape
47     MakeNeighboursList(me: in out;E,V:Shape) returns ListOfShape from TopTools is redefined;
48     ---C++: return const &
49     HasConnexStartElement(me) returns Boolean; -- desactivated
50
51     -- private
52     VertexConnectsEdges(me;V,E1,E2:Shape;O1,O2:out Orientation from TopAbs)
53     returns Boolean is private;
54     ---Purpose: 
55     -- Indicates whether vertex V is a good connexity vertex between
56     -- edges E1 and E2.
57     -- i.e, returns True if V is shared by E1 and E2 and if V has different 
58     -- orientations on E1 and E2.
59     -- If V is shared by E1 and E2, returns the orientation of V on E1 and E2
60
61     VertexConnectsEdgesClosing(me;V,E1,E2:Shape) returns Boolean is private;
62     NbClosingShapes(me;L:ListOfShape from TopTools) returns Integer is private;
63     LocalD1(me;F,E,V:Shape;p2:out Pnt2d from gp;v2:out Vec2d from gp) is private;
64     IsClosed(me;E:Shape) returns Boolean is private;
65     ---Purpose: indicates if the edge <E> is a closing edge of myFace
66     IsUClosed(me;E:Shape) returns Boolean is private;
67     ---Purpose: indicates if the edge <E> is a closing edge on U of myFace
68     IsVClosed(me;E:Shape) returns Boolean is private;
69     ---Purpose: indicates if the edge <E> is a closing edge on V of myFace
70     IsUVISO(myclass;E:Edge;F:Face;uiso,viso:out Boolean);
71
72     -- debug
73     SNameVEE(me;V,E1,E2:Shape) returns AsciiString from TCollection is private;
74     SNameVEL(me;V,E:Shape;L:ListOfShape) returns AsciiString from TCollection is private;
75
76     DumpSS(me:in out) is redefined;
77     SName(me;S:Shape from TopoDS;sb:AsciiString = "";sa:AsciiString = "")
78     returns AsciiString from TCollection is redefined;
79     SName(me;S:ListOfShape from TopTools;sb:AsciiString = "";sa:AsciiString = "")
80     returns AsciiString from TCollection is redefined;
81     SNameori(me;S:Shape;sb:AsciiString = "";sa:AsciiString = "")
82     returns AsciiString from TCollection is redefined;
83     SNameori(me;S:ListOfShape from TopTools;sb:AsciiString = "";sa:AsciiString = "")
84     returns AsciiString from TCollection is redefined;
85     
86 fields
87
88     myFace:Face from TopoDS;
89     myDEBVertexIndex:Integer;
90     
91 end WireEdgeSet from TopOpeBRepBuild;