7fd59977 |
1 | -- File: BRepOffset_Analyse.cdl |
2 | -- Created: Fri Oct 20 16:40:49 1995 |
3 | -- Author: Yves FRICAUD |
4 | -- <yfr@stylox> |
5 | ---Copyright: Matra Datavision 1995 |
6 | |
7 | |
8 | class Analyse from BRepOffset |
9 | |
10 | ---Purpose: Analyse of a shape consit to |
11 | -- Find the part of edges convex concave tangent. |
12 | |
13 | uses |
14 | |
15 | Shape from TopoDS, |
16 | Face from TopoDS, |
17 | Edge from TopoDS, |
18 | Vertex from TopoDS, |
19 | Compound from TopoDS, |
20 | IndexedDataMapOfShapeListOfShape from TopTools, |
21 | ListOfShape from TopTools, |
22 | MapOfShape from TopTools, |
23 | Interval from BRepOffset, |
24 | ListOfInterval from BRepOffset, |
25 | DataMapOfShapeListOfInterval from BRepOffset, |
26 | Type from BRepOffset |
27 | |
28 | is |
29 | Create; |
30 | |
31 | Create (S : Shape from TopoDS ; |
32 | Angle : Real from Standard) |
33 | returns Analyse from BRepOffset; |
34 | |
35 | Perform (me : in out ; |
36 | S : Shape from TopoDS ; |
37 | Angle : Real from Standard) |
38 | is static; |
39 | |
40 | IsDone (me) |
41 | returns Boolean from Standard |
42 | is static; |
43 | |
44 | Clear(me : in out) |
45 | is static; |
46 | |
47 | Type (me; E : Edge from TopoDS) |
48 | ---C++: return const& |
49 | returns ListOfInterval from BRepOffset |
50 | is static; |
51 | |
52 | Edges (me; |
53 | V : Vertex from TopoDS; |
54 | T : Type from BRepOffset; |
55 | L : in out ListOfShape from TopTools) |
56 | ---Purpose: Stores in <L> all the edges of Type <T> |
57 | -- on the vertex <V>. |
58 | is static; |
59 | |
60 | Edges (me; |
61 | F : Face from TopoDS; |
62 | T : Type from BRepOffset; |
63 | L : in out ListOfShape from TopTools) |
64 | ---Purpose: Stores in <L> all the edges of Type <T> |
65 | -- on the face <F>. |
66 | is static; |
67 | |
68 | TangentEdges(me; |
69 | Edge : Edge from TopoDS; |
70 | Vertex : Vertex from TopoDS; |
71 | Edges : in out ListOfShape from TopTools) |
72 | ---Purpose: set in <Edges> all the Edges of <Shape> which are |
73 | -- tangent to <Edge> at the vertex <Vertex>. |
74 | is static; |
75 | |
76 | HasAncestor (me ; S : Shape from TopoDS) |
77 | returns Boolean from Standard |
78 | is static; |
79 | |
80 | Ancestors (me ; S : Shape from TopoDS) |
81 | ---C++: return const & |
82 | returns ListOfShape from TopTools |
83 | is static; |
84 | |
85 | Explode (me; |
86 | L : in out ListOfShape from TopTools; |
87 | Type : in Type from BRepOffset) |
88 | ---Purpose: Explode in compounds of faces where |
89 | -- all the connex edges are of type <Side> |
90 | is static; |
91 | |
92 | Explode (me; |
93 | L : in out ListOfShape from TopTools; |
94 | Type1 : in Type from BRepOffset; |
95 | Type2 : in Type from BRepOffset) |
96 | ---Purpose: Explode in compounds of faces where |
97 | -- all the connex edges are of type <Side1> or <Side2> |
98 | is static; |
99 | |
100 | AddFaces(me; |
101 | Face : Face from TopoDS; |
102 | Co : in out Compound from TopoDS; |
103 | Map : in out MapOfShape from TopTools; |
104 | Type : in Type from BRepOffset) |
105 | ---Purpose: Add in <CO> the faces of the shell containing <Face> |
106 | -- where all the connex edges are of type <Side>. |
107 | is static; |
108 | |
109 | AddFaces(me; |
110 | Face : Face from TopoDS; |
111 | Co : in out Compound from TopoDS; |
112 | Map : in out MapOfShape from TopTools; |
113 | Type1 : in Type from BRepOffset; |
114 | Type2 : in Type from BRepOffset) |
115 | ---Purpose: Add in <CO> the faces of the shell containing <Face> |
116 | -- where all the connex edges are of type <Side1> or <Side2>. |
117 | |
118 | is static; |
119 | |
120 | fields |
121 | |
122 | myDone : Boolean from Standard; |
123 | myShape : Shape from TopoDS; |
124 | mapEdgeType : DataMapOfShapeListOfInterval from BRepOffset; |
125 | ancestors : IndexedDataMapOfShapeListOfShape from TopTools; |
126 | angle : Real from Standard; |
127 | |
128 | end Analyse; |