7fd59977 |
1 | -- File: GeomLib_CheckBSplineCurve.cdl |
2 | -- Created: Wed May 28 16:31:08 1997 |
3 | -- Author: Xavier BENVENISTE |
4 | -- <xab@zozox.paris1.matra-dtv.fr> |
5 | ---Copyright: Matra Datavision 1997 |
6 | |
7 | |
8 | |
9 | class Check2dBSplineCurve from GeomLib |
10 | |
11 | ---Purpose: this class is used to construct the BSpline curve |
12 | -- from an Approximation ( ApproxAFunction from AdvApprox). |
13 | |
14 | |
15 | uses |
16 | Pnt2d from gp, |
17 | BSplineCurve from Geom2d |
18 | |
19 | raises |
20 | |
21 | NotDone from StdFail, |
22 | OutOfRange from Standard |
23 | |
24 | is |
25 | |
26 | Create( Curve : BSplineCurve from Geom2d ; |
27 | Tolerance : Real from Standard ; |
28 | AngularTolerance : Real from Standard) |
29 | returns Check2dBSplineCurve from GeomLib; |
30 | |
31 | IsDone(me) returns Boolean from Standard |
32 | ---C++: inline |
33 | is static; |
34 | |
35 | NeedTangentFix(me; FirstFlag : in out Boolean from Standard ; |
36 | SecondFlag : in out Boolean from Standard) ; |
37 | FixTangent (me : in out ; FirstFlag : Boolean from Standard ; |
38 | LastFlag : Boolean from Standard) ; |
39 | |
40 | FixedTangent (me : in out ; FirstFlag : Boolean from Standard ; |
41 | LastFlag : Boolean from Standard) |
42 | ---Purpose: modifies the curve |
43 | -- by fixing the first or the last tangencies |
44 | -- |
45 | returns BSplineCurve from Geom2d |
46 | raises |
47 | OutOfRange from Standard, |
48 | ---Purpose: if Index3D not in the Range [1,Nb3dSpaces] |
49 | NotDone from StdFail |
50 | ---Purpose: if the Approx is not Done |
51 | is static; |
52 | |
53 | |
54 | fields |
55 | |
56 | myCurve : BSplineCurve from Geom2d ; |
57 | myDone : Boolean from Standard ; |
58 | myFixFirstTangent : Boolean from Standard ; |
59 | myFixLastTangent : Boolean from Standard ; |
60 | myAngularTolerance : Real from Standard ; |
61 | myTolerance : Real from Standard ; |
62 | myFirstPole : Pnt2d from gp ; |
63 | -- the second pole that controls first tangency |
64 | myLastPole : Pnt2d from gp ; |
65 | -- the before last pole that controls last tangency |
66 | |
67 | end Check2dBSplineCurve; |