0024830: Remove redundant keyword 'mutable' in CDL declarations
[occt.git] / src / ChFiDS / ChFiDS_ElSpine.cdl
1 -- Created on: 1995-05-04
2 -- Created by: Laurent BOURESCHE
3 -- Copyright (c) 1995-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
5 --
6 -- This file is part of Open CASCADE Technology software library.
7 --
8 -- This library is free software; you can redistribute it and/or modify it under
9 -- the terms of the GNU Lesser General Public License version 2.1 as published
10 -- by the Free Software Foundation, with special exception defined in the file
11 -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 -- distribution for complete text of the license and disclaimer of any warranty.
13 --
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
16
17 class ElSpine from ChFiDS inherits Curve from Adaptor3d
18
19         ---Purpose: Elementary  Spine for cheminements and approximations.
20
21 uses
22     Pnt          from gp,
23     Vec          from gp,  
24     Lin          from gp,   
25     Circ         from gp,  
26     Elips        from gp,  
27     Hypr         from gp,  
28     Parab        from gp,   
29     BezierCurve  from Geom,  
30     BSplineCurve from Geom, 
31     Array1OfReal from TColStd,
32     SurfData     from ChFiDS,
33     Shape        from GeomAbs,
34     CurveType    from GeomAbs,
35     HCurve       from Adaptor3d,
36     Curve        from Geom,
37     Curve        from GeomAdaptor
38     
39 raises
40     OutOfRange          from Standard,
41     NoSuchObject        from Standard,
42     DomainError         from Standard
43 is
44
45     Create returns ElSpine from ChFiDS;
46     
47     FirstParameter(me) returns Real from Standard
48     is redefined;
49
50     LastParameter(me) returns Real from Standard
51     is redefined;
52     
53     Continuity(me) returns Shape from GeomAbs
54     is redefined static;
55
56     NbIntervals(me: in out; S : Shape from GeomAbs) 
57     returns Integer is redefined static;
58
59     Intervals(me: in out; 
60               T : in out Array1OfReal from TColStd; 
61               S : Shape from GeomAbs)
62     is redefined static;
63     
64     Trim(me; First, Last, Tol : Real) returns HCurve from Adaptor3d
65     ---Purpose: Returns    a  curve equivalent   of  <me>  between
66     --          parameters <First>  and <Last>. <Tol>  is used  to
67     --          test for 3d points confusion.
68     is redefined;
69     
70     Resolution(me; R3d : Real) returns Real
71     is redefined;
72     
73     GetType(me) returns CurveType from GeomAbs
74     is redefined;
75
76     IsPeriodic(me) returns Boolean
77     is redefined;
78
79     SetPeriodic(me : in out ; I : Boolean from Standard) is static;
80
81     Period(me) returns Real
82     is redefined;
83
84     Value(me ; AbsC : Real ) returns Pnt from gp 
85     is redefined;
86     
87     D0(me ; AbsC : Real ; P : out Pnt from gp) 
88     is redefined;
89
90     D1(me ; AbsC : Real ; P : out Pnt from gp; V1 : out Vec from gp) 
91     is redefined;
92     
93     D2(me ; AbsC : Real ; P : out Pnt from gp; 
94        V1,V2 : out Vec from gp)  
95     is redefined;
96
97     D3(me ; AbsC : Real ; P : out Pnt from gp; 
98        V1,V2, V3 : out Vec from gp)  
99     is redefined;
100      
101     FirstParameter(me : in out; P : Real from Standard);
102
103     LastParameter(me : in out; P : Real from Standard);
104
105     SetOrigin(me : in out; O : Real from Standard);
106
107     FirstPointAndTgt(me; P : out Pnt from gp; T : out Vec from gp);
108
109     LastPointAndTgt(me; P : out Pnt from gp; T : out Vec from gp);
110
111     SetFirstPointAndTgt(me : in out; P : Pnt from gp; T : Vec from gp);
112
113     SetLastPointAndTgt(me : in out; P : Pnt from gp; T : Vec from gp);
114
115     SetCurve(me : in out; C : Curve from Geom);
116
117     Previous(me) returns SurfData from ChFiDS;
118     ---C++: return const &
119
120     ChangePrevious(me : in out) returns any SurfData from ChFiDS;
121     ---C++: return &
122
123     Next(me) returns SurfData from ChFiDS;
124     ---C++: return const &
125
126     ChangeNext(me : in out) returns any SurfData from ChFiDS;
127     ---C++: return &
128
129    Line(me) returns Lin from gp
130    raises 
131         NoSuchObject from Standard
132    is redefined static;
133    
134    Circle(me) returns Circ from gp
135    raises 
136         NoSuchObject from Standard
137    is redefined static;
138
139    Ellipse(me) returns Elips from gp
140    raises 
141         NoSuchObject from Standard
142    is redefined static;
143
144    Hyperbola(me) returns  Hypr from gp
145    raises 
146         NoSuchObject from Standard
147    is redefined static;
148
149    Parabola(me) returns Parab from gp
150    raises 
151         NoSuchObject from Standard
152    is redefined static;
153
154                    
155    Bezier(me) returns BezierCurve from Geom
156    raises 
157         NoSuchObject from Standard
158    is redefined static;
159    --Purpose:  Warning : This will NOT make a copy of the
160     --         Bezier Curve : If you want to modify
161     --         the Curve please make a copy yourself
162     --         Also it will NOT trim the surface to
163     --         myFirst/Last.
164     
165    BSpline(me) returns BSplineCurve from Geom
166    raises 
167         NoSuchObject from Standard
168    is redefined static;
169     --  Purpose : Warning : This will NOT make a copy of the
170     --         BSpline Curve : If you want to modify
171     --         the Curve please make a copy yourself
172     --         Also it will NOT trim the surface to
173     --         myFirst/Last.
174 fields
175  
176 curve     : Curve    from GeomAdaptor; 
177
178 ptfirst   : Pnt      from gp;
179 ptlast    : Pnt      from gp;
180 tgfirst   : Vec      from gp;
181 tglast    : Vec      from gp;
182
183 previous  : SurfData from ChFiDS;
184 next      : SurfData from ChFiDS; 
185
186 pfirst    : Real     from Standard;
187 plast     : Real     from Standard;
188 period    : Real     from Standard;
189 periodic  : Boolean  from Standard; 
190
191
192 end ElSpine;