File indexing completed on 2025-01-18 10:02:53
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _AdvApp2Var_ApproxAFunc2Var_HeaderFile
0018 #define _AdvApp2Var_ApproxAFunc2Var_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022 #include <Standard_Handle.hxx>
0023
0024 #include <Standard_Integer.hxx>
0025 #include <TColStd_HArray1OfReal.hxx>
0026 #include <Standard_Real.hxx>
0027 #include <AdvApp2Var_Context.hxx>
0028 #include <AdvApp2Var_Network.hxx>
0029 #include <AdvApp2Var_Framework.hxx>
0030 #include <Standard_Boolean.hxx>
0031 #include <TColGeom_HArray1OfSurface.hxx>
0032 #include <AdvApp2Var_EvaluatorFunc2Var.hxx>
0033 #include <Standard_OStream.hxx>
0034 class AdvApprox_Cutting;
0035 class AdvApp2Var_Criterion;
0036 class Geom_BSplineSurface;
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054
0055
0056
0057
0058
0059
0060
0061
0062
0063
0064
0065
0066
0067
0068
0069
0070
0071
0072
0073
0074
0075
0076
0077
0078
0079
0080
0081
0082
0083
0084
0085 class AdvApp2Var_ApproxAFunc2Var
0086 {
0087 public:
0088
0089 DEFINE_STANDARD_ALLOC
0090
0091
0092 Standard_EXPORT AdvApp2Var_ApproxAFunc2Var(const Standard_Integer Num1DSS, const Standard_Integer Num2DSS, const Standard_Integer Num3DSS, const Handle(TColStd_HArray1OfReal)& OneDTol, const Handle(TColStd_HArray1OfReal)& TwoDTol, const Handle(TColStd_HArray1OfReal)& ThreeDTol, const Handle(TColStd_HArray2OfReal)& OneDTolFr, const Handle(TColStd_HArray2OfReal)& TwoDTolFr, const Handle(TColStd_HArray2OfReal)& ThreeDTolFr, const Standard_Real FirstInU, const Standard_Real LastInU, const Standard_Real FirstInV, const Standard_Real LastInV, const GeomAbs_IsoType FavorIso, const GeomAbs_Shape ContInU, const GeomAbs_Shape ContInV, const Standard_Integer PrecisCode, const Standard_Integer MaxDegInU, const Standard_Integer MaxDegInV, const Standard_Integer MaxPatch, const AdvApp2Var_EvaluatorFunc2Var& Func, AdvApprox_Cutting& UChoice, AdvApprox_Cutting& VChoice);
0093
0094 Standard_EXPORT AdvApp2Var_ApproxAFunc2Var(const Standard_Integer Num1DSS, const Standard_Integer Num2DSS, const Standard_Integer Num3DSS, const Handle(TColStd_HArray1OfReal)& OneDTol, const Handle(TColStd_HArray1OfReal)& TwoDTol, const Handle(TColStd_HArray1OfReal)& ThreeDTol, const Handle(TColStd_HArray2OfReal)& OneDTolFr, const Handle(TColStd_HArray2OfReal)& TwoDTolFr, const Handle(TColStd_HArray2OfReal)& ThreeDTolFr, const Standard_Real FirstInU, const Standard_Real LastInU, const Standard_Real FirstInV, const Standard_Real LastInV, const GeomAbs_IsoType FavorIso, const GeomAbs_Shape ContInU, const GeomAbs_Shape ContInV, const Standard_Integer PrecisCode, const Standard_Integer MaxDegInU, const Standard_Integer MaxDegInV, const Standard_Integer MaxPatch, const AdvApp2Var_EvaluatorFunc2Var& Func, const AdvApp2Var_Criterion& Crit, AdvApprox_Cutting& UChoice, AdvApprox_Cutting& VChoice);
0095
0096
0097
0098 Standard_Boolean IsDone() const;
0099
0100
0101
0102
0103 Standard_Boolean HasResult() const;
0104
0105
0106 Handle(Geom_BSplineSurface) Surface (const Standard_Integer Index) const;
0107
0108 Standard_Integer UDegree() const;
0109
0110 Standard_Integer VDegree() const;
0111
0112 Standard_Integer NumSubSpaces (const Standard_Integer Dimension) const;
0113
0114
0115 Standard_EXPORT Handle(TColStd_HArray1OfReal) MaxError (const Standard_Integer Dimension) const;
0116
0117
0118 Standard_EXPORT Handle(TColStd_HArray1OfReal) AverageError (const Standard_Integer Dimension) const;
0119
0120
0121
0122
0123 Standard_EXPORT Handle(TColStd_HArray1OfReal) UFrontError (const Standard_Integer Dimension) const;
0124
0125
0126
0127
0128 Standard_EXPORT Handle(TColStd_HArray1OfReal) VFrontError (const Standard_Integer Dimension) const;
0129
0130
0131 Standard_EXPORT Standard_Real MaxError (const Standard_Integer Dimension, const Standard_Integer Index) const;
0132
0133
0134 Standard_EXPORT Standard_Real AverageError (const Standard_Integer Dimension, const Standard_Integer Index) const;
0135
0136
0137 Standard_EXPORT Standard_Real UFrontError (const Standard_Integer Dimension, const Standard_Integer Index) const;
0138
0139
0140 Standard_EXPORT Standard_Real VFrontError (const Standard_Integer Dimension, const Standard_Integer Index) const;
0141
0142 Standard_EXPORT Standard_Real CritError (const Standard_Integer Dimension, const Standard_Integer Index) const;
0143
0144
0145
0146 Standard_EXPORT void Dump (Standard_OStream& o) const;
0147
0148
0149
0150
0151 protected:
0152
0153
0154
0155
0156
0157 private:
0158
0159
0160
0161 Standard_EXPORT void Init();
0162
0163
0164
0165 Standard_EXPORT void InitGrid (const Standard_Integer NbInt);
0166
0167
0168 Standard_EXPORT void Perform (const AdvApprox_Cutting& UChoice, const AdvApprox_Cutting& VChoice, const AdvApp2Var_EvaluatorFunc2Var& Func);
0169
0170
0171 Standard_EXPORT void Perform (const AdvApprox_Cutting& UChoice, const AdvApprox_Cutting& VChoice, const AdvApp2Var_EvaluatorFunc2Var& Func, const AdvApp2Var_Criterion& Crit);
0172
0173
0174 Standard_EXPORT void ComputePatches (const AdvApprox_Cutting& UChoice, const AdvApprox_Cutting& VChoice, const AdvApp2Var_EvaluatorFunc2Var& Func);
0175
0176
0177 Standard_EXPORT void ComputePatches (const AdvApprox_Cutting& UChoice, const AdvApprox_Cutting& VChoice, const AdvApp2Var_EvaluatorFunc2Var& Func, const AdvApp2Var_Criterion& Crit);
0178
0179
0180 Standard_EXPORT void ComputeConstraints (const AdvApprox_Cutting& UChoice, const AdvApprox_Cutting& VChoice, const AdvApp2Var_EvaluatorFunc2Var& Func);
0181
0182
0183 Standard_EXPORT void ComputeConstraints (const AdvApprox_Cutting& UChoice, const AdvApprox_Cutting& VChoice, const AdvApp2Var_EvaluatorFunc2Var& Func, const AdvApp2Var_Criterion& Crit);
0184
0185
0186 Standard_EXPORT void Compute3DErrors();
0187
0188
0189
0190 Standard_EXPORT void ComputeCritError();
0191
0192
0193 Standard_EXPORT void ConvertBS();
0194
0195
0196 Standard_Integer myNumSubSpaces[3];
0197 Handle(TColStd_HArray1OfReal) my1DTolerances;
0198 Handle(TColStd_HArray1OfReal) my2DTolerances;
0199 Handle(TColStd_HArray1OfReal) my3DTolerances;
0200 Handle(TColStd_HArray2OfReal) my1DTolOnFront;
0201 Handle(TColStd_HArray2OfReal) my2DTolOnFront;
0202 Handle(TColStd_HArray2OfReal) my3DTolOnFront;
0203 Standard_Real myFirstParInU;
0204 Standard_Real myLastParInU;
0205 Standard_Real myFirstParInV;
0206 Standard_Real myLastParInV;
0207 GeomAbs_IsoType myFavoriteIso;
0208 GeomAbs_Shape myContInU;
0209 GeomAbs_Shape myContInV;
0210 Standard_Integer myPrecisionCode;
0211 Standard_Integer myMaxDegInU;
0212 Standard_Integer myMaxDegInV;
0213 Standard_Integer myMaxPatches;
0214 AdvApp2Var_Context myConditions;
0215 AdvApp2Var_Network myResult;
0216 AdvApp2Var_Framework myConstraints;
0217 Standard_Boolean myDone;
0218 Standard_Boolean myHasResult;
0219 Handle(TColGeom_HArray1OfSurface) mySurfaces;
0220 Standard_Integer myDegreeInU;
0221 Standard_Integer myDegreeInV;
0222 Handle(TColStd_HArray1OfReal) my1DMaxError;
0223 Handle(TColStd_HArray1OfReal) my1DAverageError;
0224 Handle(TColStd_HArray1OfReal) my1DUFrontError;
0225 Handle(TColStd_HArray1OfReal) my1DVFrontError;
0226 Handle(TColStd_HArray1OfReal) my2DMaxError;
0227 Handle(TColStd_HArray1OfReal) my2DAverageError;
0228 Handle(TColStd_HArray1OfReal) my2DUFrontError;
0229 Handle(TColStd_HArray1OfReal) my2DVFrontError;
0230 Handle(TColStd_HArray1OfReal) my3DMaxError;
0231 Handle(TColStd_HArray1OfReal) my3DAverageError;
0232 Handle(TColStd_HArray1OfReal) my3DUFrontError;
0233 Handle(TColStd_HArray1OfReal) my3DVFrontError;
0234 Standard_Real myCriterionError;
0235
0236
0237 };
0238
0239
0240 #include <AdvApp2Var_ApproxAFunc2Var.lxx>
0241
0242
0243
0244
0245
0246 #endif