1 -- Created on: 1994-05-19
2 -- Created by: Yves FRICAUD
3 -- Copyright (c) 1994-1999 Matra Datavision
4 -- Copyright (c) 1999-2012 OPEN CASCADE SAS
6 -- The content of this file is subject to the Open CASCADE Technology Public
7 -- License Version 6.5 (the "License"). You may not use the content of this file
8 -- except in compliance with the License. Please obtain a copy of the License
9 -- at http://www.opencascade.org and read it completely before using this file.
11 -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12 -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
14 -- The Original Code and all software distributed under the License is
15 -- distributed on an "AS IS" basis, without warranty of any kind, and the
16 -- Initial Developer hereby disclaims all such warranties, including without
17 -- limitation, any warranties of merchantability, fitness for a particular
18 -- purpose or non-infringement. Please see the License for the specific terms
19 -- and conditions governing the rights and limitations under the License.
22 class BisecAna from Bisector
32 CurveType from GeomAbs,
35 TrimmedCurve from Geom2d,
42 raises DomainError from Standard,
43 RangeError from Standard
46 Create returns mutable BisecAna;
48 Perform(me : mutable ;
49 Cu1 : Curve from Geom2d ;
50 Cu2 : Curve from Geom2d ;
54 Sense : Real from Standard ;
55 Tolerance : Real from Standard ;
56 oncurve : Boolean from Standard = Standard_True );
58 --- Purpose : Performs the bisecting line between the curves
60 -- <oncurve> is True if the point <P> is common to <Cu1>
63 Perform(me : mutable ;
64 Cu : Curve from Geom2d ;
65 Pnt : Point from Geom2d ;
69 Sense : Real from Standard ;
70 Tolerance : Real from Standard ;
71 oncurve : Boolean from Standard = Standard_True);
73 --- Purpose : Performs the bisecting line between the curve
74 -- <Cu1> and the point <Pnt>.
75 -- <oncurve> is True if the point <P> is the point <Pnt>.
77 Perform(me : mutable ;
78 Pnt : Point from Geom2d ;
79 Cu : Curve from Geom2d ;
83 Sense : Real from Standard ;
84 Tolerance : Real from Standard ;
85 oncurve : Boolean from Standard = Standard_True );
87 --- Purpose : Performs the bisecting line between the curve
88 -- <Cu> and the point <Pnt>.
89 -- <oncurve> is True if the point <P> is the point <Pnt>.
92 Perform(me : mutable ;
93 Pnt1 : Point from Geom2d ;
94 Pnt2 : Point from Geom2d ;
98 Sense : Real from Standard ;
99 Tolerance : Real from Standard = 0.0 ;
100 oncurve : Boolean from Standard = Standard_True ) ;
102 --- Purpose : Performs the bisecting line between the two points
103 -- <Pnt1> and <Pnt2>.
106 bisector : TrimmedCurve from Geom2d)
109 IsExtendAtStart (me) returns Boolean from Standard
112 IsExtendAtEnd (me) returns Boolean from Standard
115 SetTrim(me : mutable ; Cu : Curve from Geom2d);
116 --- Purpose : Trim <me> by a domain defined by the curve <Cu>.
117 -- This domain is the set of the points which are
118 -- nearest from <Cu> than the extremitis of <Cu>.
120 SetTrim(me : mutable ; uf, ul : Real from Standard);
121 --- Purpose : Trim <me> by a domain defined by uf and ul
123 Distance(me : mutable ;
125 Bis : Bisec from GccInt ;
128 Sense : Real from Standard ;
129 U : out Real from Standard ;
130 sense : out Boolean from Standard ;
131 ok : out Boolean from Standard )
133 --- Purpose : Returns the distance between the point <P> and
134 -- the bisecting <Bis>.
139 Reverse (me : mutable)
142 ReversedParameter(me; U : Real) returns Real
145 IsCN (me; N : Integer) returns Boolean
146 --- Purpose : Returns the order of continuity of the curve.
148 --- Purpose : Raised if N < 0.
151 Copy (me) returns mutable like me
154 Transform (me : mutable; T : Trsf2d)
157 FirstParameter(me) returns Real
160 LastParameter(me) returns Real
163 IsClosed (me) returns Boolean
166 IsPeriodic (me) returns Boolean
169 Continuity (me) returns Shape from GeomAbs
172 D0(me; U : Real; P : out Pnt2d)
175 D1 (me; U : Real; P : out Pnt2d; V1 : out Vec2d)
178 D2 (me; U : Real; P : out Pnt2d; V1, V2 : out Vec2d)
181 D3 (me; U : Real; P : out Pnt2d; V1, V2, V3 : out Vec2d)
184 DN (me; U : Real; N : Integer) returns Vec2d
187 Geom2dCurve (me) returns Curve from Geom2d
190 Parameter (me ; P : Pnt2d from gp) returns Real
193 ParameterOfStartPoint (me) returns Real
196 ParameterOfEndPoint (me) returns Real
199 NbIntervals (me) returns Integer
200 ---Purpose: If necessary, breaks the curve in intervals of
201 -- continuity <C1>. And returns the number of
205 IntervalFirst(me ; Index : Integer from Standard) returns Real
206 ---Purpose: Returns the first parameter of the current
210 IntervalLast(me ; Index : Integer from Standard) returns Real
211 ---Purpose: Returns the last parameter of the current
215 Dump (me; Deep : Integer = 0; Offset : Integer = 0) is static;
219 thebisector : TrimmedCurve from Geom2d;