summaryrefslogtreecommitdiff
path: root/inc/AppDef_MyCriterionOfTheVariational.hxx
blob: 02e7bccfd2915406c07153052fa013f4f092b227 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
// This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to 
// this header file considered to be the "object code" form of the original source.

#ifndef _AppDef_MyCriterionOfTheVariational_HeaderFile
#define _AppDef_MyCriterionOfTheVariational_HeaderFile

#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_DefineHandle_HeaderFile
#include <Standard_DefineHandle.hxx>
#endif
#ifndef _Handle_AppDef_MyCriterionOfTheVariational_HeaderFile
#include <Handle_AppDef_MyCriterionOfTheVariational.hxx>
#endif

#ifndef _AppDef_MultiLine_HeaderFile
#include <AppDef_MultiLine.hxx>
#endif
#ifndef _Handle_TColStd_HArray1OfReal_HeaderFile
#include <Handle_TColStd_HArray1OfReal.hxx>
#endif
#ifndef _Handle_FEmTool_ElementaryCriterion_HeaderFile
#include <Handle_FEmTool_ElementaryCriterion.hxx>
#endif
#ifndef _Standard_Real_HeaderFile
#include <Standard_Real.hxx>
#endif
#ifndef _TColStd_Array1OfReal_HeaderFile
#include <TColStd_Array1OfReal.hxx>
#endif
#ifndef _Handle_FEmTool_Curve_HeaderFile
#include <Handle_FEmTool_Curve.hxx>
#endif
#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
#ifndef _AppParCurves_SmoothCriterion_HeaderFile
#include <AppParCurves_SmoothCriterion.hxx>
#endif
#ifndef _Handle_FEmTool_HAssemblyTable_HeaderFile
#include <Handle_FEmTool_HAssemblyTable.hxx>
#endif
#ifndef _Handle_TColStd_HArray2OfInteger_HeaderFile
#include <Handle_TColStd_HArray2OfInteger.hxx>
#endif
class TColStd_HArray1OfReal;
class FEmTool_ElementaryCriterion;
class FEmTool_Curve;
class Standard_NotImplemented;
class Standard_DomainError;
class AppDef_MultiLine;
class AppDef_MyLineTool;
class FEmTool_HAssemblyTable;
class TColStd_HArray2OfInteger;
class math_Matrix;
class math_Vector;
class TColStd_Array1OfReal;



class AppDef_MyCriterionOfTheVariational : public AppParCurves_SmoothCriterion {

public:

  
  Standard_EXPORT   AppDef_MyCriterionOfTheVariational(const AppDef_MultiLine& SSP,const Standard_Integer FirstPoint,const Standard_Integer LastPoint);
  
  Standard_EXPORT     void SetParameters(const Handle(TColStd_HArray1OfReal)& Parameters) ;
  
  Standard_EXPORT     void SetCurve(const Handle(FEmTool_Curve)& C) ;
  
  Standard_EXPORT     void GetCurve(Handle(FEmTool_Curve)& C) const;
  
  Standard_EXPORT     void SetEstimation(const Standard_Real E1,const Standard_Real E2,const Standard_Real E3) ;
  
  Standard_EXPORT     Standard_Real& EstLength() ;
  
  Standard_EXPORT     void GetEstimation(Standard_Real& E1,Standard_Real& E2,Standard_Real& E3) const;
  
  Standard_EXPORT     Handle_FEmTool_HAssemblyTable AssemblyTable() const;
  
  Standard_EXPORT     Handle_TColStd_HArray2OfInteger DependenceTable() const;
  
  Standard_EXPORT     Standard_Integer QualityValues(const Standard_Real J1min,const Standard_Real J2min,const Standard_Real J3min,Standard_Real& J1,Standard_Real& J2,Standard_Real& J3) ;
  
  Standard_EXPORT     void ErrorValues(Standard_Real& MaxError,Standard_Real& QuadraticError,Standard_Real& AverageError) ;
  
  Standard_EXPORT     void Hessian(const Standard_Integer Element,const Standard_Integer Dimension1,const Standard_Integer Dimension2,math_Matrix& H) ;
  
  Standard_EXPORT     void Gradient(const Standard_Integer Element,const Standard_Integer Dimension,math_Vector& G) ;
  
  Standard_EXPORT     void InputVector(const math_Vector& X,const Handle(FEmTool_HAssemblyTable)& AssTable) ;
  
  Standard_EXPORT     void SetWeight(const Standard_Real QuadraticWeight,const Standard_Real QualityWeight,const Standard_Real percentJ1,const Standard_Real percentJ2,const Standard_Real percentJ3) ;
  
  Standard_EXPORT     void GetWeight(Standard_Real& QuadraticWeight,Standard_Real& QualityWeight) const;
  
  Standard_EXPORT     void SetWeight(const TColStd_Array1OfReal& Weight) ;




  DEFINE_STANDARD_RTTI(AppDef_MyCriterionOfTheVariational)

protected:




private: 

  
  Standard_EXPORT     void BuildCache(const Standard_Integer E) ;

AppDef_MultiLine mySSP;
Handle_TColStd_HArray1OfReal myParameters;
Handle_TColStd_HArray1OfReal myCache;
Handle_FEmTool_ElementaryCriterion myCriteria[3];
Standard_Real myEstimation[3];
Standard_Real myQuadraticWeight;
Standard_Real myQualityWeight;
Standard_Real myPercent[3];
TColStd_Array1OfReal myPntWeight;
Handle_FEmTool_Curve myCurve;
Standard_Real myLength;
Standard_Integer myE;
Standard_Integer IF;
Standard_Integer IL;


};





// other Inline functions and methods (like "C++: function call" methods)


#endif