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