Commit | Line | Data |
---|---|---|
b311480e | 1 | -- Created on: 1995-10-26 |
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 | -- Modified by skv - Tue Mar 15 16:17:37 2005 | |
18 | -- Add methods for supporting history. | |
19 | ||
20 | class MakeOffset from BRepOffset | |
21 | ||
22 | ---Purpose: | |
23 | ||
24 | uses | |
25 | Image from BRepAlgo, | |
26 | AsDes from BRepAlgo, | |
27 | Analyse from BRepOffset, | |
28 | Mode from BRepOffset, | |
29 | DataMapOfShapeOffset from BRepOffset, | |
30 | Error from BRepOffset, | |
31 | Inter3d from BRepOffset, | |
32 | DataMapOfShapeReal from TopTools, | |
33 | Shape from TopoDS, | |
34 | JoinType from GeomAbs, | |
35 | Face from TopoDS, | |
36 | Edge from TopoDS, | |
37 | MapOfShape from TopTools, | |
975ec82a | 38 | IndexedMapOfShape from TopTools, |
7fd59977 | 39 | ListOfShape from TopTools, |
40 | MakeLoops from BRepOffset | |
41 | ||
42 | is | |
43 | ||
44 | Create; | |
45 | ||
46 | Create ( S : Shape from TopoDS; | |
47 | Offset : Real from Standard; | |
48 | Tol : Real from Standard; | |
49 | Mode : Mode from BRepOffset = BRepOffset_Skin; | |
50 | Intersection : Boolean from Standard = Standard_False; | |
51 | SelfInter : Boolean from Standard = Standard_False; | |
52 | Join : JoinType from GeomAbs = GeomAbs_Arc; | |
53 | Thickening : Boolean from Standard = Standard_False) | |
54 | returns MakeOffset from BRepOffset; | |
55 | ||
56 | ---Category: Initialization. | |
57 | ||
58 | Initialize (me : in out; | |
59 | S : Shape from TopoDS; | |
60 | Offset : Real from Standard; | |
61 | Tol : Real from Standard; | |
62 | Mode : Mode from BRepOffset = BRepOffset_Skin; | |
63 | Intersection : Boolean from Standard = Standard_False; | |
64 | SelfInter : Boolean from Standard = Standard_False; | |
65 | Join : JoinType from GeomAbs = GeomAbs_Arc; | |
66 | Thickening : Boolean from Standard = Standard_False) | |
67 | is static; | |
68 | ||
69 | Clear (me : in out) | |
70 | is static; | |
71 | ||
72 | AddFace (me : in out; F : Face from TopoDS) is static; | |
73 | ---Purpose: Add Closing Faces, <F> has to be in the initial | |
74 | -- shape S. | |
75 | ||
76 | SetOffsetOnFace (me : in out; | |
77 | F : Face from TopoDS; | |
78 | Off : Real from Standard) is static; | |
79 | ---Purpose: set the offset <Off> on the Face <F> | |
80 | ||
81 | ||
82 | ---Category: Computation. | |
83 | ||
84 | MakeOffsetShape (me : in out) is static; | |
85 | ||
86 | MakeThickSolid (me : in out) is static; | |
87 | ||
88 | ---Category: Querying. | |
89 | ||
90 | GetAnalyse(me) | |
91 | ---C++: return const & | |
92 | returns Analyse from BRepOffset | |
93 | is static; | |
94 | ||
95 | IsDone (me) returns Boolean from Standard | |
96 | is static; | |
97 | ||
98 | Shape (me) | |
99 | ---C++: return const & | |
100 | returns Shape from TopoDS | |
101 | is static; | |
102 | ||
103 | Error (me) returns Error from BRepOffset; | |
104 | ---Purpose: returns information if IsDone() = FALSE. | |
105 | ||
106 | ||
107 | OffsetFacesFromShapes (me) | |
108 | ---Purpose: Returns <Image> containing links between initials | |
109 | -- shapes and offset faces. | |
110 | ---C++: return const & | |
111 | returns Image from BRepAlgo | |
112 | is static; | |
113 | ||
114 | -- Modified by skv - Tue Mar 15 16:17:37 2005 Begin | |
115 | -- Query offset join type. | |
116 | ||
117 | GetJoinType(me) | |
118 | ---Purpose: Returns myJoin. | |
119 | returns JoinType from GeomAbs | |
120 | is static; | |
121 | ||
122 | -- Add methods for supporting history. | |
123 | ||
124 | OffsetEdgesFromShapes (me) | |
125 | ---Purpose: Returns <Image> containing links between initials | |
126 | -- shapes and offset edges. | |
127 | ---C++: return const & | |
128 | returns Image from BRepAlgo | |
129 | is static; | |
130 | ||
131 | -- Modified by skv - Tue Mar 15 16:17:37 2005 End | |
132 | ||
133 | ClosingFaces (me) | |
134 | ---Purpose: Returns the list of closing faces stores by AddFace | |
135 | ---C++: return const & | |
975ec82a | 136 | returns IndexedMapOfShape from TopTools |
7fd59977 | 137 | is static; |
138 | ||
139 | ---Category: private methods | |
140 | ||
141 | BuildOffsetByArc ( me : in out ) | |
142 | is static private; | |
143 | ||
144 | BuildOffsetByInter ( me : in out ) | |
145 | is static private; | |
146 | ||
147 | SelfInter (me : in out ; | |
148 | Modif : in out MapOfShape from TopTools) | |
149 | is static private; | |
150 | ||
151 | Intersection3D (me : in out; | |
152 | Inter : in out Inter3d from BRepOffset) | |
153 | is static private; | |
154 | ||
155 | Intersection2D ( me : in out ; | |
975ec82a J |
156 | Modif : IndexedMapOfShape from TopTools; |
157 | NewEdges : IndexedMapOfShape from TopTools) | |
7fd59977 | 158 | is static private; |
159 | ||
160 | MakeLoops ( me : in out ; | |
975ec82a | 161 | Modif : in out IndexedMapOfShape from TopTools) |
7fd59977 | 162 | is static private; |
163 | ||
164 | MakeLoopsOnContext ( me : in out ; | |
165 | Modif : in out MapOfShape from TopTools) | |
166 | is static private; | |
167 | ||
168 | MakeFaces ( me : in out ; | |
975ec82a | 169 | Modif : in out IndexedMapOfShape from TopTools) |
7fd59977 | 170 | is static private; |
171 | ||
172 | MakeShells (me : in out ) | |
173 | is static private; | |
174 | ||
175 | SelectShells (me : in out) | |
176 | is static private; | |
177 | ||
178 | EncodeRegularity( me : in out) | |
179 | is static private; | |
180 | ||
181 | MakeSolid (me : in out) | |
182 | is static private; | |
183 | ||
184 | ToContext (me : in out; | |
185 | MapSF : in out DataMapOfShapeOffset from BRepOffset) | |
186 | is static private; | |
187 | ||
188 | UpdateFaceOffset (me: in out) | |
189 | ---Purpose: Private method use to update the map face<->offset | |
190 | is static private; | |
191 | ||
192 | CorrectConicalFaces (me: in out) | |
193 | ---Purpose: Private method used to correct degenerated edges on conical faces | |
194 | is static private; | |
195 | ||
196 | MakeMissingWalls (me: in out) | |
197 | ---Purpose: Private method used to build walls for thickening the shell | |
198 | is static private; | |
199 | ||
200 | fields | |
201 | ||
202 | myOffset : Real from Standard; | |
203 | myTol : Real from Standard; | |
204 | myShape : Shape from TopoDS; -- Initial | |
205 | myMode : Mode from BRepOffset; | |
206 | myInter : Boolean from Standard; | |
207 | mySelfInter : Boolean from Standard; | |
208 | myJoin : JoinType from GeomAbs; | |
209 | myThickening : Boolean from Standard; | |
210 | ||
211 | myFaceOffset : DataMapOfShapeReal from TopTools; | |
212 | ||
975ec82a J |
213 | myFaces : IndexedMapOfShape from TopTools; |
214 | myAnalyse : Analyse from BRepOffset; | |
7fd59977 | 215 | |
216 | myOffsetShape : Shape from TopoDS; -- Result | |
217 | myInitOffsetFace : Image from BRepAlgo; | |
218 | myInitOffsetEdge : Image from BRepAlgo; | |
219 | myImageOffset : Image from BRepAlgo; | |
220 | myWalls : ListOfShape from TopTools; | |
221 | myAsDes : AsDes from BRepAlgo; | |
222 | ||
223 | myDone : Boolean from Standard; | |
224 | myError : Error from BRepOffset; | |
225 | ||
226 | myMakeLoops : MakeLoops from BRepOffset; | |
227 | ||
228 | end MakeOffset; |