7fd59977 |
1 | -- File: ShapeFix_EdgeConnect.cdl |
2 | -- Created: Tue May 11 11:27:03 1999 |
3 | -- Author: Sergei ZERTCHANINOV |
4 | -- <szv@nnov> |
5 | ---Copyright: Matra Datavision 1999 |
6 | |
7 | |
8 | class EdgeConnect from ShapeFix |
9 | |
10 | ---Purpose : Makes vertices to be shared to connect edges, |
11 | -- updates positions and tolerances for shared vertices. |
12 | -- Accepts edges bounded by two vertices each. |
13 | |
14 | uses |
15 | DataMapOfShapeShape from TopTools, |
16 | DataMapOfShapeListOfShape from TopTools, |
17 | Edge from TopoDS, Shape from TopoDS |
18 | |
19 | is |
20 | |
21 | Create returns EdgeConnect from ShapeFix; |
22 | |
23 | Add (me : in out; aFirst : Edge from TopoDS; aSecond : Edge from TopoDS); |
24 | ---Purpose : Adds information on connectivity between start vertex |
25 | -- of second edge and end vertex of first edge, |
26 | -- taking edges orientation into account |
27 | |
28 | Add (me : in out; aShape : Shape from TopoDS); |
29 | ---Purpose : Adds connectivity information for the whole shape. |
30 | -- Note: edges in wires must be well ordered |
31 | -- Note: flag Closed should be set for closed wires |
32 | |
33 | Build (me : in out); |
34 | ---Purpose : Builds shared vertices, updates their positions and tolerances |
35 | |
36 | Clear (me : in out); |
37 | ---Purpose : Clears internal data structure |
38 | |
39 | fields |
40 | |
41 | myVertices : DataMapOfShapeShape from TopTools; -- Map of pairs (vertex, shared) |
42 | myLists : DataMapOfShapeListOfShape from TopTools; -- Map of pairs (shared, list of vertices/edges) |
43 | |
44 | end EdgeConnect; |