blob: bf664068a21dc1cd995734733189d934ffb3be78 (
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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
|
-- File: GeomFill_GuideTrihedronAC.cdl
-- Created: Tue Jun 23 15:36:58 1998
-- Author: Stephanie HUMEAU
-- <shu@sun17>
---Copyright: Matra Datavision 1998
class GuideTrihedronAC from GeomFill
inherits TrihedronWithGuide from GeomFill
---Purpose: Trihedron in the case of a sweeping along a guide curve.
-- defined by curviline absciss
uses
Shape from GeomAbs,
Array1OfReal from TColStd,
Vec from gp,
Curve from Geom,
HCurve from Adaptor3d,
TrihedronLaw from GeomFill,
CurvlinFunc from Approx
raises
OutOfRange, ConstructionError
is
Create(guide : HCurve from Adaptor3d)
returns GuideTrihedronAC from GeomFill;
SetCurve(me:mutable; C : HCurve from Adaptor3d)
is redefined;
Copy(me) returns TrihedronLaw from GeomFill
is redefined;
Guide(me)
returns HCurve from Adaptor3d
is redefined;
D0( me : mutable;
Param : Real;
Tangent : out Vec from gp;
Normal : out Vec from gp;
BiNormal : out Vec from gp)
returns Boolean is redefined;
D1( me : mutable;
Param : Real;
Tangent : out Vec from gp;
DTangent : out Vec from gp;
Normal : out Vec from gp;
DNormal : out Vec from gp;
BiNormal : out Vec from gp;
DBiNormal : out Vec from gp)
returns Boolean is redefined;
D2( me : mutable;
Param : Real;
Tangent : out Vec from gp;
DTangent : out Vec from gp;
D2Tangent : out Vec from gp;
Normal : out Vec from gp;
DNormal : out Vec from gp;
D2Normal : out Vec from gp;
BiNormal : out Vec from gp;
DBiNormal : out Vec from gp;
D2BiNormal : out Vec from gp)
returns Boolean is redefined;
--
-- =================== Management of continuity ===================
--
NbIntervals(me; S : Shape from GeomAbs)
---Purpose: Returns the number of intervals for continuity
-- <S>.
-- May be one if Continuity(me) >= <S>
returns Integer is redefined;
Intervals(me; T : in out Array1OfReal from TColStd;
S : Shape from GeomAbs)
---Purpose: Stores in <T> the parameters bounding the intervals
-- of continuity <S>.
--
-- The array must provide enough room to accomodate
-- for the parameters. i.e. T.Length() > NbIntervals()
raises
OutOfRange from Standard
is redefined;
SetInterval(me: mutable; First, Last: Real from Standard)
---Purpose: Sets the bounds of the parametric interval on
-- the function
-- This determines the derivatives in these values if the
-- function is not Cn.
is redefined;
-- =================== To help computation of Tolerance ===============
GetAverageLaw(me : mutable;
ATangent : out Vec from gp;
ANormal : out Vec from gp;
ABiNormal : out Vec from gp)
---Purpose: Get average value of M(t) and V(t) it is usfull to
-- make fast approximation of rational surfaces.
is redefined;
-- =================== To help Particular case ===============
IsConstant(me)
---Purpose: Say if the law is Constant
-- Return False by Default.
returns Boolean
is redefined;
IsOnlyBy3dCurve(me)
---Purpose: Say if the law is defined, only by the 3d Geometry of
-- the setted Curve
-- Return False by Default.
returns Boolean
is redefined;
Origine(me : mutable;
OrACR1 : Real;
OrACR2 : Real)
is redefined;
fields
myGuideAC : CurvlinFunc from Approx;
Lguide : Real from Standard;
myCurveAC : CurvlinFunc from Approx;
L : Real from Standard;
myCurve : HCurve from Adaptor3d;
UTol, STol : Real;
Orig1 : Real from Standard;
Orig2 : Real from Standard;
end GuideTrihedronAC;
|