7fd59977 |
1 | -- File: BRepFill_OffsetWire.cdl |
2 | -- Created: Wed Apr 19 14:28:26 1995 |
3 | -- Author: Yves FRICAUD |
4 | -- <yfr@stylox> |
5 | ---Copyright: Matra Datavision 1995 |
6 | |
7 | |
8 | class OffsetWire from BRepFill |
9 | |
10 | ---Purpose: Constructs a Offset Wire to a spine (wire or face) |
11 | -- on the left of spine. |
12 | |
13 | uses |
14 | |
15 | Face from TopoDS, |
16 | Shape from TopoDS, |
17 | JoinType from GeomAbs, |
18 | ListOfShape from TopTools, |
19 | DataMapOfShapeShape from TopTools, |
20 | DataMapOfOrientedShapeListOfShape from BRepFill, |
21 | BisectingLocus from BRepMAT2d, |
22 | LinkTopoBilo from BRepMAT2d |
23 | |
24 | raises |
25 | ConstructionError from Standard, |
26 | NoSuchObject from Standard |
27 | |
28 | is |
29 | |
30 | Create returns OffsetWire from BRepFill; |
31 | |
32 | Create ( Spine : Face from TopoDS; |
33 | Join : JoinType from GeomAbs = GeomAbs_Arc) |
34 | returns OffsetWire from BRepFill; |
35 | |
36 | Init ( me : in out; |
37 | Spine : Face from TopoDS; |
38 | Join : JoinType from GeomAbs = GeomAbs_Arc) |
39 | ---Purpose: Initialize the evaluation of Offseting. |
40 | raises |
41 | ConstructionError from Standard |
42 | is static; |
43 | |
44 | Perform (me : in out; |
45 | Offset : Real from Standard; |
46 | Alt : Real from Standard = 0.0) |
47 | ---Purpose: Performs an OffsetWire at an altitude <Alt> from |
48 | -- the face ( According to the orientation of the |
49 | -- face) |
50 | raises |
51 | ConstructionError from Standard |
52 | is static; |
53 | |
54 | PerformWithBiLo (me : in out; |
55 | WSP : Face from TopoDS; |
56 | Offset : Real from Standard; |
57 | Locus : BisectingLocus from BRepMAT2d; |
58 | Link : in out LinkTopoBilo from BRepMAT2d; |
59 | Join : JoinType from GeomAbs = GeomAbs_Arc; |
60 | Alt : Real from Standard = 0.0) |
61 | ---Purpose: Performs an OffsetWire |
62 | raises |
63 | ConstructionError from Standard |
64 | is static; |
65 | |
66 | IsDone ( me) |
67 | returns Boolean from Standard |
68 | is static; |
69 | |
70 | Spine(me) |
71 | returns Face from TopoDS |
72 | ---C++: return const & |
73 | is static; |
74 | |
75 | |
76 | Shape(me) returns Shape from TopoDS |
77 | ---Purpose: returns the generated shape. |
78 | ---C++ : return const & |
79 | is static; |
80 | |
81 | GeneratedShapes (me : in out ; SpineShape : Shape from TopoDS) |
82 | ---Purpose: Returns the shapes created from a subshape |
83 | -- <SpineShape> of the spine. |
84 | -- Returns the last computed Offset. |
85 | -- |
86 | ---C++ : return const & |
87 | returns ListOfShape from TopTools |
88 | is static; |
89 | |
90 | JoinType (me) returns JoinType from GeomAbs |
91 | is static; |
92 | |
93 | Generated (me : in out ) |
94 | ---C++: return & |
95 | returns DataMapOfOrientedShapeListOfShape from BRepFill |
96 | is static private; |
97 | |
98 | PrepareSpine (me : in out) |
99 | ---Purpose: Prepare the spine as follow |
100 | -- - Cut the spine-Edges at the extrema of curvature and |
101 | -- at the inflexion points. |
102 | is static private; |
103 | |
104 | Add(me : in out; Other : OffsetWire from BRepFill) |
105 | ---Purpose: Add the OffsetWire <Other> to <me> and update <myMap> |
106 | is static private; |
107 | |
108 | MakeWires (me : in out) |
109 | ---Purpose: Constructs the wires with the trimmed offset edges. |
110 | is static private; |
111 | |
112 | FixHoles (me : in out) |
113 | ---Purpose: Fix holes between open wires where it is possible |
114 | is static private; |
115 | |
116 | fields |
117 | |
118 | mySpine : Face from TopoDS; |
119 | myWorkSpine : Face from TopoDS; |
120 | myOffset : Real from Standard; -- >0 ; |
121 | myShape : Shape from TopoDS; |
122 | myIsDone : Boolean from Standard; |
123 | myJoinType : JoinType from GeomAbs; |
124 | myMap : DataMapOfOrientedShapeListOfShape from BRepFill; |
125 | myBilo : BisectingLocus from BRepMAT2d; |
126 | myLink : LinkTopoBilo from BRepMAT2d; |
127 | myMapSpine : DataMapOfShapeShape from TopTools; |
128 | myCallGen : Boolean from Standard; |
129 | |
130 | end OffsetWire; |