1 -- File: IGESToBRep_IGESBoundary.cdl
2 -- Created: Wed Dec 16 16:27:16 1998
4 -- <rln@kinox.nnov.matra-dtv.fr>
5 ---Copyright: Matra Datavision 1998
8 class IGESBoundary from IGESToBRep inherits TShared from MMgt
10 ---Purpose: This class is intended to translate IGES boundary entity
11 -- (142-CurveOnSurface, 141-Boundary or 508-Loop) into the wire.
12 -- Methods Transfer are virtual and are redefined in Advanced
13 -- Data Exchange to optimize the translation and take into
14 -- account advanced parameters.
20 IGESEntity from IGESData,
21 HArray1OfIGESEntity from IGESData,
22 CurveAndSurface from IGESToBRep,
23 WireData from ShapeExtend
27 Create returns mutable IGESBoundary from IGESToBRep;
28 ---Purpose: Empty constructor
30 Create (CS: CurveAndSurface from IGESToBRep) returns mutable IGESBoundary from IGESToBRep;
31 ---Purpose: Empty constructor
33 Init (me: mutable; CS : CurveAndSurface from IGESToBRep;
34 entity : IGESEntity from IGESData;
35 face : Face from TopoDS;
36 trans : Trsf2d from gp;
38 filepreference: Integer);
39 ---Purpose: Inits the object with parameters common for all
40 -- types of IGES boundaries.
41 -- <CS>: object to be used for retrieving translation parameters
42 -- and sending messages,
43 -- <entity>: boundary entity to be processed,
44 -- <face>, <trans>, <uFact>: as for IGESToBRep_TopoCurve
45 -- <filepreference>: preferred representation (2 or 3) given
48 WireData (me) returns WireData from ShapeExtend;
49 ---Purpose: Returns the resulting wire
52 WireData3d (me) returns WireData from ShapeExtend;
53 ---Purpose: Returns the wire from 3D curves (edges contain 3D curves
54 -- and may contain pcurves)
57 WireData2d (me) returns WireData from ShapeExtend;
58 ---Purpose: Returns the the wire from 2D curves (edges contain pcurves
62 Transfer (me: mutable; okCurve : in out Boolean;
63 okCurve3d : in out Boolean;
64 okCurve2d : in out Boolean;
65 curve3d : IGESEntity from IGESData;
67 curves2d : HArray1OfIGESEntity from IGESData;
70 ---Purpose: Translates 141 and 142 entities.
71 -- Returns True if the curve has been successfully translated,
72 -- otherwise returns False.
73 -- <okCurve..>: flags that indicate whether corresponding
74 -- representation has been successfully translated
75 -- (must be set to True before first call),
76 -- <curve3d>: model space curve for 142 and current model space
78 -- <toreverse3d>: False for 142 and current orientation flag
80 -- <curves2d>: 1 parameter space curve for 142 or list of
81 -- them for current model space curves for 141,
82 -- <number>: 1 for 142 and rank number of model space curve for 141.
84 Transfer (me: mutable; okCurve : in out Boolean;
85 okCurve3d : in out Boolean;
86 okCurve2d : in out Boolean;
87 curve3d : WireData from ShapeExtend;
88 curves2d : HArray1OfIGESEntity from IGESData;
91 lsewd : out WireData from ShapeExtend)
93 ---Purpose: Translates 508 entity.
94 -- Returns True if the curve has been successfully translated,
95 -- otherwise returns False.
96 -- Input object IGESBoundary must be created and initialized
98 -- <okCurve..>: flags that indicate whether corresponding
99 -- representation has been successfully translated
100 -- (must be set to True before first call),
101 -- <curve3d>: result of translation of current edge,
102 -- <curves2d>: list of parameter space curves for edge,
103 -- <toreverse2d>: orientation flag of current edge in respect
104 -- to its model space curve,
105 -- <number>: rank number of edge,
106 -- <lsewd>: returns the result of translation of current edge.
108 Check (me: mutable; result, checkclosure, okCurve3d, okCurve2d: Boolean) is virtual;
109 ---Purpose: Checks result of translation of IGES boundary entities
110 -- (types 141, 142 or 508).
111 -- Checks consistency of 2D and 3D representations and keeps
112 -- only one if they are inconsistent.
113 -- <result>: result of translation (returned by Transfer),
114 -- <checkclosure>: False for 142 without parent 144 entity,
116 -- <okCurve3d>, <okCurve2d>: those returned by Transfer.
117 ---Remark : Empty method for Open CASCADE and implemented for Advanced
121 Transfer (me: mutable; okCurve : in out Boolean;
122 okCurve3d : in out Boolean;
123 okCurve2d : in out Boolean;
124 icurve3d : IGESEntity from IGESData;
125 scurve3d : WireData from ShapeExtend;
127 toreverse3d: Boolean;
128 curves2d : HArray1OfIGESEntity from IGESData;
129 toreverse2d: Boolean;
131 lsewd : out WireData from ShapeExtend)
132 returns Boolean is virtual protected;
133 ---Purpose: Methods called by both Transfer methods.
135 ReverseCurves3d (myclass; sewd: WireData from ShapeExtend) is protected;
136 ReverseCurves2d (myclass; sewd: WireData from ShapeExtend;
137 face: Face from TopoDS) is protected;
141 myCS : CurveAndSurface from IGESToBRep is protected;
142 myentity : IGESEntity from IGESData is protected;
143 mysewd : WireData from ShapeExtend is protected; -- resulting wire
144 mysewd3d : WireData from ShapeExtend is protected; -- wire from 3D curves (edges contain 3D curves and may contain pcurves)
145 mysewd2d : WireData from ShapeExtend is protected; -- wire from 2D curves (edges contain pcurves only)
146 myface : Face from TopoDS is protected;
147 mytrsf : Trsf2d from gp is protected;
148 myuFact : Real is protected;
149 myfilepreference: Integer is protected;