0024530: TKMesh - remove unused package IntPoly
[occt.git] / src / AppParCurves / AppParCurves_LinearCriteria.cdl
1 -- Created on: 1997-09-11
2 -- Created by: Philippe MANGIN
3 -- Copyright (c) 1997-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
5 --
6 -- This file is part of Open CASCADE Technology software library.
7 --
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.
13 --
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
16
17 generic class LinearCriteria from AppParCurves   
18                     (MultiLine   as any;
19                      ToolLine    as any)   -- as ToolLine(MultiLine) 
20 inherits  SmoothCriterion  from AppParCurves
21
22         ---Purpose: defined an Linear Criteria to used in variational
23         --          Smoothing of points.
24                              
25
26 uses
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    
36 raises 
37   NotImplemented,   
38   DomainError 
39    
40  
41
42 is 
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           
116 fields
117 mySSP         :  MultiLine; 
118 myParameters  :  HArray1OfReal; 
119 myCache     :    HArray1OfReal;
120 myCriteria  :  ElementaryCriterion  from  FEmTool[3]; 
121 myEstimation:  Real[3];  
122 myQuadraticWeight,  myQualityWeight  :  Real; 
123 myPercent   :  Real[3]; 
124 myPntWeight :  Array1OfReal;
125 myCurve     :  Curve  from  FEmTool; 
126 myLength    :  Real;  
127 myE         :  Integer; 
128 IF,  IL     :  Integer;
129 end LinearCriteria;
130
131
132
133
134
135
136
137
138
139
140
141