0024784: Move documentation in CDL files to proper location
[occt.git] / src / ShapeExtend / ShapeExtend_ComplexCurve.cdl
1 -- Created on: 1999-06-22
2 -- Created by: Roman LYGIN
3 -- Copyright (c) 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 deferred class ComplexCurve from ShapeExtend inherits Curve from Geom
18
19     ---Purpose: Defines a curve which consists of several segments.
20     --          Implements basic interface to it.
21
22 uses
23
24     Pnt              from gp,
25     Vec              from gp,
26     Trsf             from gp,
27     Shape            from GeomAbs,
28     Curve            from Geom
29
30 is
31
32     Initialize returns ComplexCurve from ShapeExtend;
33         ---Purpose:
34
35     NbCurves (me) returns Integer is deferred;
36         ---Purpose: Returns number of curves
37     
38     Curve (me; index: Integer) returns Curve from Geom is deferred;
39         ---C++: return const &
40         ---Purpose: Returns curve given by its index
41         
42     LocateParameter (me; U   : Real;
43                          UOut: out Real)
44     returns Integer is deferred;
45         ---Purpose: Returns number of the curve for the given parameter U
46         --          and local paramete r UOut for the found curve
47         
48     LocalToGlobal (me; index : Integer;
49                        Ulocal: Real)
50     returns Real is deferred;
51         ---Purpose: Returns global parameter for the whole curve according
52         --          to the segment and local parameter on it
53         
54     Transform (me: mutable; T: Trsf) is redefined;
55         ---Purpose: Applies transformation to each curve
56
57     ReversedParameter(me; U: Real) returns Real is redefined;
58         ---C++: inline
59         ---Purpose: Returns 1 - U
60     
61     FirstParameter (me) returns Real is redefined;
62         ---C++: inline
63         ---Purpose: Returns 0
64     
65     LastParameter (me) returns Real is redefined;
66         ---C++: inline
67         ---Purpose: Returns 1
68     
69     IsClosed (me) returns Boolean is redefined;
70         ---C++: inline
71         ---Purpose: Returns True if the curve is closed
72     
73     IsPeriodic (me) returns Boolean is redefined;
74         ---C++: inline
75         ---Purpose: Returns False
76     
77     Continuity (me) returns Shape from GeomAbs is redefined;
78         ---C++: inline
79         ---Purpose: Returns GeomAbs_C0
80     
81     IsCN (me; N: Integer) returns Boolean is redefined;
82         ---C++: inline
83         ---Purpose: Returns False if N > 0
84                        
85     D0 (me; U: Real; P: out Pnt) is redefined;
86         ---Purpose: Returns point at parameter U.
87         --          Finds appropriate curve and local parameter on it.
88         
89     D1 (me; U: Real; P: out Pnt; V1: out Vec) is redefined;
90     
91     D2 (me; U: Real; P: out Pnt; V1, V2: out Vec) is redefined;
92     
93     D3 (me; U: Real; P: out Pnt; V1, V2, V3: out Vec) is redefined;
94     
95     DN (me; U: Real; N: Integer) returns Vec is redefined;
96
97     
98     GetScaleFactor(me; ind: Integer) returns Real is deferred;
99         ---Purpose: Returns scale factor for recomputing of deviatives.
100     
101     ---Level: Internal
102     
103     CheckConnectivity (me: mutable; Preci: Real) returns Boolean;
104         ---Purpose: Checks geometrical connectivity of the curves, including
105         --          closure (sets fields myClosed)
106     
107     TransformDN (me; V: in out Vec; ind: Integer; N: Integer) 
108     is protected;
109         ---Purpose: Transform the derivative according to its order
110
111 fields
112
113     myClosed: Boolean is protected;
114     
115 end ComplexCurve;