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