0024166: Unable to create file with "Save" menu of voxeldemo Qt sample
[occt.git] / src / Adaptor3d / Adaptor3d_HCurve.cdl
CommitLineData
b311480e 1-- Created on: 1994-02-23
2-- Created by: model
3-- Copyright (c) 1994-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
23deferred class HCurve from Adaptor3d inherits TShared from MMgt
24
25 ---Purpose: Root class for 3D curves manipulated by handles, on
26 -- which geometric algorithms work.
27 -- An adapted curve is an interface between the
28 -- services provided by a curve and those required of
29 -- the curve by algorithms which use it.
30 -- Two derived concrete classes are provided:
31 -- - GeomAdaptor_HCurve for a curve from the Geom package
32 -- - Adaptor3d_HCurveOnSurface for a curve lying
33 -- on a surface from the Geom package.
34
35
36uses
37 Array1OfReal from TColStd,
38 Shape from GeomAbs,
39 CurveType from GeomAbs,
40 Vec from gp,
41 Pnt from gp,
42 Circ from gp,
43 Elips from gp,
44 Hypr from gp,
45 Parab from gp,
46 Lin from gp,
47 BezierCurve from Geom,
48 BSplineCurve from Geom,
49 Curve from Adaptor3d
50
51raises
52
53 OutOfRange from Standard,
54 NoSuchObject from Standard,
55 DomainError from Standard
56
57is
58
59
60 --
61 -- Access to the curve
62 --
63
64 Curve(me) returns Curve from Adaptor3d
65 ---Purpose: Returns a pointer to the Curve inside the HCurve.
66 --
67 ---C++: return const &
68 is deferred;
69
70 GetCurve(me:mutable) returns Curve from Adaptor3d
71 ---Purpose: Returns a pointer to the Curve inside the HCurve.
72 --
73 ---C++: return &
74 is deferred;
75
76 --
77 -- Curve methods, they are provided for convenience. Each
78 -- method M() is defined inline as :
79 --
80 -- Adaptor3d_HCurve::M() { Curve().M(); }
81 --
82 -- See the class Curve for comments on the methods.
83 --
84
85 FirstParameter(me) returns Real;
86 ---C++: inline
87
88 LastParameter(me) returns Real;
89 ---C++: inline
90
91 Continuity(me) returns Shape from GeomAbs ;
92 ---C++: inline
93
94 NbIntervals(me: mutable; S : Shape from GeomAbs) returns Integer;
95 ---C++: inline
96
97 Intervals(me: mutable; T : in out Array1OfReal from TColStd;
98 S : Shape from GeomAbs)
99 ---Purpose: Stores in <T> the parameters bounding the intervals
100 -- of continuity <S>.
101 --
102 -- The array must provide enough room to accomodate
103 -- for the parameters. i.e. T.Length() > NbIntervals()
104 --
105 ---C++: inline
106 raises
107 OutOfRange from Standard
108 is static;
109
110 Trim(me; First, Last, Tol : Real) returns HCurve from Adaptor3d
111 ---Purpose: Returns a curve equivalent of <me> between
112 -- parameters <First> and <Last>. <Tol> is used to
113 -- test for 3d points confusion.
114 --
115 ---C++: inline
116 raises
117 OutOfRange from Standard
118 ---Purpose: If <First> >= <Last>
119 is static;
120
121
122 IsClosed(me) returns Boolean;
123 ---C++: inline
124
125 IsPeriodic(me) returns Boolean;
126 ---C++: inline
127
128 Period(me) returns Real
129 ---C++: inline
130 raises
131 DomainError from Standard;
132
133 Value(me; U : Real) returns Pnt from gp;
134 ---C++: inline
135
136 D0 (me; U : Real; P : out Pnt from gp);
137 ---C++: inline
138
139 D1 (me; U : Real; P : out Pnt from gp ; V : out Vec from gp)
140 ---C++: inline
141 raises
142 DomainError from Standard;
143
144 D2 (me; U : Real; P : out Pnt from gp; V1, V2 : out Vec from gp)
145 ---C++: inline
146 raises
147 DomainError from Standard;
148
149 D3 (me; U : Real; P : out Pnt from gp; V1, V2, V3 : out Vec from gp)
150 ---C++: inline
151 raises
152 DomainError from Standard;
153
154 DN (me; U : Real; N : Integer) returns Vec from gp
155 ---C++: inline
156 raises
157 DomainError from Standard,
158 OutOfRange from Standard;
159
160 Resolution(me; R3d : Real) returns Real;
161 ---C++: inline
162
163 GetType(me) returns CurveType from GeomAbs;
164 ---C++: inline
165
166 Line(me) returns Lin from gp
167 ---C++: inline
168 raises
169 NoSuchObject from Standard;
170
171 Circle(me) returns Circ from gp
172 ---C++: inline
173 raises
174 NoSuchObject from Standard;
175
176 Ellipse(me) returns Elips from gp
177 ---C++: inline
178 raises
179 NoSuchObject from Standard;
180
181 Hyperbola(me) returns Hypr from gp
182 ---C++: inline
183 raises
184 NoSuchObject from Standard;
185
186 Parabola(me) returns Parab from gp
187 ---C++: inline
188 raises
189 NoSuchObject from Standard;
190
191 Degree(me) returns Integer
192 ---C++: inline
193 raises
194 NoSuchObject from Standard ;
195
196
197 IsRational(me) returns Boolean
198 ---C++: inline
199 raises
200 NoSuchObject from Standard ;
201
202
203 NbPoles(me) returns Integer
204 ---C++: inline
205 raises
206 NoSuchObject from Standard ;
207
208
209 NbKnots(me) returns Integer
210 ---C++: inline
211 raises
212 NoSuchObject from Standard ;
213
214
215 Bezier(me) returns BezierCurve from Geom
216 ---C++: inline
217 raises
218 NoSuchObject from Standard;
219
220 BSpline(me) returns BSplineCurve from Geom
221 ---C++: inline
222 raises
223 NoSuchObject from Standard;
224
225
226end HCurve;
227
228
229