b311480e |
1 | -- Created on: 1995-12-04 |
2 | -- Created by: Laurent BOURESCHE |
3 | -- Copyright (c) 1995-1999 Matra Datavision |
4 | -- Copyright (c) 1999-2012 OPEN CASCADE SAS |
5 | -- |
6 | -- The content of this file is subject to the Open CASCADE Technology Public |
7 | -- License Version 6.5 (the "License"). You may not use the content of this file |
8 | -- except in compliance with the License. Please obtain a copy of the License |
9 | -- at http://www.opencascade.org and read it completely before using this file. |
10 | -- |
11 | -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its |
12 | -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France. |
13 | -- |
14 | -- The Original Code and all software distributed under the License is |
15 | -- distributed on an "AS IS" basis, without warranty of any kind, and the |
16 | -- Initial Developer hereby disclaims all such warranties, including without |
17 | -- limitation, any warranties of merchantability, fitness for a particular |
18 | -- purpose or non-infringement. Please see the License for the specific terms |
19 | -- and conditions governing the rights and limitations under the License. |
20 | |
7fd59977 |
21 | |
22 | |
23 | class CoonsAlgPatch from GeomFill inherits TShared from MMgt |
24 | |
25 | ---Purpose: Provides evaluation methods on an algorithmic |
26 | -- patch defined by its boundaries and blending |
27 | -- functions. |
28 | |
29 | uses |
30 | Pnt from gp, |
31 | Vec from gp, |
32 | Boundary from GeomFill, |
33 | Function from Law |
34 | |
35 | is |
36 | |
37 | Create(B1, B2, B3, B4 : Boundary from GeomFill) |
38 | ---Purpose: Constructs the algorithmic patch. By Default the |
39 | -- constructed blending functions are linear. |
40 | -- Warning: No control is done on the bounds. |
41 | -- B1/B3 and B2/B4 must be same range and well oriented. |
42 | returns mutable CoonsAlgPatch from GeomFill; |
43 | |
44 | Func(me; |
45 | f1,f2 : out Function from Law) |
46 | ---Purpose: Give the blending functions. |
47 | |
48 | is static; |
49 | |
50 | SetFunc(me : mutable; |
51 | f1,f2 : Function from Law) |
52 | ---Purpose: Set the blending functions. |
53 | |
54 | is static; |
55 | |
56 | Value(me; |
57 | U,V : Real from Standard) returns Pnt from gp |
58 | ---Purpose: Computes the value on the algorithmic patch at |
59 | -- parameters U and V. |
60 | is static; |
61 | |
62 | D1U(me; |
63 | U,V : Real from Standard) |
64 | returns Vec from gp |
65 | ---Purpose: Computes the d/dU partial derivative on the |
66 | -- algorithmic patch at parameters U and V. |
67 | is static; |
68 | |
69 | D1V(me; |
70 | U,V : Real from Standard) |
71 | returns Vec from gp |
72 | ---Purpose: Computes the d/dV partial derivative on the |
73 | -- algorithmic patch at parameters U and V. |
74 | is static; |
75 | |
76 | DUV(me; |
77 | U,V : Real from Standard) |
78 | returns Vec from gp |
79 | ---Purpose: Computes the d2/dUdV partial derivative on the |
80 | -- algorithmic patch made with linear blending functions |
81 | -- at parameter U and V. |
82 | is static; |
83 | |
84 | Corner(me; I : Integer from Standard) |
85 | ---C++: return const& |
86 | returns Pnt from gp |
87 | is static; |
88 | |
89 | Bound(me; I : Integer from Standard) |
90 | ---C++: return const& |
91 | returns any Boundary from GeomFill |
92 | is static; |
93 | |
94 | Func(me; I : Integer from Standard) |
95 | ---C++: return const& |
96 | returns any Function from Law |
97 | is static; |
98 | |
99 | fields |
100 | |
101 | -- the boundaries. |
102 | bound : Boundary from GeomFill [4]; |
103 | |
104 | -- the corners. |
105 | c : Pnt from gp [4]; |
7fd59977 |
106 | |
107 | -- the blending functions. |
108 | a : Function from Law [2]; |
109 | |
110 | end CoonsAlgPatch; |