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