summary | shortlog | log | commit | commitdiff | tree

blob | blame (non-incremental) | history | HEAD

blob | blame (non-incremental) | history | HEAD

... / ...

Commit | Line | Data |
---|---|---|

1 | -- Created on: 1997-09-11 | |

2 | -- Created by: Philippe MANGIN | |

3 | -- Copyright (c) 1997-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 | ||

21 | ||

22 | ||

23 | generic class LinearCriteria from AppParCurves | |

24 | (MultiLine as any; | |

25 | ToolLine as any) -- as ToolLine(MultiLine) | |

26 | inherits SmoothCriterion from AppParCurves | |

27 | ||

28 | ---Purpose: defined an Linear Criteria to used in variational | |

29 | -- Smoothing of points. | |

30 | ||

31 | ||

32 | uses | |

33 | Vector from math, | |

34 | Matrix from math, | |

35 | Curve from FEmTool, | |

36 | HAssemblyTable from FEmTool, | |

37 | ElementaryCriterion from FEmTool, | |

38 | HArray2OfInteger from TColStd, | |

39 | HArray1OfReal from TColStd, | |

40 | Array1OfReal from TColStd | |

41 | ||

42 | raises | |

43 | NotImplemented, | |

44 | DomainError | |

45 | ||

46 | ||

47 | ||

48 | is | |

49 | Create(SSP: MultiLine; | |

50 | FirstPoint, LastPoint: Integer) returns LinearCriteria; | |

51 | ||

52 | SetParameters(me : mutable; Parameters : HArray1OfReal); | |

53 | ||

54 | SetCurve(me : mutable; C :Curve from FEmTool) | |

55 | is static; | |

56 | ||

57 | GetCurve(me; C : out Curve from FEmTool) | |

58 | is static; | |

59 | ||

60 | SetEstimation(me : mutable; E1, E2, E3 : Real) | |

61 | is static; | |

62 | ||

63 | EstLength(me : mutable) | |

64 | ---C++: return & | |

65 | returns Real is static; | |

66 | ||

67 | GetEstimation(me; E1, E2, E3 : out Real) | |

68 | is static; | |

69 | ||

70 | AssemblyTable(me) | |

71 | returns HAssemblyTable from FEmTool | |

72 | is static; | |

73 | ||

74 | DependenceTable(me) | |

75 | returns HArray2OfInteger from TColStd | |

76 | is static; | |

77 | ||

78 | ||

79 | QualityValues (me : mutable; J1min, J2min, J3min : Real; | |

80 | J1, J2, J3 : out Real) | |

81 | returns Integer is static; | |

82 | ||

83 | ErrorValues(me : mutable; | |

84 | MaxError, QuadraticError, AverageError : out Real) | |

85 | is static; | |

86 | ||

87 | Hessian(me : mutable ; | |

88 | Element : Integer; | |

89 | Dimension1 : Integer; | |

90 | Dimension2 : Integer; | |

91 | H : out Matrix from math) | |

92 | raises DomainError -- If DependenceTable(Dimension1,Dimension2) is False | |

93 | is static; | |

94 | ||

95 | ||

96 | Gradient(me : mutable; | |

97 | Element : Integer; | |

98 | Dimension : Integer; | |

99 | G : out Vector from math) | |

100 | is static; | |

101 | ||

102 | InputVector(me : mutable; X : Vector from math; | |

103 | AssTable : HAssemblyTable from FEmTool) | |

104 | ---Purpose: Convert the assembly Vector in an Curve; | |

105 | -- | |

106 | raises DomainError; | |

107 | ||

108 | SetWeight(me: mutable; | |

109 | QuadraticWeight, QualityWeight : Real; | |

110 | percentJ1, percentJ2, percentJ3 : Real) | |

111 | is static; | |

112 | ||

113 | GetWeight(me; QuadraticWeight, QualityWeight : out Real) | |

114 | is static; | |

115 | ||

116 | SetWeight(me: mutable; | |

117 | Weight : Array1OfReal) | |

118 | is static; | |

119 | ||

120 | BuildCache(me: mutable; E : Integer) is private; | |

121 | ||

122 | fields | |

123 | mySSP : MultiLine; | |

124 | myParameters : HArray1OfReal; | |

125 | myCache : HArray1OfReal; | |

126 | myCriteria : ElementaryCriterion from FEmTool[3]; | |

127 | myEstimation: Real[3]; | |

128 | myQuadraticWeight, myQualityWeight : Real; | |

129 | myPercent : Real[3]; | |

130 | myPntWeight : Array1OfReal; | |

131 | myCurve : Curve from FEmTool; | |

132 | myLength : Real; | |

133 | myE : Integer; | |

134 | IF, IL : Integer; | |

135 | end LinearCriteria; | |

136 | ||

137 | ||

138 | ||

139 | ||

140 | ||

141 | ||

142 | ||

143 | ||

144 | ||

145 | ||

146 | ||

147 |