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
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.
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.
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.
23 generic class LinearCriteria from AppParCurves
25 ToolLine as any) -- as ToolLine(MultiLine)
26 inherits SmoothCriterion from AppParCurves
28 ---Purpose: defined an Linear Criteria to used in variational
29 -- Smoothing of points.
36 HAssemblyTable from FEmTool,
37 ElementaryCriterion from FEmTool,
38 HArray2OfInteger from TColStd,
39 HArray1OfReal from TColStd,
40 Array1OfReal from TColStd
49 Create(SSP: MultiLine;
50 FirstPoint, LastPoint: Integer) returns LinearCriteria;
52 SetParameters(me : mutable; Parameters : HArray1OfReal);
54 SetCurve(me : mutable; C :Curve from FEmTool)
57 GetCurve(me; C : out Curve from FEmTool)
60 SetEstimation(me : mutable; E1, E2, E3 : Real)
63 EstLength(me : mutable)
65 returns Real is static;
67 GetEstimation(me; E1, E2, E3 : out Real)
71 returns HAssemblyTable from FEmTool
75 returns HArray2OfInteger from TColStd
79 QualityValues (me : mutable; J1min, J2min, J3min : Real;
80 J1, J2, J3 : out Real)
81 returns Integer is static;
83 ErrorValues(me : mutable;
84 MaxError, QuadraticError, AverageError : out Real)
87 Hessian(me : mutable ;
91 H : out Matrix from math)
92 raises DomainError -- If DependenceTable(Dimension1,Dimension2) is False
96 Gradient(me : mutable;
99 G : out Vector from math)
102 InputVector(me : mutable; X : Vector from math;
103 AssTable : HAssemblyTable from FEmTool)
104 ---Purpose: Convert the assembly Vector in an Curve;
108 SetWeight(me: mutable;
109 QuadraticWeight, QualityWeight : Real;
110 percentJ1, percentJ2, percentJ3 : Real)
113 GetWeight(me; QuadraticWeight, QualityWeight : out Real)
116 SetWeight(me: mutable;
117 Weight : Array1OfReal)
120 BuildCache(me: mutable; E : Integer) is private;
124 myParameters : HArray1OfReal;
125 myCache : HArray1OfReal;
126 myCriteria : ElementaryCriterion from FEmTool[3];
127 myEstimation: Real[3];
128 myQuadraticWeight, myQualityWeight : Real;
130 myPntWeight : Array1OfReal;
131 myCurve : Curve from FEmTool;