b311480e |
1 | -- Created on: 1995-12-04 |
2 | -- Created by: Laurent BOURESCHE |
3 | -- Copyright (c) 1995-1999 Matra Datavision |
973c2be1 |
4 | -- Copyright (c) 1999-2014 OPEN CASCADE SAS |
b311480e |
5 | -- |
973c2be1 |
6 | -- This file is part of Open CASCADE Technology software library. |
b311480e |
7 | -- |
d5f74e42 |
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 |
973c2be1 |
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. |
b311480e |
13 | -- |
973c2be1 |
14 | -- Alternatively, this file may be used under the terms of Open CASCADE |
15 | -- commercial license or contractual agreement. |
7fd59977 |
16 | |
17 | class CoonsAlgPatch from GeomFill inherits TShared from MMgt |
18 | |
19 | ---Purpose: Provides evaluation methods on an algorithmic |
ff8178ef |
20 | -- patch (based on 4 Curves) defined by its boundaries and blending |
7fd59977 |
21 | -- functions. |
22 | |
23 | uses |
24 | Pnt from gp, |
25 | Vec from gp, |
26 | Boundary from GeomFill, |
27 | Function from Law |
28 | |
29 | is |
30 | |
31 | Create(B1, B2, B3, B4 : Boundary from GeomFill) |
32 | ---Purpose: Constructs the algorithmic patch. By Default the |
33 | -- constructed blending functions are linear. |
34 | -- Warning: No control is done on the bounds. |
35 | -- B1/B3 and B2/B4 must be same range and well oriented. |
6e33d3ce |
36 | returns CoonsAlgPatch from GeomFill; |
7fd59977 |
37 | |
38 | Func(me; |
39 | f1,f2 : out Function from Law) |
40 | ---Purpose: Give the blending functions. |
41 | |
42 | is static; |
43 | |
44 | SetFunc(me : mutable; |
45 | f1,f2 : Function from Law) |
46 | ---Purpose: Set the blending functions. |
47 | |
48 | is static; |
49 | |
50 | Value(me; |
51 | U,V : Real from Standard) returns Pnt from gp |
52 | ---Purpose: Computes the value on the algorithmic patch at |
53 | -- parameters U and V. |
54 | is static; |
55 | |
56 | D1U(me; |
57 | U,V : Real from Standard) |
58 | returns Vec from gp |
59 | ---Purpose: Computes the d/dU partial derivative on the |
60 | -- algorithmic patch at parameters U and V. |
61 | is static; |
62 | |
63 | D1V(me; |
64 | U,V : Real from Standard) |
65 | returns Vec from gp |
66 | ---Purpose: Computes the d/dV partial derivative on the |
67 | -- algorithmic patch at parameters U and V. |
68 | is static; |
69 | |
70 | DUV(me; |
71 | U,V : Real from Standard) |
72 | returns Vec from gp |
73 | ---Purpose: Computes the d2/dUdV partial derivative on the |
74 | -- algorithmic patch made with linear blending functions |
75 | -- at parameter U and V. |
76 | is static; |
77 | |
78 | Corner(me; I : Integer from Standard) |
79 | ---C++: return const& |
80 | returns Pnt from gp |
81 | is static; |
82 | |
83 | Bound(me; I : Integer from Standard) |
84 | ---C++: return const& |
85 | returns any Boundary from GeomFill |
86 | is static; |
87 | |
88 | Func(me; I : Integer from Standard) |
89 | ---C++: return const& |
90 | returns any Function from Law |
91 | is static; |
92 | |
93 | fields |
94 | |
95 | -- the boundaries. |
96 | bound : Boundary from GeomFill [4]; |
97 | |
98 | -- the corners. |
99 | c : Pnt from gp [4]; |
7fd59977 |
100 | |
101 | -- the blending functions. |
102 | a : Function from Law [2]; |
103 | |
104 | end CoonsAlgPatch; |