1 -- File: Bisector_BisecCC.cdl
2 -- Created: Mon Jan 10 11:49:47 1994
3 -- Author: Yves FRICAUD
5 ---Copyright: Matra Datavision 1994
8 class BisecCC from Bisector
14 ---Purpose: Construct the bisector between two curves.
15 -- The curves can intersect only in their extremities.
18 PolyBis from Bisector,
20 CurveType from GeomAbs,
25 SequenceOfReal from TColStd,
28 raises DomainError from Standard,
29 RangeError from Standard
32 Create returns mutable BisecCC;
34 Create (Cu1 : Curve from Geom2d;
35 Cu2 : Curve from Geom2d;
38 Origin : Pnt2d from gp ;
39 DistMax : Real = 500 )
40 ---Purpose: Constructs the bisector between the curves <Cu1>
43 -- <Side1> (resp <Side2>) = 1 if the
44 -- bisector curve is on the left of <Cu1> (resp <Cu2>)
45 -- else <Side1> (resp <Side2>) = -1.
47 -- the Bisector is trimmed by the Point <Origin>.
48 -- <DistMax> is used to trim the bisector.The distance
49 -- between the points of the bisector and <Cu> is smaller
52 returns mutable BisecCC from Bisector;
54 Perform (me : mutable ;
55 Cu1 : Curve from Geom2d;
56 Cu2 : Curve from Geom2d;
59 Origin : Pnt2d from gp ;
60 DistMax : Real = 500 )
61 ---Purpose: Computes the bisector between the curves <Cu1>
64 -- <Side1> (resp <Side2>) = 1 if the
65 -- bisector curve is on the left of <Cu1> (resp <Cu2>)
66 -- else <Side1> (resp <Side2>) = -1.
68 -- the Bisector is trimmed by the Point <Origin>.
70 -- <DistMax> is used to trim the bisector.The distance
71 -- between the points of the bisector and <Cu> is smaller
77 IsExtendAtStart (me) returns Boolean from Standard
80 IsExtendAtEnd (me) returns Boolean from Standard
83 Reverse (me : mutable)
86 ReversedParameter(me; U : Real) returns Real
89 IsCN (me; N : Integer) returns Boolean
90 --- Purpose : Returns the order of continuity of the curve.
92 --- Purpose : Raised if N < 0.
95 ChangeGuide (me) returns mutable like me
96 ---Purpose: The parameter on <me> is linked to the parameter
97 -- on the first curve. This method creates the same bisector
98 -- where the curves are inversed.
101 Copy (me) returns mutable like me
104 Transform (me : mutable; T : Trsf2d)
106 -- Transformation of a geometric object. This tansformation
107 -- can be a translation, a rotation, a symmetry, a scaling
108 -- or a complex transformation obtained by combination of
109 -- the previous elementaries transformations.
114 FirstParameter(me) returns Real
117 LastParameter(me) returns Real
120 Continuity(me) returns Shape from GeomAbs
123 NbIntervals (me) returns Integer
124 ---Purpose: If necessary, breaks the curve in intervals of
125 -- continuity <C1>. And returns the number of
129 IntervalFirst(me ; Index : Integer from Standard) returns Real
130 ---Purpose: Returns the first parameter of the current
134 IntervalLast(me ; Index : Integer from Standard) returns Real
135 ---Purpose: Returns the last parameter of the current
139 IntervalContinuity(me) returns Shape from GeomAbs
142 IsClosed(me) returns Boolean
145 IsPeriodic(me) returns Boolean
148 ValueAndDist (me; U : Real; U1, U2, Distance : in out Real)
149 ---Purpose: Returns the point of parameter U.
150 -- Computes the distance between the current point and
151 -- the two curves I separate.
152 -- Computes the parameters on each curve corresponding
153 -- of the projection of the current point.
154 returns Pnt2d from gp
158 ValueByInt (me; U : Real; U1, U2, Distance : in out Real)
159 returns Pnt2d from gp
160 ---Purpose: Returns the point of parameter U.
161 -- Computes the distance between the current point and
162 -- the two curves I separate.
163 -- Computes the parameters on each curve corresponding
164 -- of the projection of the current point.
168 D0 (me; U : Real; P : out Pnt2d)
171 D1 (me; U : Real; P : out Pnt2d from gp ; V : out Vec2d from gp)
174 D2 (me; U : Real; P : out Pnt2d from gp; V1, V2 : out Vec2d from gp)
177 D3 (me; U : Real; P : out Pnt2d from gp; V1, V2, V3 : out Vec2d from gp)
180 DN (me; U : Real; N : Integer)
181 returns Vec2d from gp
194 IsEmpty (me) returns Boolean from Standard
197 LinkBisCurve (me ; U : Real) returns Real from Standard
198 ---Purpose: Returns the parameter on the curve1 of the projection
199 -- of the point of parameter U on <me>.
202 LinkCurveBis (me ; U : Real) returns Real from Standard
203 ---Purpose: Returns the reciproque of LinkBisCurve.
206 Parameter ( me ; P : Pnt2d from gp) returns Real
209 Curve (me ; IndCurve : Integer) returns Curve from Geom2d
212 Polygon (me) returns PolyBis from Bisector
213 ---C++: return const&
216 Dump (me; Deep : Integer = 0; Offset : Integer = 0) is static;
218 SupLastParameter (me : mutable)
223 U1, U2, Dist : in out Real ;
224 T1 : in out Vec2d from gp )
225 returns Pnt2d from gp
228 SearchBound (me ; U1,U2 : Real from Standard)
229 returns Real from Standard
232 ComputePointEnd (me : mutable)
235 Curve (me : mutable; Index : Integer; C : Curve from Geom2d)
238 Sign (me : mutable; Index : Integer; Sign : Real from Standard)
241 Polygon (me : mutable; Poly : PolyBis from Bisector)
244 DistMax (me : mutable; DistMax : Real from Standard)
247 IsConvex (me : mutable; Index : Integer; IsConvex : Boolean from Standard)
250 IsEmpty (me : mutable; IsEmpty : Boolean from Standard)
253 ExtensionStart (me : mutable; ExtensionStart : Boolean from Standard)
256 ExtensionEnd (me : mutable; ExtensionEnd : Boolean from Standard)
259 PointStart (me : mutable; Point : Pnt2d from gp)
262 PointEnd (me : mutable; Point : Pnt2d from gp)
265 StartIntervals (me : mutable; StartIntervals : SequenceOfReal from TColStd)
268 EndIntervals (me : mutable; EndIntervals : SequenceOfReal from TColStd)
271 FirstParameter (me : mutable; U1 : Real from Standard)
274 LastParameter (me : mutable; U1 : Real from Standard)
281 curve1 : Curve from Geom2d;
282 curve2 : Curve from Geom2d;
283 sign1 : Real from Standard;
284 sign2 : Real from Standard;
285 startIntervals : SequenceOfReal from TColStd;
286 endIntervals : SequenceOfReal from TColStd;
287 currentInterval: Integer from Standard;
288 myPolygon : PolyBis from Bisector;
289 shiftParameter : Real from Standard;
290 distMax : Real from Standard;
291 isEmpty : Boolean from Standard;
292 isConvex1 : Boolean from Standard;
293 isConvex2 : Boolean from Standard;
294 extensionStart : Boolean from Standard;
295 extensionEnd : Boolean from Standard;
296 pointStart : Pnt2d from gp;
297 pointEnd : Pnt2d from gp;