0024171: Eliminate CLang compiler warning -Wreorder
[occt.git] / src / ProjLib / ProjLib_CompProjectedCurve.cdl
CommitLineData
b311480e 1-- Created on: 1997-09-22
2-- Created by: Roman BORISOV
3-- Copyright (c) 1997-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
22class CompProjectedCurve from ProjLib inherits Curve2d from Adaptor2d
23
24uses
25 HSurface from Adaptor3d,
26 HCurve from Adaptor3d,
27 HCurve2d from Adaptor2d,
28 Pnt2d from gp,
29 Vec2d from gp,
30 Pnt from gp,
31 Array1OfReal from TColStd,
32 HSequenceOfHSequenceOfPnt from ProjLib,
33 Shape from GeomAbs,
34 HArray1OfBoolean from TColStd,
35 HArray1OfReal from TColStd,
36 CurveType from GeomAbs
37
38raises
39
40 OutOfRange from Standard,
41 NoSuchObject from Standard,
42 DomainError from Standard,
43 NotImplemented from Standard
44
45is
46
47 Create returns CompProjectedCurve;
48
49
50 Create(S : HSurface from Adaptor3d;
51 C : HCurve from Adaptor3d;
52 TolU, TolV: Real from Standard)
53 returns CompProjectedCurve;
54 ---Purpose: try to find all solutions
55
56 Create(S : HSurface from Adaptor3d;
57 C : HCurve from Adaptor3d;
58 TolU, TolV, MaxDist: Real from Standard)
59 returns CompProjectedCurve;
60 ---Purpose: this constructor tries to optimize the search using the
61 -- assamption that maximum distance between surface and curve less or
62 -- equal then MaxDist.
63 -- if MaxDist < 0 then algorithm works as above.
64
65 Init(me: in out)
66 ---Purpose : computes a set of projected point and determine the
67 -- continuous parts of the projected curves. The points
68 -- corresponding to a projection on the bounds of the surface are
69 -- included in this set of points.
70 is static;
71
72 Load(me : in out;S : HSurface from Adaptor3d)
73 ---Purpose: Changes the surface.
74 is static;
75
76 Load(me : in out; C : HCurve from Adaptor3d)
77 ---Purpose: Changes the curve.
78 is static;
79
80 GetSurface(me) returns HSurface from Adaptor3d
81 ---C++: return const &
82 is static;
83
84 GetCurve(me) returns HCurve from Adaptor3d
85 ---C++: return const &
86 is static;
87
88 GetTolerance(me; TolU, TolV: in out Real)
89 is static;
90 --
91 -- Global methods - Apply to the whole curve.
92 --
93 NbCurves (me) returns Integer from Standard
94 ---Purpose: returns the number of continuous part of the projected curve
95 is static;
96
97 Bounds(me; Index : in Integer from Standard;
98 Udeb,Ufin : out Real from Standard)
99 --- Purpose : returns the bounds of the continuous part corresponding to Index
100 raises NoSuchObject
101 is static;
102
103 IsSinglePnt(me; Index: Integer; P : out Pnt2d from gp ) returns Boolean from Standard
104 --- Purpose : returns True if part of projection with number Index is a single point and writes its coordinats in P
105 raises NoSuchObject
106 is static;
107
108 IsUIso(me; Index: Integer; U : out Real from Standard) returns Boolean from Standard
109 --- Purpose : returns True if part of projection with number Index is an u-isoparametric curve of input surface
110 raises NoSuchObject
111 is static;
112
113 IsVIso(me; Index: Integer; V : out Real from Standard) returns Boolean from Standard
114 --- Purpose : returns True if part of projection with number Index is an v-isoparametric curve of input surface
115 raises NoSuchObject
116 is static;
117
118
119 Value(me; U : Real from Standard) returns Pnt2d from gp
120 --- Purpose : Computes the point of parameter U on the curve.
121 is redefined static;
122
123 D0 (me; U : Real from Standard; P : out Pnt2d from gp)
124 --- Purpose : Computes the point of parameter U on the curve.
125 raises DomainError
126 is redefined static;
127
128 D1 (me; U : Real from Standard; P : out Pnt2d from gp ; V : out Vec2d from gp)
129 --- Purpose : Computes the point of parameter U on the curve with its
130 -- first derivative.
131 raises
132 DomainError from Standard
133 --- Purpose : Raised if the continuity of the current interval
134 -- is not C1.
135
136 is redefined static;
137
138 D2 (me; U : Real from Standard; P : out Pnt2d from gp; V1, V2 : out Vec2d from gp)
139 --- Purpose :
140 -- Returns the point P of parameter U, the first and second
141 -- derivatives V1 and V2.
142 raises
143 DomainError from Standard
144 --- Purpose : Raised if the continuity of the current interval
145 -- is not C2.
146 is redefined static;
147
148 DN (me; U : Real; N : Integer) returns Vec2d from gp
149 --- Purpose :
150 -- The returned vector gives the value of the derivative for the
151 -- order of derivation N.
152 raises
153 OutOfRange from Standard,
154 --- Purpose : Raised if N < 1.
155 NotImplemented from Standard
156 --- Purpose : Raised if N > 2.
157
158 is redefined static;
159
160 FirstParameter(me) returns Real
161 ---Purpose: Returns the first parameter of the curve C
162 -- which has a projection on S.
163 is redefined static;
164
165 LastParameter(me) returns Real
166 ---Purpose: Returns the last parameter of the curve C
167 -- which has a projection on S.
168 is redefined static;
169
170 NbIntervals(me; S : Shape from GeomAbs) returns Integer
171 ---Purpose: Returns the number of intervals which define
172 -- an S continuous part of the projected curve
173 is redefined static;
174
175 Trim(me;FirstParam,LastParam,Tol : Real) returns HCurve2d from Adaptor2d
176 ---Purpose: Returns a curve equivalent of <me> between
177 -- parameters <First> and <Last>. <Tol> is used to
178 -- test for 2d points confusion.
179 raises
180 OutOfRange from Standard
181 ---Purpose: If <First> >= <Last>
182 is redefined static;
183
184
185 Intervals(me; T : in out Array1OfReal from TColStd;
186 S : Shape from GeomAbs)
187 ---Purpose: Returns the parameters corresponding to
188 -- S discontinuities.
189 --
190 -- The array must provide enough room to accomodate
191 -- for the parameters. i.e. T.Length() > NbIntervals()
192 raises
193 OutOfRange from Standard
194 is redefined static;
195
196 BuildIntervals(me; S : Shape from GeomAbs)
197 raises
198 OutOfRange from Standard
199 is private;
200
201 MaxDistance(me; Index: Integer)
202 ---Purpose: returns the maximum distance between
203 -- curve to project and surface
204 returns Real
205 raises NoSuchObject;
41194117 206
7fd59977 207-- Methods for debugging
208 GetSequence(me) returns HSequenceOfHSequenceOfPnt from ProjLib
209 ---C++: return const &
210 is static;
41194117 211
7fd59977 212 GetType(me) returns CurveType from GeomAbs
213 ---Purpose: Returns the type of the curve in the current
214 -- interval : Line, Circle, Ellipse, Hyperbola,
215 -- Parabola, BezierCurve, BSplineCurve, OtherCurve.
216 is redefined static;
41194117 217
7fd59977 218fields
219
41194117
K
220 mySurface : HSurface from Adaptor3d;
221 myCurve : HCurve from Adaptor3d;
222 myNbCurves : Integer from Standard;
223 mySequence : HSequenceOfHSequenceOfPnt from ProjLib;
7fd59977 224 myTolU : Real from Standard;
41194117
K
225 myTolV : Real from Standard;
226 myMaxDist : Real from Standard;
7fd59977 227 myUIso : HArray1OfBoolean from TColStd;
228 myVIso : HArray1OfBoolean from TColStd;
41194117
K
229 mySnglPnts : HArray1OfBoolean from TColStd;
230 myMaxDistance : HArray1OfReal from TColStd;
231 myTabInt : HArray1OfReal from TColStd; -- this field should be mutable
232
7fd59977 233end CompProjectedCurve;