Integration of OCCT 6.5.0 from SVN
[occt.git] / src / HLRBRep / HLRBRep_LineTool.cdl
1 -- File:        HLRBRep_LineTool.cdl
2 -- Created:     Wed Aug 18 14:58:10 1993
3 -- Author:      Christophe MARION
4 --              <cma@sdsun1>
5 ---Copyright:    Matra Datavision 1993
6
7 class LineTool from HLRBRep
8
9         ---Purpose: The  LineTool  class  provides  class  methods to
10         --          access the methodes of the Line.
11
12 uses
13      Shape           from GeomAbs,
14      CurveType       from GeomAbs,
15      Vec             from gp,
16      Pnt             from gp,
17      Circ            from gp,
18      Elips           from gp,
19      Hypr            from gp,
20      Parab           from gp,
21      Lin             from gp, 
22      BezierCurve     from Geom,
23      BSplineCurve    from Geom,
24      Array1OfPnt     from TColgp,
25      Array1OfReal    from TColStd,
26      HArray1OfReal   from TColStd,
27      Array1OfInteger from TColStd
28      
29 raises
30     
31     OutOfRange          from Standard,
32     NoSuchObject        from Standard,
33     DomainError         from Standard
34  
35 is
36
37     --
38     --     Global methods - Apply to the whole Line.
39     --     
40     
41     FirstParameter(myclass; C : Lin from gp) returns Real
42         ---C++: inline
43     ;
44
45     LastParameter(myclass; C : Lin from gp) returns Real
46         ---C++: inline
47     ;
48     
49     Continuity(myclass; C : Lin from gp) returns Shape from GeomAbs
50         ---C++: inline
51     ;
52     
53     NbIntervals(myclass; C : Lin from gp; S : Shape from GeomAbs) returns Integer
54         ---Purpose: If necessary,   breaks the line  in  intervals of
55         --          continuity <S>.     And   returns  the  number  of
56         --          intervals.
57         ---C++: inline
58     ;
59     
60     Intervals(myclass; C :Lin from gp; T: out Array1OfReal from TColStd; Sh  :  Shape  from  GeomAbs)
61         ---Purpose: Sets the current working interval.
62     raises
63         OutOfRange from Standard -- if Index < 1 or Index > NbIntervals
64         ---C++: inline
65     ;
66     
67     --
68     --     Local methods - Apply to the current interval.
69     --     By default the current interval is the first.
70     --     
71     
72     IntervalFirst(myclass; C : Lin from gp) returns Real
73         ---Purpose: Returns  the  first  parameter    of  the  current
74         --          interval. 
75         ---C++: inline
76     ;
77     
78     IntervalLast(myclass; C : Lin from gp) returns Real
79         ---Purpose: Returns  the  last  parameter    of  the  current
80         --          interval. 
81         ---C++: inline
82     ;
83     
84     IntervalContinuity(myclass; C : Lin from gp) returns Shape from GeomAbs
85         ---C++: inline
86     ;
87     
88     IsClosed(myclass; C : Lin from gp) returns Boolean
89         ---C++: inline
90     ;
91      
92     IsPeriodic(myclass; C : Lin from gp) returns Boolean
93         ---C++: inline
94     ;
95     
96     Period(myclass; C : Lin from gp) returns Real
97     raises
98         DomainError from Standard -- if the line is not periodic
99         ---C++: inline
100     ;
101      
102     Value(myclass; C : Lin from gp; U : Real) returns Pnt from gp
103          --- Purpose : Computes the point of parameter U on the line.
104         ---C++: inline
105     ;
106     
107     D0 (myclass; C : Lin from gp; U : Real; P : out Pnt from gp)
108          --- Purpose : Computes the point of parameter U on the line.
109         ---C++: inline
110     ;
111     
112     D1 (myclass; C : Lin from gp; U : Real; P : out Pnt from gp ; V : out Vec from gp)
113          --- Purpose : Computes the point of parameter U on the line with its
114          --  first derivative.
115      raises 
116         DomainError from Standard
117         --- Purpose : Raised if the continuity of the current interval
118         --  is not C1.
119         ---C++: inline
120     ;
121     
122     D2 (myclass; C : Lin from gp; U : Real; P : out Pnt from gp; V1, V2 : out Vec from gp)
123         --- Purpose :
124         --  Returns the point P of parameter U, the first and second
125         --  derivatives V1 and V2.
126      raises 
127         DomainError from Standard
128         --- Purpose : Raised if the continuity of the current interval
129         --  is not C2.
130         ---C++: inline
131     ;
132
133     D3 (myclass; C : Lin from gp; U : Real; P : out Pnt from gp; V1, V2, V3 : out Vec from gp)
134         --- Purpose :
135         --  Returns the point P of parameter U, the first, the second 
136         --  and the third derivative.
137      raises 
138         DomainError from Standard
139         --- Purpose : Raised if the continuity of the current interval
140         --  is not C3.
141         ---C++: inline
142     ;
143         
144     DN (myclass; C : Lin from gp; U : Real; N : Integer)   returns Vec from gp
145         --- Purpose :
146         --  The returned vector gives the value of the derivative for the 
147         --  order of derivation N.
148      raises  
149         DomainError from Standard,
150         --- Purpose : Raised if the continuity of the current interval
151         --  is not CN.
152         OutOfRange from Standard
153         --- Purpose : Raised if N < 1.            
154         ---C++: inline
155     ;
156
157     Resolution(myclass; C : Lin from gp; R3d : Real) returns Real
158          ---Purpose :  Returns the parametric  resolution corresponding
159          --         to the real space resolution <R3d>.
160         ---C++: inline
161     ;   
162         
163     GetType(myclass; C : Lin from gp) returns CurveType from GeomAbs
164         ---Purpose: Returns  the  type of the   line  in the  current
165         --          interval :   Line,   Circle,   Ellipse, Hyperbola,
166         --          Parabola, BezierCurve, BSplineCurve, OtherCurve.
167         ---C++: inline
168     ;
169
170     --
171     --     The following methods must  be called when GetType returned
172     --     the corresponding type.
173     --     
174
175      Line(myclass; C : Lin from gp) returns Lin from gp
176      raises 
177         NoSuchObject from Standard
178         ---C++: inline
179     ;
180      
181      Circle(myclass; C : Lin from gp) returns Circ from gp
182      raises 
183         NoSuchObject from Standard
184         ---C++: inline
185     ;
186      
187      Ellipse(myclass; C : Lin from gp) returns Elips from gp
188      raises 
189         NoSuchObject from Standard
190         ---C++: inline
191     ;
192      
193      Hyperbola(myclass; C : Lin from gp) returns  Hypr from gp
194      raises 
195         NoSuchObject from Standard
196         ---C++: inline
197     ;
198      
199      Parabola(myclass; C : Lin from gp) returns Parab from gp
200      raises 
201         NoSuchObject from Standard
202         ---C++: inline
203     ;
204      
205      Bezier(myclass; C : Lin from gp) returns BezierCurve from Geom
206      raises 
207         NoSuchObject from Standard
208         ---C++: inline
209     ;
210      
211      BSpline(myclass; C : Lin from gp) returns BSplineCurve from Geom
212      raises 
213         NoSuchObject from Standard
214         ---C++: inline
215     ;
216      
217      Degree(myclass; C : Lin from gp) returns Integer
218      raises 
219         NoSuchObject from Standard
220         ---C++: inline
221     ;
222      
223      NbPoles(myclass; C : Lin from gp) returns Integer
224      raises 
225         NoSuchObject from Standard
226         ---C++: inline
227     ;
228      
229      Poles(myclass; C : Lin from gp; TP : in out Array1OfPnt from TColgp)
230      raises 
231         NoSuchObject from Standard,
232         OutOfRange   from Standard -- if TP has not length NbPoles
233         ---C++: inline
234      ;
235      
236      IsRational(myclass; C : Lin from gp) returns Boolean
237      raises
238         NoSuchObject from Standard
239         ---C++: inline
240      ;
241     
242      PolesAndWeights(myclass; C : Lin from gp; TP : in out Array1OfPnt from  TColgp; 
243                                             TW : in out Array1OfReal from TColStd)
244      raises 
245         NoSuchObject from Standard,
246         OutOfRange   from Standard -- if TW has not length NbPoles
247         ---C++: inline
248      ;
249     
250      NbKnots(myclass; C : Lin from gp) returns Integer
251      raises 
252         NoSuchObject from Standard
253         ---C++: inline
254     ;
255      
256      KnotsAndMultiplicities(myclass; C : Lin from gp;TK : in out Array1OfReal  from  TColStd; 
257                                                   TM : in out Array1OfInteger from TColStd)
258      raises 
259         NoSuchObject from Standard,
260         OutOfRange   from Standard --  if TK has not length NbKnots
261         ---C++: inline
262      ;
263
264
265     NbSamples(myclass; C: Lin from gp; U0,U1: Real from Standard) 
266     ---C++:inline
267     returns Integer from Standard;
268
269 --modified by NIZHNY-MKK  Tue Nov  1 18:49:37 2005
270     SamplePars(myclass;  C: Lin from gp; U0,U1: Real from Standard;  
271                          Defl: Real from Standard; NbMin: Integer  from  Standard; 
272                          Pars: in  out HArray1OfReal from TColStd);
273
274 end LineTool;