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
|
-- File: GeomFill_CoonsAlgPatch.cdl
-- Created: Mon Dec 4 09:38:55 1995
-- Author: Laurent BOURESCHE
-- <lbo@phylox>
---Copyright: Matra Datavision 1995
class CoonsAlgPatch from GeomFill inherits TShared from MMgt
---Purpose: Provides evaluation methods on an algorithmic
-- patch defined by its boundaries and blending
-- functions.
uses
Pnt from gp,
Vec from gp,
Boundary from GeomFill,
Function from Law
is
Create(B1, B2, B3, B4 : Boundary from GeomFill)
---Purpose: Constructs the algorithmic patch. By Default the
-- constructed blending functions are linear.
-- Warning: No control is done on the bounds.
-- B1/B3 and B2/B4 must be same range and well oriented.
returns mutable CoonsAlgPatch from GeomFill;
Func(me;
f1,f2 : out Function from Law)
---Purpose: Give the blending functions.
is static;
SetFunc(me : mutable;
f1,f2 : Function from Law)
---Purpose: Set the blending functions.
is static;
Value(me;
U,V : Real from Standard) returns Pnt from gp
---Purpose: Computes the value on the algorithmic patch at
-- parameters U and V.
is static;
D1U(me;
U,V : Real from Standard)
returns Vec from gp
---Purpose: Computes the d/dU partial derivative on the
-- algorithmic patch at parameters U and V.
is static;
D1V(me;
U,V : Real from Standard)
returns Vec from gp
---Purpose: Computes the d/dV partial derivative on the
-- algorithmic patch at parameters U and V.
is static;
DUV(me;
U,V : Real from Standard)
returns Vec from gp
---Purpose: Computes the d2/dUdV partial derivative on the
-- algorithmic patch made with linear blending functions
-- at parameter U and V.
is static;
Corner(me; I : Integer from Standard)
---C++: return const&
returns Pnt from gp
is static;
Bound(me; I : Integer from Standard)
---C++: return const&
returns any Boundary from GeomFill
is static;
Func(me; I : Integer from Standard)
---C++: return const&
returns any Function from Law
is static;
fields
-- the boundaries.
bound : Boundary from GeomFill [4];
-- the corners.
c : Pnt from gp [4];
gap : Real from Standard [4];
-- the blending functions.
a : Function from Law [2];
end CoonsAlgPatch;
|