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
6 -- This file is part of Open CASCADE Technology software library.
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.
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
17 deferred class ComplexCurve from ShapeExtend inherits Curve from Geom
19 ---Purpose: Defines a curve which consists of several segments.
20 -- Implements basic interface to it.
32 Initialize returns ComplexCurve from ShapeExtend;
35 NbCurves (me) returns Integer is deferred;
36 ---Purpose: Returns number of curves
38 Curve (me; index: Integer) returns Curve from Geom is deferred;
39 ---C++: return const &
40 ---Purpose: Returns curve given by its index
42 LocateParameter (me; U : 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
48 LocalToGlobal (me; index : Integer;
50 returns Real is deferred;
51 ---Purpose: Returns global parameter for the whole curve according
52 -- to the segment and local parameter on it
54 Transform (me: mutable; T: Trsf) is redefined;
55 ---Purpose: Applies transformation to each curve
57 ReversedParameter(me; U: Real) returns Real is redefined;
59 ---Purpose: Returns 1 - U
61 FirstParameter (me) returns Real is redefined;
65 LastParameter (me) returns Real is redefined;
69 IsClosed (me) returns Boolean is redefined;
71 ---Purpose: Returns True if the curve is closed
73 IsPeriodic (me) returns Boolean is redefined;
75 ---Purpose: Returns False
77 Continuity (me) returns Shape from GeomAbs is redefined;
79 ---Purpose: Returns GeomAbs_C0
81 IsCN (me; N: Integer) returns Boolean is redefined;
83 ---Purpose: Returns False if N > 0
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.
89 D1 (me; U: Real; P: out Pnt; V1: out Vec) is redefined;
91 D2 (me; U: Real; P: out Pnt; V1, V2: out Vec) is redefined;
93 D3 (me; U: Real; P: out Pnt; V1, V2, V3: out Vec) is redefined;
95 DN (me; U: Real; N: Integer) returns Vec is redefined;
98 GetScaleFactor(me; ind: Integer) returns Real is deferred;
99 ---Purpose: Returns scale factor for recomputing of deviatives.
103 CheckConnectivity (me: mutable; Preci: Real) returns Boolean;
104 ---Purpose: Checks geometrical connectivity of the curves, including
105 -- closure (sets fields myClosed)
107 TransformDN (me; V: in out Vec; ind: Integer; N: Integer)
109 ---Purpose: Transform the derivative according to its order
113 myClosed: Boolean is protected;