Integration of OCCT 6.5.0 from SVN
[occt.git] / src / Adaptor3d / Adaptor3d_IsoCurve.cdl
1 -- File:        Adaptor3d_IsoCurve.cdl
2 -- Created:     Thu Mar 11 17:15:21 1993
3 -- Author:      Isabelle GRIGNON
4 --              <isg@bravox>
5 --              modified 01-1994 by rob (time comsumption)
6 ---Copyright:    Matra Datavision 1993
7
8
9 class IsoCurve from Adaptor3d inherits Curve from Adaptor3d
10         
11         ---Purpose: Defines an isoparametric curve on  a surface.  The
12         --          type  of isoparametric curve  (U  or V) is defined
13         --          with the   enumeration  IsoType from   GeomAbs  if
14         --          NoneIso is given an error is raised.
15
16 uses
17      Array1OfReal    from TColStd,
18      IsoType    from GeomAbs,
19      Shape      from GeomAbs,
20      CurveType  from GeomAbs,
21      Vec        from gp,
22      Pnt        from gp,
23      Circ       from gp,
24      Elips      from gp,
25      Hypr       from gp,
26      Parab      from gp,
27      Lin        from gp,
28      BezierCurve     from Geom,
29      BSplineCurve    from Geom,
30      HCurve          from Adaptor3d,
31      HSurface        from Adaptor3d
32      
33 raises
34     NoSuchObject from Standard,
35     OutOfRange   from Standard,
36     DomainError  from Standard
37      
38 is
39
40     --
41     --      Methods specific of IsoCurve
42     --      
43
44     Create returns IsoCurve from Adaptor3d;
45         ---Purpose: The iso is set to NoneIso.
46     
47     Create(S : HSurface from Adaptor3d) returns IsoCurve from Adaptor3d;
48         ---Purpose: The surface is loaded. The iso is set to NoneIso.
49     
50     Create(S : HSurface from Adaptor3d; 
51            Iso : IsoType from GeomAbs; Param : Real)
52     returns IsoCurve from Adaptor3d;
53            ---Purpose: Creates  an  IsoCurve curve.   Iso  defines the
54            --          type (isoU or  isoU) Param defines the value of
55            --          the iso. The bounds  of  the iso are the bounds
56            --          of the surface.
57
58     Create(S : HSurface from Adaptor3d; 
59            Iso : IsoType from GeomAbs; Param : Real; WFirst,WLast : Real)
60     returns IsoCurve from Adaptor3d;
61            ---Purpose: Create an IsoCurve curve.  Iso defines the type
62            --          (isoU or isov).  Param defines the value of the
63            --          iso. WFirst,WLast define the bounds of the iso.
64
65
66     Load( me:in out ;S : HSurface from Adaptor3d) 
67             ---Purpose: Changes  the surface.  The  iso  is  reset  to
68             --          NoneIso.
69     is static;
70     
71     Load (me : in out ; Iso : IsoType from GeomAbs; Param : Real)
72         ---Purpose: Changes the iso on the current surface.
73     is static;
74
75     Load (me : in out ; 
76           Iso : IsoType from GeomAbs; Param : Real; WFirst,WLast : Real)
77         ---Purpose: Changes the iso on the current surface.
78     is static;
79     
80     Surface(me) returns HSurface from Adaptor3d
81         ---C++: inline
82         ---C++: return const &
83     is static;
84     
85     Iso(me) returns IsoType from GeomAbs
86         ---C++: inline
87     is static;
88     
89     Parameter(me) returns Real
90         ---C++: inline
91     is static;
92     
93     --
94     --      Implementation of Curve from Adaptor3d methods
95     --      
96
97     --
98     --     Global methods - Apply to the whole curve.
99     --     
100     
101     FirstParameter(me) returns Real
102         ---C++: inline
103     is redefined static;
104
105     LastParameter(me) returns Real
106         ---C++: inline
107     is redefined static;
108     
109     Continuity(me) returns Shape from GeomAbs
110     is redefined static;
111     
112     NbIntervals(me:in out; S : Shape from GeomAbs) returns Integer
113         ---Purpose: Returns  the number  of  intervals for  continuity
114         --          <S>. May be one if Continuity(me) >= <S>
115     is redefined static;
116
117     Intervals(me:in out; T : in out Array1OfReal from TColStd; 
118                   S : Shape from GeomAbs)
119         ---Purpose: Stores in <T> the  parameters bounding the intervals
120         --          of continuity <S>.
121         --          
122         --          The array must provide  enough room to  accomodate
123         --          for the parameters. i.e. T.Length() > NbIntervals()
124     raises
125         OutOfRange from Standard 
126     is redefined static;
127     
128     Trim(me; First, Last, Tol : Real) returns HCurve from Adaptor3d
129         ---Purpose: Returns    a  curve equivalent   of  <me>  between
130         --          parameters <First>  and <Last>. <Tol>  is used  to
131         --          test for 3d points confusion.
132     raises
133         OutOfRange from Standard
134         ---Purpose: If <First> >= <Last> 
135     is redefined static;
136
137     
138     IsClosed(me) returns Boolean
139     is redefined static;
140      
141     IsPeriodic(me) returns Boolean
142     is redefined static;
143     
144     Period(me) returns Real
145     raises
146         DomainError from Standard -- if the curve is not periodic
147     is redefined static;
148      
149     Value(me; U : Real) returns Pnt from gp
150          --- Purpose : Computes the point of parameter U on the curve.
151     is redefined static;
152     
153     D0 (me; U : Real; P : out Pnt from gp)
154          --- Purpose : Computes the point of parameter U on the curve.
155     is redefined static;
156     
157     D1 (me; U : Real; P : out Pnt from gp ; V : out Vec from gp)
158          --- Purpose : Computes the point of parameter U on the curve with its
159          --  first derivative.
160      raises 
161         DomainError from Standard
162         --- Purpose : Raised if the continuity of the current interval
163         --  is not C1.
164     is redefined static;
165     
166     D2 (me; U : Real; P : out Pnt from gp; V1, V2 : out Vec from gp)
167         --- Purpose :
168         --  Returns the point P of parameter U, the first and second
169         --  derivatives V1 and V2.
170      raises 
171         DomainError from Standard
172         --- Purpose : Raised if the continuity of the current interval
173         --  is not C2.
174      is redefined static;
175
176     D3 (me; U : Real; P : out Pnt from gp; V1, V2, V3 : out Vec from gp)
177         --- Purpose :
178         --  Returns the point P of parameter U, the first, the second 
179         --  and the third derivative.
180      raises 
181         DomainError from Standard
182         --- Purpose : Raised if the continuity of the current interval
183         --  is not C3.
184      is redefined static;
185         
186     DN (me; U : Real; N : Integer)   returns Vec from gp
187         --- Purpose :
188         --  The returned vector gives the value of the derivative for the 
189         --  order of derivation N.
190      raises  
191         DomainError from Standard,
192         --- Purpose : Raised if the continuity of the current interval
193         --  is not CN.
194         OutOfRange from Standard
195         --- Purpose : Raised if N < 1.            
196      is redefined static;
197
198     Resolution(me; R3d : Real) returns Real
199          ---Purpose :  Returns the parametric  resolution corresponding
200          --         to the real space resolution <R3d>.
201     is redefined static;   
202         
203     GetType(me) returns CurveType from GeomAbs
204         ---Purpose: Returns  the  type of the   curve  in the  current
205         --          interval :   Line,   Circle,   Ellipse, Hyperbola,
206         --          Parabola, BezierCurve, BSplineCurve, OtherCurve.
207     is redefined static;
208
209     --
210     --     The following methods must  be called when GetType returned
211     --     the corresponding type.
212     --     
213
214      Line(me) returns Lin from gp
215      raises 
216         NoSuchObject from Standard
217      is redefined static;
218      
219      Circle(me) returns Circ from gp
220      raises 
221         NoSuchObject from Standard
222      is redefined static;
223      
224      Ellipse(me) returns Elips from gp
225      raises 
226         NoSuchObject from Standard
227      is redefined static;
228      
229      Hyperbola(me) returns  Hypr from gp
230      raises 
231         NoSuchObject from Standard
232      is redefined static;
233      
234      Parabola(me) returns Parab from gp
235      raises 
236         NoSuchObject from Standard
237      is redefined static;
238      
239      
240      
241      Degree(me) returns Integer
242      raises 
243         NoSuchObject from Standard
244      is redefined static;
245      
246      IsRational(me) returns Boolean
247      raises 
248         NoSuchObject from Standard
249      is redefined static;
250      
251      NbPoles(me) returns Integer
252      raises 
253         NoSuchObject from Standard
254      is redefined static;
255
256   
257      NbKnots(me) returns Integer
258      raises 
259         NoSuchObject from Standard
260      is redefined static;     
261           
262
263      
264
265
266      Bezier(me) returns BezierCurve from Geom
267      raises 
268         NoSuchObject from Standard
269      is redefined static;
270     
271      BSpline(me) returns BSplineCurve from Geom
272      raises 
273         NoSuchObject from Standard
274      is redefined static;
275     
276     
277 fields
278
279     mySurface    : HSurface from Adaptor3d;
280     myIso        : IsoType from GeomAbs; 
281     myFirst      : Real;
282     myLast       : Real;
283     myParameter  : Real;
284 end IsoCurve;
285
286
287
288
289