0024023: Revamp the OCCT Handle -- ambiguity
[occt.git] / src / Approx / Approx_CurvlinFunc.cdl
CommitLineData
b311480e 1-- Created on: 1998-05-12
2-- Created by: Roman BORISOV
3-- Copyright (c) 1998-1999 Matra Datavision
973c2be1 4-- Copyright (c) 1999-2014 OPEN CASCADE SAS
b311480e 5--
973c2be1 6-- This file is part of Open CASCADE Technology software library.
b311480e 7--
d5f74e42 8-- This library is free software; you can redistribute it and/or modify it under
9-- the terms of the GNU Lesser General Public License version 2.1 as published
973c2be1 10-- by the Free Software Foundation, with special exception defined in the file
11-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12-- distribution for complete text of the license and disclaimer of any warranty.
b311480e 13--
973c2be1 14-- Alternatively, this file may be used under the terms of Open CASCADE
15-- commercial license or contractual agreement.
7fd59977 16
17class CurvlinFunc from Approx inherits TShared from MMgt
18
19 ---Purpose: defines an abstract curve with
20 -- curvilinear parametrization
21 --
22 --
23 --
24 --
25
26uses
27 HCurve from Adaptor3d,
28 Curve from Adaptor3d,
29 HCurve2d from Adaptor2d,
30 HSurface from Adaptor3d,
31 Shape from GeomAbs,
32 Array1OfReal from TColStd,
33 HArray1OfReal from TColStd,
34 Pnt from gp,
35 Vec from gp
36
37raises
38 OutOfRange from Standard,
39 DomainError from Standard,
40 ConstructionError from Standard
41
42is
43 Create(C: HCurve from Adaptor3d; Tol: Real)
6e33d3ce 44 returns CurvlinFunc;
7fd59977 45
46 Create(C2D: HCurve2d from Adaptor2d; S: HSurface from Adaptor3d; Tol: Real)
6e33d3ce 47 returns CurvlinFunc;
7fd59977 48
49 Create(C2D1, C2D2: HCurve2d from Adaptor2d; S1, S2: HSurface from Adaptor3d; Tol: Real)
6e33d3ce 50 returns CurvlinFunc;
7fd59977 51
52 SetTol(me: mutable; Tol: Real)
53 ---Purpose Update the tolerance to used
54 is static;
55
56 Init(me: mutable)
57 is private;
58
59 Init(me; C: in out Curve from Adaptor3d;
60 Si: out HArray1OfReal from TColStd;
61 Ui: out HArray1OfReal from TColStd)
62 is private;
63
64 FirstParameter(me) returns Real;
65
66 LastParameter(me) returns Real;
67
68 NbIntervals(me; S : Shape from GeomAbs) returns Integer;
69 ---Purpose: Returns the number of intervals for continuity
70 -- <S>. May be one if Continuity(me) >= <S>
71
72 Intervals(me; T : in out Array1OfReal from TColStd;
73 S : Shape from GeomAbs);
74 ---Purpose: Stores in <T> the parameters bounding the intervals
75 -- of continuity <S>.
76 --
77 -- The array must provide enough room to accomodate
78 -- for the parameters. i.e. T.Length() > NbIntervals()
79
80 Trim(me: mutable; First, Last, Tol: Real from Standard)
81 raises OutOfRange from Standard;
82 --- Purpose : if First < 0 or Last > 1
83
84 Length(me: mutable)
85 --- Purpose : Computes length of the curve.
86 is static;
87
88 Length(me; C: in out Curve from Adaptor3d;
89 FirstU, LasrU: Real) returns Real
90 --- Purpose : Computes length of the curve segment.
91
92 is static;
93 GetLength(me) returns Real;
94
95 GetUParameter(me; C: in out Curve from Adaptor3d; S: Real; NumberOfCurve: Integer) returns Real;
96 --- Purpose : returns original parameter correponding S. if
97 -- Case == 1 computation is performed on myC2D1 and mySurf1,
98 -- otherwise it is done on myC2D2 and mySurf2.
99
100 GetSParameter(me; U: Real) returns Real;
101 --- Purpose : returns original parameter correponding S.
102
103 GetSParameter(me; C: in out Curve from Adaptor3d; U, Length: Real) returns Real
104 --- Purpose : returns curvilinear parameter correponding U.
105 is private;
106
107 EvalCase1(me; S: Real; Order: Integer;
108 Result: out Array1OfReal from TColStd) -- dim(Result) = 3
109 returns Boolean from Standard
110
111 raises
112 ConstructionError from Standard;
113 --- Purpose : if myCase != 1
114
115 EvalCase2(me; S: Real; Order: Integer;
116 Result: out Array1OfReal from TColStd) -- dim(Result) = 5
117 returns Boolean from Standard
118 raises
119 ConstructionError from Standard;
120 --- Purpose : if myCase != 2
121
122 EvalCase3(me: mutable; S: Real; Order: Integer;
123 Result: out Array1OfReal from TColStd) -- dim(Result) = 7
124 returns Boolean from Standard
125 raises
126 ConstructionError from Standard;
127 --- Purpose : if myCase != 3
128
129 EvalCurOnSur(me; S: Real; Order: Integer;
130 Result: out Array1OfReal from TColStd;
131 NumberOfCurve: Integer)
132 returns Boolean from Standard
133 is private;
134
135fields
136
137 myC3D : HCurve from Adaptor3d;
138 myC2D1 : HCurve2d from Adaptor2d;
139 myC2D2 : HCurve2d from Adaptor2d;
140 mySurf1 : HSurface from Adaptor3d;
141 mySurf2 : HSurface from Adaptor3d;
142 myCase : Integer from Standard; -- [1..3]
143 myFirstS : Real from Standard;
144 myLastS : Real from Standard;
145 myFirstU1: Real from Standard;
146 myLastU1 : Real from Standard;
147 myFirstU2: Real from Standard;
148 myLastU2 : Real from Standard;
149 myLength : Real from Standard;
150 myLength1: Real from Standard;
151 myLength2: Real from Standard;
152 myTolLen : Real from Standard;
41194117
K
153 myPrevS : Real from Standard; -- should be mutable
154 myPrevU : Real from Standard; -- should be mutable
155
7fd59977 156 myUi_1 : HArray1OfReal from TColStd;
157 mySi_1 : HArray1OfReal from TColStd;
158 myUi_2 : HArray1OfReal from TColStd;
159 mySi_2 : HArray1OfReal from TColStd;
160end CurvlinFunc;