0022610: The algorithm GeomAPI_ProjectPointOnSurf produces wrong results
[occt.git] / src / Extrema / Extrema_CurveTool.cdl
1 -- Created on: 1995-07-18
2 -- Created by: Modelistation
3 -- Copyright (c) 1995-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
21
22
23 class CurveTool from Extrema
24
25 uses Pnt          from gp,
26      Vec          from gp,
27      Circ         from gp,
28      Elips        from gp,
29      Hypr         from gp,
30      Parab        from gp,
31      Lin          from gp,
32      Array1OfReal from TColStd,
33      BezierCurve  from Geom,
34      BSplineCurve from Geom,
35      CurveType    from GeomAbs,
36      Shape        from GeomAbs,
37      Curve        from Adaptor3d
38      
39 is
40
41
42     FirstParameter(myclass; C : Curve from Adaptor3d)
43     returns Real from Standard;
44         ---C++: inline
45
46     LastParameter(myclass; C : Curve from Adaptor3d)
47     returns Real from Standard;
48         ---C++: inline
49     
50     Continuity(myclass; C: Curve from Adaptor3d) returns Shape from GeomAbs;
51         ---C++: inline
52
53     NbIntervals(myclass; C: in out Curve from Adaptor3d; S : Shape from GeomAbs) returns Integer;
54         ---Purpose: Returns  the number  of  intervals for  continuity
55         --          <S>. May be one if Continuity(me) >= <S>
56         ---C++: inline
57
58
59     Intervals(myclass; C: in out Curve from Adaptor3d; T : in out Array1OfReal from TColStd; 
60                   S : Shape from GeomAbs);
61         ---Purpose: Stores in <T> the  parameters bounding the intervals
62         --          of continuity <S>.
63         --          
64         --          The array must provide  enough room to  accomodate
65         --          for the parameters. i.e. T.Length() > NbIntervals()
66         ---C++: inline
67     
68     IsPeriodic(myclass;C: Curve from Adaptor3d) returns Boolean;
69  
70     Period(myclass; C: Curve from Adaptor3d) returns Real;
71         ---C++: inline
72
73
74     Resolution(myclass; C: Curve from Adaptor3d; R3d: Real) returns Real;
75         ---C++: inline
76
77
78     GetType(myclass;C: Curve from Adaptor3d) returns CurveType from GeomAbs;
79         ---C++: inline
80
81
82     Value(myclass; C : Curve from Adaptor3d;
83                    U : Real    from Standard)
84     returns Pnt from gp;
85         ---C++: inline
86     
87     D1 (myclass; C :     Curve from Adaptor3d;
88                  U :     Real    from Standard;
89                  P : out Pnt from gp;
90                  V : out Vec from gp);
91         ---C++: inline
92     
93     D2 (myclass; C      :     Curve from Adaptor3d;
94                  U      :     Real    from Standard;
95                  P      : out Pnt from gp;
96                  V1, V2 : out Vec from gp);
97         ---C++: inline
98
99    Line(myclass; C : Curve from Adaptor3d) returns Lin from gp;
100         ---C++: inline
101    
102    Circle(myclass; C : Curve from Adaptor3d) returns Circ from gp;
103         ---C++: inline
104
105    Ellipse(myclass; C : Curve from Adaptor3d) returns Elips from gp;
106         ---C++: inline
107
108    Hyperbola(myclass; C : Curve from Adaptor3d) returns  Hypr from gp;
109         ---C++: inline
110
111    Parabola(myclass; C : Curve from Adaptor3d) returns Parab from gp;
112         ---C++: inline
113
114    Degree(myclass; C : Curve from Adaptor3d) returns Integer;
115         ---C++: inline
116      
117    IsRational(myclass; C : Curve from Adaptor3d) returns Boolean;
118         ---C++: inline
119      
120    NbPoles(myclass; C : Curve from Adaptor3d) returns Integer;
121         ---C++: inline
122      
123    NbKnots(myclass; C : Curve from Adaptor3d) returns Integer;
124         ---C++: inline
125      
126    Bezier(myclass; C : Curve from Adaptor3d) returns BezierCurve from Geom;
127         ---C++: inline
128
129    BSpline(myclass; C : Curve from Adaptor3d) returns BSplineCurve from Geom;
130         ---C++: inline
131      
132
133 end CurveTool;