1 -- Created on: 1998-04-09
2 -- Created by: Andre LIEUTIER
3 -- Copyright (c) 1998-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
6 -- This file is part of Open CASCADE Technology software library.
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
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.
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
17 deferred class HGPPConstraint from NLPlate inherits TShared from MMgt
18 ---Purpose: define a PinPoint geometric Constraint used to load a Non Linear Plate
28 SetUVFreeSliding(me: mutable; UVFree : Boolean)
30 -- If True, allow the UV value to be modified during optimization
31 -- this is meaningless (has no effect) on non G0 Constraints
34 SetIncrementalLoadAllowed(me: mutable; ILA : Boolean)
36 -- If True, allow the Constraint to be loaded incrementally during optimization
39 SetActiveOrder(me: mutable; ActiveOrder : Integer)
41 -- Set the order until which order the constraint is active
42 -- -1 means "inactive Constraint"
43 -- 0 means only G0 part of the Constraint is Active (or inactive Constraint in case of non G0 Constraint)
44 -- 1 means only G0 and G1 part of the Constraint is Active ..
46 -- default Value is the Constraint Order ( 0,1,2 or 3).
48 SetUV(me: mutable; UV : XY)
50 -- set the UV associated to the Constraint.
52 SetOrientation(me: mutable; Orient : Integer = 0)
54 -- set the orientation (meaningless for non G1 Constraints)
55 -- -1 means that the Surface Normal have to be -1*the Constraint Normal
56 -- 0 means that G1 constraint is up to a normal inversion (default value)
57 -- 1 means that the Surface Normal have to be equal to the Constraint Normal.
58 -- remarks : within the current implementation, this is effective only in case of
59 -- incremental loading computation
62 SetG0Criterion(me : mutable; TolDist : Real from Standard) is virtual;
63 -- set the accuracy with which we want to match the G0 constraint
64 -- the dimension is a length
66 SetG1Criterion(me : mutable; TolAng : Real from Standard) is virtual;
67 -- set the accuracy with which we want to match the G1 constraint
68 -- the dimension is an angle in radian (or no dimension)
70 SetG2Criterion(me : mutable; TolCurv : Real from Standard) is virtual;
71 -- set the accuracy with which we want to match the G2 constraint
72 -- the dimension is the inverse of a length
74 SetG3Criterion(me : mutable; TolG3 : Real from Standard) is virtual;
75 -- set the accuracy with which we want to match the G3 constraint
76 -- the dimension is the inverse of a square of a length
79 UVFreeSliding(me) returns Boolean
81 -- If True, allow the UV value to be modified during optimization
82 -- this is meaningless on non G0 Constraints
85 IncrementalLoadAllowed(me) returns Boolean
87 -- If True, allow the Constraint to be loaded incrementally during optimization
90 ActiveOrder(me) returns Integer
92 -- returns the constraint active order, i.e. the maximum between the initial
93 -- constraint order (G0,G1..) and the value set by the SetActiveOrder method
97 ---C++: return const &
99 -- get the UV associated to the Constraint.
100 -- If UVFreeSliding is TRUE, it may be different from the initial given value
102 Orientation(me: mutable) returns Integer
104 -- set the orientation (meaningless for non G1 Constraints)
105 -- -1 means that the Surface Normal have to be -1*the Constraint Normal
106 -- 0 means that G1 constraint is up to a normal inversion (default value)
107 -- 1 means that the Surface Normal have to be equal to the Constraint Normal.
108 -- remarks : within the current implementation, this is effective only in case of
109 -- incremental loading computation
113 IsG0(me) returns Boolean
116 G0Target(me) returns XYZ
117 ---C++: return const &
120 G1Target(me) returns D1 from Plate
121 ---C++: return const &
124 G2Target(me) returns D2 from Plate
125 ---C++: return const &
128 G3Target(me) returns D3 from Plate
129 ---C++: return const &
131 G0Criterion(me) returns Real from Standard is virtual;
132 -- return the accuracy with which we want to match the G0 constraint
133 -- the dimension is a length
135 G1Criterion(me) returns Real from Standard is virtual ;
136 -- return the accuracy with which we want to match the G1 constraint
137 -- the dimension is an angle in radian (or no dimension)
139 G2Criterion(me) returns Real from Standard is virtual;
140 -- return the accuracy with which we want to match the G2 constraint
141 -- the dimension is the inverse of a length
143 G3Criterion(me) returns Real from Standard is virtual;
144 -- return the accuracy with which we want to match the G3 constraint
145 -- the dimension is the inverse of a square of a length
149 myUV : XY from gp is protected;
150 myActiveOrder : Integer is protected;