7fd59977 |
1 | -- File: NLPlate_HGPPConstraint.cdl |
2 | -- Created: Thu Apr 9 16:41:52 1998 |
3 | -- Author: Andre LIEUTIER |
4 | -- <alr@sgi63> |
5 | ---Copyright: Matra Datavision 1998 |
6 | |
7 | deferred class HGPPConstraint from NLPlate inherits TShared from MMgt |
8 | ---Purpose: define a PinPoint geometric Constraint used to load a Non Linear Plate |
9 | -- |
10 | uses |
11 | XY from gp, |
12 | XYZ from gp, |
13 | D1 from Plate, |
14 | D2 from Plate, |
15 | D3 from Plate |
16 | |
17 | is |
18 | SetUVFreeSliding(me: mutable; UVFree : Boolean) |
19 | is virtual; |
20 | -- If True, allow the UV value to be modified during optimization |
21 | -- this is meaningless (has no effect) on non G0 Constraints |
22 | -- |
23 | |
24 | SetIncrementalLoadAllowed(me: mutable; ILA : Boolean) |
25 | is virtual; |
26 | -- If True, allow the Constraint to be loaded incrementally during optimization |
27 | -- |
28 | |
29 | SetActiveOrder(me: mutable; ActiveOrder : Integer) |
30 | is virtual; |
31 | -- Set the order until which order the constraint is active |
32 | -- -1 means "inactive Constraint" |
33 | -- 0 means only G0 part of the Constraint is Active (or inactive Constraint in case of non G0 Constraint) |
34 | -- 1 means only G0 and G1 part of the Constraint is Active .. |
35 | -- etc... |
36 | -- default Value is the Constraint Order ( 0,1,2 or 3). |
37 | |
38 | SetUV(me: mutable; UV : XY) |
39 | is virtual; |
40 | -- set the UV associated to the Constraint. |
41 | |
42 | SetOrientation(me: mutable; Orient : Integer = 0) |
43 | is virtual; |
44 | -- set the orientation (meaningless for non G1 Constraints) |
45 | -- -1 means that the Surface Normal have to be -1*the Constraint Normal |
46 | -- 0 means that G1 constraint is up to a normal inversion (default value) |
47 | -- 1 means that the Surface Normal have to be equal to the Constraint Normal. |
48 | -- remarks : within the current implementation, this is effective only in case of |
49 | -- incremental loading computation |
50 | |
51 | |
52 | SetG0Criterion(me : mutable; TolDist : Real from Standard) is virtual; |
53 | -- set the accuracy with which we want to match the G0 constraint |
54 | -- the dimension is a length |
55 | |
56 | SetG1Criterion(me : mutable; TolAng : Real from Standard) is virtual; |
57 | -- set the accuracy with which we want to match the G1 constraint |
58 | -- the dimension is an angle in radian (or no dimension) |
59 | |
60 | SetG2Criterion(me : mutable; TolCurv : Real from Standard) is virtual; |
61 | -- set the accuracy with which we want to match the G2 constraint |
62 | -- the dimension is the inverse of a length |
63 | |
64 | SetG3Criterion(me : mutable; TolG3 : Real from Standard) is virtual; |
65 | -- set the accuracy with which we want to match the G3 constraint |
66 | -- the dimension is the inverse of a square of a length |
67 | |
68 | |
69 | UVFreeSliding(me) returns Boolean |
70 | is virtual; |
71 | -- If True, allow the UV value to be modified during optimization |
72 | -- this is meaningless on non G0 Constraints |
73 | -- |
74 | |
75 | IncrementalLoadAllowed(me) returns Boolean |
76 | is virtual; |
77 | -- If True, allow the Constraint to be loaded incrementally during optimization |
78 | -- |
79 | |
80 | ActiveOrder(me) returns Integer |
81 | is deferred; |
82 | -- returns the constraint active order, i.e. the maximum between the initial |
83 | -- constraint order (G0,G1..) and the value set by the SetActiveOrder method |
84 | -- |
85 | |
86 | UV(me) returns XY |
87 | ---C++: return const & |
88 | is virtual; |
89 | -- get the UV associated to the Constraint. |
90 | -- If UVFreeSliding is TRUE, it may be different from the initial given value |
91 | -- |
92 | Orientation(me: mutable) returns Integer |
93 | is virtual; |
94 | -- set the orientation (meaningless for non G1 Constraints) |
95 | -- -1 means that the Surface Normal have to be -1*the Constraint Normal |
96 | -- 0 means that G1 constraint is up to a normal inversion (default value) |
97 | -- 1 means that the Surface Normal have to be equal to the Constraint Normal. |
98 | -- remarks : within the current implementation, this is effective only in case of |
99 | -- incremental loading computation |
100 | -- |
101 | |
102 | |
103 | IsG0(me) returns Boolean |
104 | is deferred; |
105 | |
106 | G0Target(me) returns XYZ |
107 | ---C++: return const & |
108 | is virtual; |
109 | |
110 | G1Target(me) returns D1 from Plate |
111 | ---C++: return const & |
112 | is virtual; |
113 | |
114 | G2Target(me) returns D2 from Plate |
115 | ---C++: return const & |
116 | is virtual; |
117 | |
118 | G3Target(me) returns D3 from Plate |
119 | ---C++: return const & |
120 | is virtual; |
121 | G0Criterion(me) returns Real from Standard is virtual; |
122 | -- return the accuracy with which we want to match the G0 constraint |
123 | -- the dimension is a length |
124 | |
125 | G1Criterion(me) returns Real from Standard is virtual ; |
126 | -- return the accuracy with which we want to match the G1 constraint |
127 | -- the dimension is an angle in radian (or no dimension) |
128 | |
129 | G2Criterion(me) returns Real from Standard is virtual; |
130 | -- return the accuracy with which we want to match the G2 constraint |
131 | -- the dimension is the inverse of a length |
132 | |
133 | G3Criterion(me) returns Real from Standard is virtual; |
134 | -- return the accuracy with which we want to match the G3 constraint |
135 | -- the dimension is the inverse of a square of a length |
136 | |
137 | |
138 | fields |
139 | myUV : XY from gp is protected; |
140 | myActiveOrder : Integer is protected; |
141 | end; |