File indexing completed on 2025-01-18 10:02:57
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _AppDef_SmoothCriterion_HeaderFile
0018 #define _AppDef_SmoothCriterion_HeaderFile
0019
0020 #include <Standard.hxx>
0021
0022 #include <Standard_Transient.hxx>
0023 #include <TColStd_HArray1OfReal.hxx>
0024 #include <Standard_Real.hxx>
0025 #include <FEmTool_HAssemblyTable.hxx>
0026 #include <TColStd_HArray2OfInteger.hxx>
0027 #include <Standard_Integer.hxx>
0028 #include <math_Vector.hxx>
0029 #include <TColStd_Array1OfReal.hxx>
0030 class FEmTool_Curve;
0031 class math_Matrix;
0032
0033
0034 class AppDef_SmoothCriterion;
0035 DEFINE_STANDARD_HANDLE(AppDef_SmoothCriterion, Standard_Transient)
0036
0037
0038 class AppDef_SmoothCriterion : public Standard_Transient
0039 {
0040
0041 public:
0042
0043
0044 Standard_EXPORT virtual void SetParameters (const Handle(TColStd_HArray1OfReal)& Parameters) = 0;
0045
0046 Standard_EXPORT virtual void SetCurve (const Handle(FEmTool_Curve)& C) = 0;
0047
0048 Standard_EXPORT virtual void GetCurve (Handle(FEmTool_Curve)& C) const = 0;
0049
0050 Standard_EXPORT virtual void SetEstimation (const Standard_Real E1, const Standard_Real E2, const Standard_Real E3) = 0;
0051
0052 Standard_EXPORT virtual Standard_Real& EstLength() = 0;
0053
0054 Standard_EXPORT virtual void GetEstimation (Standard_Real& E1, Standard_Real& E2, Standard_Real& E3) const = 0;
0055
0056 Standard_EXPORT virtual Handle(FEmTool_HAssemblyTable) AssemblyTable() const = 0;
0057
0058 Standard_EXPORT virtual Handle(TColStd_HArray2OfInteger) DependenceTable() const = 0;
0059
0060 Standard_EXPORT virtual Standard_Integer QualityValues (const Standard_Real J1min, const Standard_Real J2min, const Standard_Real J3min, Standard_Real& J1, Standard_Real& J2, Standard_Real& J3) = 0;
0061
0062 Standard_EXPORT virtual void ErrorValues (Standard_Real& MaxError, Standard_Real& QuadraticError, Standard_Real& AverageError) = 0;
0063
0064 Standard_EXPORT virtual void Hessian (const Standard_Integer Element, const Standard_Integer Dimension1, const Standard_Integer Dimension2, math_Matrix& H) = 0;
0065
0066 Standard_EXPORT virtual void Gradient (const Standard_Integer Element, const Standard_Integer Dimension, math_Vector& G) = 0;
0067
0068
0069 Standard_EXPORT virtual void InputVector (const math_Vector& X, const Handle(FEmTool_HAssemblyTable)& AssTable) = 0;
0070
0071 Standard_EXPORT virtual void SetWeight (const Standard_Real QuadraticWeight, const Standard_Real QualityWeight, const Standard_Real percentJ1, const Standard_Real percentJ2, const Standard_Real percentJ3) = 0;
0072
0073 Standard_EXPORT virtual void GetWeight (Standard_Real& QuadraticWeight, Standard_Real& QualityWeight) const = 0;
0074
0075 Standard_EXPORT virtual void SetWeight (const TColStd_Array1OfReal& Weight) = 0;
0076
0077
0078
0079
0080 DEFINE_STANDARD_RTTIEXT(AppDef_SmoothCriterion,Standard_Transient)
0081
0082 protected:
0083
0084
0085
0086
0087 private:
0088
0089
0090
0091
0092 };
0093
0094
0095
0096
0097
0098
0099
0100 #endif