0024428: Implementation of LGPL license
[occt.git] / src / AppParCurves / AppParCurves_LinearCriteria.cdl
CommitLineData
b311480e 1-- Created on: 1997-09-11
2-- Created by: Philippe MANGIN
3-- Copyright (c) 1997-1999 Matra Datavision
973c2be1 4-- Copyright (c) 1999-2014 OPEN CASCADE SAS
b311480e 5--
973c2be1 6-- This file is part of Open CASCADE Technology software library.
b311480e 7--
973c2be1 8-- This library is free software; you can redistribute it and / or modify it
9-- under the terms of the GNU Lesser General Public 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.
b311480e 13--
973c2be1 14-- Alternatively, this file may be used under the terms of Open CASCADE
15-- commercial license or contractual agreement.
7fd59977 16
17generic class LinearCriteria from AppParCurves
18 (MultiLine as any;
19 ToolLine as any) -- as ToolLine(MultiLine)
20inherits SmoothCriterion from AppParCurves
21
22 ---Purpose: defined an Linear Criteria to used in variational
23 -- Smoothing of points.
24
25
26uses
27 Vector from math,
28 Matrix from math,
29 Curve from FEmTool,
30 HAssemblyTable from FEmTool,
31 ElementaryCriterion from FEmTool,
32 HArray2OfInteger from TColStd,
33 HArray1OfReal from TColStd,
34 Array1OfReal from TColStd
35
36raises
37 NotImplemented,
38 DomainError
39
40
41
42is
43 Create(SSP: MultiLine;
44 FirstPoint, LastPoint: Integer) returns LinearCriteria;
45
46 SetParameters(me : mutable; Parameters : HArray1OfReal);
47
48 SetCurve(me : mutable; C :Curve from FEmTool)
49 is static;
50
51 GetCurve(me; C : out Curve from FEmTool)
52 is static;
53
54 SetEstimation(me : mutable; E1, E2, E3 : Real)
55 is static;
56
57 EstLength(me : mutable)
58 ---C++: return &
59 returns Real is static;
60
61 GetEstimation(me; E1, E2, E3 : out Real)
62 is static;
63
64 AssemblyTable(me)
65 returns HAssemblyTable from FEmTool
66 is static;
67
68 DependenceTable(me)
69 returns HArray2OfInteger from TColStd
70 is static;
71
72
73 QualityValues (me : mutable; J1min, J2min, J3min : Real;
74 J1, J2, J3 : out Real)
75 returns Integer is static;
76
77 ErrorValues(me : mutable;
78 MaxError, QuadraticError, AverageError : out Real)
79 is static;
80
81 Hessian(me : mutable ;
82 Element : Integer;
83 Dimension1 : Integer;
84 Dimension2 : Integer;
85 H : out Matrix from math)
86 raises DomainError -- If DependenceTable(Dimension1,Dimension2) is False
87 is static;
88
89
90 Gradient(me : mutable;
91 Element : Integer;
92 Dimension : Integer;
93 G : out Vector from math)
94 is static;
95
96 InputVector(me : mutable; X : Vector from math;
97 AssTable : HAssemblyTable from FEmTool)
98 ---Purpose: Convert the assembly Vector in an Curve;
99 --
100 raises DomainError;
101
102 SetWeight(me: mutable;
103 QuadraticWeight, QualityWeight : Real;
104 percentJ1, percentJ2, percentJ3 : Real)
105 is static;
106
107 GetWeight(me; QuadraticWeight, QualityWeight : out Real)
108 is static;
109
110 SetWeight(me: mutable;
111 Weight : Array1OfReal)
112 is static;
113
114 BuildCache(me: mutable; E : Integer) is private;
115
116fields
117mySSP : MultiLine;
118myParameters : HArray1OfReal;
119myCache : HArray1OfReal;
120myCriteria : ElementaryCriterion from FEmTool[3];
121myEstimation: Real[3];
122myQuadraticWeight, myQualityWeight : Real;
123myPercent : Real[3];
124myPntWeight : Array1OfReal;
125myCurve : Curve from FEmTool;
126myLength : Real;
127myE : Integer;
128IF, IL : Integer;
129end LinearCriteria;
130
131
132
133
134
135
136
137
138
139
140
141