b311480e |
1 | -- Created on: 1995-10-20 |
2 | -- Created by: Yves FRICAUD |
3 | -- Copyright (c) 1995-1999 Matra Datavision |
973c2be1 |
4 | -- Copyright (c) 1999-2014 OPEN CASCADE SAS |
b311480e |
5 | -- |
973c2be1 |
6 | -- This file is part of Open CASCADE Technology software library. |
b311480e |
7 | -- |
d5f74e42 |
8 | -- This library is free software; you can redistribute it and/or modify it under |
9 | -- the terms of the GNU Lesser General Public License version 2.1 as published |
973c2be1 |
10 | -- by the Free Software Foundation, with special exception defined in the file |
11 | -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT |
12 | -- distribution for complete text of the license and disclaimer of any warranty. |
b311480e |
13 | -- |
973c2be1 |
14 | -- Alternatively, this file may be used under the terms of Open CASCADE |
15 | -- commercial license or contractual agreement. |
7fd59977 |
16 | |
17 | class Analyse from BRepOffset |
18 | |
19 | ---Purpose: Analyse of a shape consit to |
20 | -- Find the part of edges convex concave tangent. |
21 | |
22 | uses |
23 | |
24 | Shape from TopoDS, |
25 | Face from TopoDS, |
26 | Edge from TopoDS, |
27 | Vertex from TopoDS, |
28 | Compound from TopoDS, |
29 | IndexedDataMapOfShapeListOfShape from TopTools, |
30 | ListOfShape from TopTools, |
31 | MapOfShape from TopTools, |
32 | Interval from BRepOffset, |
33 | ListOfInterval from BRepOffset, |
34 | DataMapOfShapeListOfInterval from BRepOffset, |
35 | Type from BRepOffset |
36 | |
37 | is |
38 | Create; |
39 | |
40 | Create (S : Shape from TopoDS ; |
41 | Angle : Real from Standard) |
42 | returns Analyse from BRepOffset; |
43 | |
44 | Perform (me : in out ; |
45 | S : Shape from TopoDS ; |
46 | Angle : Real from Standard) |
47 | is static; |
48 | |
49 | IsDone (me) |
50 | returns Boolean from Standard |
51 | is static; |
52 | |
53 | Clear(me : in out) |
54 | is static; |
55 | |
56 | Type (me; E : Edge from TopoDS) |
57 | ---C++: return const& |
58 | returns ListOfInterval from BRepOffset |
59 | is static; |
60 | |
61 | Edges (me; |
62 | V : Vertex from TopoDS; |
63 | T : Type from BRepOffset; |
64 | L : in out ListOfShape from TopTools) |
65 | ---Purpose: Stores in <L> all the edges of Type <T> |
66 | -- on the vertex <V>. |
67 | is static; |
68 | |
69 | Edges (me; |
70 | F : Face from TopoDS; |
71 | T : Type from BRepOffset; |
72 | L : in out ListOfShape from TopTools) |
73 | ---Purpose: Stores in <L> all the edges of Type <T> |
74 | -- on the face <F>. |
75 | is static; |
76 | |
77 | TangentEdges(me; |
78 | Edge : Edge from TopoDS; |
79 | Vertex : Vertex from TopoDS; |
80 | Edges : in out ListOfShape from TopTools) |
81 | ---Purpose: set in <Edges> all the Edges of <Shape> which are |
82 | -- tangent to <Edge> at the vertex <Vertex>. |
83 | is static; |
84 | |
85 | HasAncestor (me ; S : Shape from TopoDS) |
86 | returns Boolean from Standard |
87 | is static; |
88 | |
89 | Ancestors (me ; S : Shape from TopoDS) |
90 | ---C++: return const & |
91 | returns ListOfShape from TopTools |
92 | is static; |
93 | |
94 | Explode (me; |
95 | L : in out ListOfShape from TopTools; |
96 | Type : in Type from BRepOffset) |
97 | ---Purpose: Explode in compounds of faces where |
98 | -- all the connex edges are of type <Side> |
99 | is static; |
100 | |
101 | Explode (me; |
102 | L : in out ListOfShape from TopTools; |
103 | Type1 : in Type from BRepOffset; |
104 | Type2 : in Type from BRepOffset) |
105 | ---Purpose: Explode in compounds of faces where |
106 | -- all the connex edges are of type <Side1> or <Side2> |
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 | Type : in Type from BRepOffset) |
114 | ---Purpose: Add in <CO> the faces of the shell containing <Face> |
115 | -- where all the connex edges are of type <Side>. |
116 | is static; |
117 | |
118 | AddFaces(me; |
119 | Face : Face from TopoDS; |
120 | Co : in out Compound from TopoDS; |
121 | Map : in out MapOfShape from TopTools; |
122 | Type1 : in Type from BRepOffset; |
123 | Type2 : in Type from BRepOffset) |
124 | ---Purpose: Add in <CO> the faces of the shell containing <Face> |
125 | -- where all the connex edges are of type <Side1> or <Side2>. |
126 | |
127 | is static; |
128 | |
129 | fields |
130 | |
131 | myDone : Boolean from Standard; |
132 | myShape : Shape from TopoDS; |
133 | mapEdgeType : DataMapOfShapeListOfInterval from BRepOffset; |
134 | ancestors : IndexedDataMapOfShapeListOfShape from TopTools; |
135 | angle : Real from Standard; |
136 | |
137 | end Analyse; |