0025969: Wrong result obtained by 2d classifier algorithm.
[occt.git] / src / IntTools / IntTools_Curve.cdl
1 -- Created on: 2000-11-23
2 -- Created by: Michael KLOKOV
3 -- Copyright (c) 2000-2014 OPEN CASCADE SAS
4 --
5 -- This file is part of Open CASCADE Technology software library.
6 --
7 -- This library is free software; you can redistribute it and/or modify it under
8 -- the terms of the GNU Lesser General Public License version 2.1 as published
9 -- by the Free Software Foundation, with special exception defined in the file
10 -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
11 -- distribution for complete text of the license and disclaimer of any warranty.
12 --
13 -- Alternatively, this file may be used under the terms of Open CASCADE
14 -- commercial license or contractual agreement.
15
16 class Curve from IntTools
17       ---Purpose: class is a container of
18       --          one 3d curve
19       --          two 2d curves
20
21 uses
22     Curve from Geom,
23     Curve from Geom2d,
24     Pnt  from gp, 
25     CurveType from GeomAbs
26 is
27     Create  
28         returns Curve from IntTools;
29         ---Purpose:
30         --- Empty constructor
31         ---
32
33     Create(Curve3d: Curve from Geom;  
34            FirstCurve2d : Curve from Geom2d;
35            SecondCurve2d: Curve from Geom2d)
36         returns Curve from IntTools;
37         ---Purpose:
38         --- Initializes me by a 3d curve
39         --- and two 2d curves
40         ---
41
42     SetCurves(me: in out;  
43               Curve3d: Curve from Geom;  
44               FirstCurve2d  : Curve from Geom2d;
45               SecondCurve2d : Curve from Geom2d);
46         ---Purpose:
47         --- Modifier
48         ---
49     
50     SetCurve(me: in out;  
51                 Curve3d: Curve from Geom);
52         ---C++: inline
53         ---Purpose:
54         --- Modifier
55         ---
56     
57     SetFirstCurve2d(me: in out;  
58                 FirstCurve2d: Curve from Geom2d);
59         ---C++: inline
60         ---Purpose:
61         --- Modifier
62         ---
63     
64     SetSecondCurve2d(me: in out;  
65                 SecondCurve2d: Curve from Geom2d);
66         ---C++: inline
67         ---Purpose:
68         --- Modifier
69         ---
70
71     Curve(me)  
72         returns any Curve from Geom;
73         ---C++: return const &
74         ---C++: inline
75         ---Purpose:
76         --- Selector
77         ---
78     
79     FirstCurve2d(me)
80         returns any Curve from Geom2d;
81         ---C++: return const &
82         ---C++: inline
83         ---Purpose:
84         --- Selector
85         ---
86             
87     SecondCurve2d(me)
88         returns any Curve from Geom2d;
89         ---C++: return const &
90         ---C++: inline 
91         ---Purpose:
92         --- Selector
93         ---
94         
95     HasBounds (me) 
96         returns Boolean from Standard;
97         ---Purpose:
98         --- Returns true if 3d curve is BoundedCurve from Geom
99         ---
100
101     Bounds    (me; aT1:out Real from Standard;            
102                    aT2:out Real from Standard;            
103                    aP1:out Pnt  from gp;     
104                    aP2:out Pnt  from gp);
105         ---Purpose:
106         --- Returns boundary parameters
107         --- and corresponded 3d point.
108         ---
109         --  Warning:
110         --- If HasBounds returns false
111         --- the returned parameters are equal
112         --- to zero.
113         ---
114
115     D0        (me;  
116                aT1:out Real from Standard; 
117                aP1:out Pnt  from gp) 
118         returns Boolean from Standard;
119         ---Purpose:
120         --- Computes 3d point corresponded to parameter aT1
121         --- Returns true if given parameter aT1
122         --- is inside the boundaries of the curve
123         ---
124      
125     Type  (me) 
126         returns CurveType from GeomAbs; 
127         ---Purpose:
128         --- Returns the type of 3d curve
129         ---
130  
131 fields
132
133     my3dCurve : Curve from Geom;
134     my2dCurve1: Curve from Geom2d;
135     my2dCurve2: Curve from Geom2d;
136     
137 end Curve from IntTools;