0022550: Fixing data races
[occt.git] / src / Approx / Approx_CurvlinFunc.cdl
... / ...
CommitLineData
1-- File: Approx_CurvlinFunc.cdl
2-- Created: Tue May 12 12:17:17 1998
3-- Author: Roman BORISOV
4-- <rbv@sgi38>
5---Copyright: Matra Datavision 1998
6
7
8class CurvlinFunc from Approx inherits TShared from MMgt
9
10 ---Purpose: defines an abstract curve with
11 -- curvilinear parametrization
12 --
13 --
14 --
15 --
16
17uses
18 HCurve from Adaptor3d,
19 Curve from Adaptor3d,
20 HCurve2d from Adaptor2d,
21 HSurface from Adaptor3d,
22 Shape from GeomAbs,
23 Array1OfReal from TColStd,
24 HArray1OfReal from TColStd,
25 Pnt from gp,
26 Vec from gp
27
28raises
29 OutOfRange from Standard,
30 DomainError from Standard,
31 ConstructionError from Standard
32
33is
34 Create(C: HCurve from Adaptor3d; Tol: Real)
35 returns mutable CurvlinFunc;
36
37 Create(C2D: HCurve2d from Adaptor2d; S: HSurface from Adaptor3d; Tol: Real)
38 returns mutable CurvlinFunc;
39
40 Create(C2D1, C2D2: HCurve2d from Adaptor2d; S1, S2: HSurface from Adaptor3d; Tol: Real)
41 returns mutable CurvlinFunc;
42
43 SetTol(me: mutable; Tol: Real)
44 ---Purpose Update the tolerance to used
45 is static;
46
47 Init(me: mutable)
48 is private;
49
50 Init(me; C: in out Curve from Adaptor3d;
51 Si: out HArray1OfReal from TColStd;
52 Ui: out HArray1OfReal from TColStd)
53 is private;
54
55 FirstParameter(me) returns Real;
56
57 LastParameter(me) returns Real;
58
59 NbIntervals(me; S : Shape from GeomAbs) returns Integer;
60 ---Purpose: Returns the number of intervals for continuity
61 -- <S>. May be one if Continuity(me) >= <S>
62
63 Intervals(me; T : in out Array1OfReal from TColStd;
64 S : Shape from GeomAbs);
65 ---Purpose: Stores in <T> the parameters bounding the intervals
66 -- of continuity <S>.
67 --
68 -- The array must provide enough room to accomodate
69 -- for the parameters. i.e. T.Length() > NbIntervals()
70
71 Trim(me: mutable; First, Last, Tol: Real from Standard)
72 raises OutOfRange from Standard;
73 --- Purpose : if First < 0 or Last > 1
74
75 Length(me: mutable)
76 --- Purpose : Computes length of the curve.
77 is static;
78
79 Length(me; C: in out Curve from Adaptor3d;
80 FirstU, LasrU: Real) returns Real
81 --- Purpose : Computes length of the curve segment.
82
83 is static;
84 GetLength(me) returns Real;
85
86 GetUParameter(me; C: in out Curve from Adaptor3d; S: Real; NumberOfCurve: Integer) returns Real;
87 --- Purpose : returns original parameter correponding S. if
88 -- Case == 1 computation is performed on myC2D1 and mySurf1,
89 -- otherwise it is done on myC2D2 and mySurf2.
90
91 GetSParameter(me; U: Real) returns Real;
92 --- Purpose : returns original parameter correponding S.
93
94 GetSParameter(me; C: in out Curve from Adaptor3d; U, Length: Real) returns Real
95 --- Purpose : returns curvilinear parameter correponding U.
96 is private;
97
98 EvalCase1(me; S: Real; Order: Integer;
99 Result: out Array1OfReal from TColStd) -- dim(Result) = 3
100 returns Boolean from Standard
101
102 raises
103 ConstructionError from Standard;
104 --- Purpose : if myCase != 1
105
106 EvalCase2(me; S: Real; Order: Integer;
107 Result: out Array1OfReal from TColStd) -- dim(Result) = 5
108 returns Boolean from Standard
109 raises
110 ConstructionError from Standard;
111 --- Purpose : if myCase != 2
112
113 EvalCase3(me: mutable; S: Real; Order: Integer;
114 Result: out Array1OfReal from TColStd) -- dim(Result) = 7
115 returns Boolean from Standard
116 raises
117 ConstructionError from Standard;
118 --- Purpose : if myCase != 3
119
120 EvalCurOnSur(me; S: Real; Order: Integer;
121 Result: out Array1OfReal from TColStd;
122 NumberOfCurve: Integer)
123 returns Boolean from Standard
124 is private;
125
126fields
127
128 myC3D : HCurve from Adaptor3d;
129 myC2D1 : HCurve2d from Adaptor2d;
130 myC2D2 : HCurve2d from Adaptor2d;
131 mySurf1 : HSurface from Adaptor3d;
132 mySurf2 : HSurface from Adaptor3d;
133 myCase : Integer from Standard; -- [1..3]
134 myFirstS : Real from Standard;
135 myLastS : Real from Standard;
136 myFirstU1: Real from Standard;
137 myLastU1 : Real from Standard;
138 myFirstU2: Real from Standard;
139 myLastU2 : Real from Standard;
140 myLength : Real from Standard;
141 myLength1: Real from Standard;
142 myLength2: Real from Standard;
143 myTolLen : Real from Standard;
144 myPrevS : Real from Standard; -- should be mutable
145 myPrevU : Real from Standard; -- should be mutable
146
147 myUi_1 : HArray1OfReal from TColStd;
148 mySi_1 : HArray1OfReal from TColStd;
149 myUi_2 : HArray1OfReal from TColStd;
150 mySi_2 : HArray1OfReal from TColStd;
151end CurvlinFunc;