Warning, file /include/opencascade/GeomInt_ParLeastSquareOfMyGradientOfTheComputeLineBezierOfWLApprox.hxx was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _GeomInt_ParLeastSquareOfMyGradientOfTheComputeLineBezierOfWLApprox_HeaderFile
0018 #define _GeomInt_ParLeastSquareOfMyGradientOfTheComputeLineBezierOfWLApprox_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022 #include <Standard_Handle.hxx>
0023
0024 #include <AppParCurves_Constraint.hxx>
0025 #include <AppParCurves_MultiBSpCurve.hxx>
0026 #include <NCollection_Array1.hxx>
0027 #include <NCollection_HArray1.hxx>
0028 #include <Standard_Integer.hxx>
0029 #include <math_Matrix.hxx>
0030 #include <math_Vector.hxx>
0031 #include <math_IntegerVector.hxx>
0032 #include <Standard_Real.hxx>
0033 class StdFail_NotDone;
0034 class Standard_OutOfRange;
0035 class Standard_DimensionError;
0036 class Standard_NoSuchObject;
0037 class GeomInt_TheMultiLineOfWLApprox;
0038 class GeomInt_TheMultiLineToolOfWLApprox;
0039 class AppParCurves_MultiCurve;
0040 class AppParCurves_MultiBSpCurve;
0041 class math_Matrix;
0042
0043 class GeomInt_ParLeastSquareOfMyGradientOfTheComputeLineBezierOfWLApprox
0044 {
0045 public:
0046 DEFINE_STANDARD_ALLOC
0047
0048
0049
0050
0051
0052
0053
0054
0055
0056
0057
0058
0059
0060
0061
0062
0063
0064 Standard_EXPORT GeomInt_ParLeastSquareOfMyGradientOfTheComputeLineBezierOfWLApprox(
0065 const GeomInt_TheMultiLineOfWLApprox& SSP,
0066 const int FirstPoint,
0067 const int LastPoint,
0068 const AppParCurves_Constraint FirstCons,
0069 const AppParCurves_Constraint LastCons,
0070 const math_Vector& Parameters,
0071 const int NbPol);
0072
0073
0074 Standard_EXPORT GeomInt_ParLeastSquareOfMyGradientOfTheComputeLineBezierOfWLApprox(
0075 const GeomInt_TheMultiLineOfWLApprox& SSP,
0076 const int FirstPoint,
0077 const int LastPoint,
0078 const AppParCurves_Constraint FirstCons,
0079 const AppParCurves_Constraint LastCons,
0080 const int NbPol);
0081
0082
0083
0084
0085
0086
0087
0088
0089
0090
0091
0092
0093
0094
0095
0096
0097 Standard_EXPORT GeomInt_ParLeastSquareOfMyGradientOfTheComputeLineBezierOfWLApprox(
0098 const GeomInt_TheMultiLineOfWLApprox& SSP,
0099 const NCollection_Array1<double>& Knots,
0100 const NCollection_Array1<int>& Mults,
0101 const int FirstPoint,
0102 const int LastPoint,
0103 const AppParCurves_Constraint FirstCons,
0104 const AppParCurves_Constraint LastCons,
0105 const math_Vector& Parameters,
0106 const int NbPol);
0107
0108
0109 Standard_EXPORT GeomInt_ParLeastSquareOfMyGradientOfTheComputeLineBezierOfWLApprox(
0110 const GeomInt_TheMultiLineOfWLApprox& SSP,
0111 const NCollection_Array1<double>& Knots,
0112 const NCollection_Array1<int>& Mults,
0113 const int FirstPoint,
0114 const int LastPoint,
0115 const AppParCurves_Constraint FirstCons,
0116 const AppParCurves_Constraint LastCons,
0117 const int NbPol);
0118
0119
0120
0121 Standard_EXPORT void Perform(const math_Vector& Parameters);
0122
0123
0124 Standard_EXPORT void Perform(const math_Vector& Parameters, const double l1, const double l2);
0125
0126
0127
0128
0129 Standard_EXPORT void Perform(const math_Vector& Parameters,
0130 const math_Vector& V1t,
0131 const math_Vector& V2t,
0132 const double l1,
0133 const double l2);
0134
0135
0136
0137
0138
0139
0140 Standard_EXPORT void Perform(const math_Vector& Parameters,
0141 const math_Vector& V1t,
0142 const math_Vector& V2t,
0143 const math_Vector& V1c,
0144 const math_Vector& V2c,
0145 const double l1,
0146 const double l2);
0147
0148
0149 Standard_EXPORT bool IsDone() const;
0150
0151
0152
0153
0154 Standard_EXPORT AppParCurves_MultiCurve BezierValue();
0155
0156
0157
0158
0159 Standard_EXPORT const AppParCurves_MultiBSpCurve& BSplineValue();
0160
0161
0162
0163 Standard_EXPORT const math_Matrix& FunctionMatrix() const;
0164
0165
0166
0167 Standard_EXPORT const math_Matrix& DerivativeFunctionMatrix() const;
0168
0169
0170
0171
0172
0173 Standard_EXPORT void ErrorGradient(math_Vector& Grad, double& F, double& MaxE3d, double& MaxE2d);
0174
0175
0176
0177 Standard_EXPORT const math_Matrix& Distance();
0178
0179
0180
0181
0182 Standard_EXPORT void Error(double& F, double& MaxE3d, double& MaxE2d);
0183
0184
0185
0186 Standard_EXPORT double FirstLambda() const;
0187
0188
0189
0190 Standard_EXPORT double LastLambda() const;
0191
0192
0193 Standard_EXPORT const math_Matrix& Points() const;
0194
0195
0196 Standard_EXPORT const math_Matrix& Poles() const;
0197
0198
0199
0200
0201
0202 Standard_EXPORT const math_IntegerVector& KIndex() const;
0203
0204 protected:
0205
0206 Standard_EXPORT void Init(const GeomInt_TheMultiLineOfWLApprox& SSP,
0207 const int FirstPoint,
0208 const int LastPoint);
0209
0210
0211
0212 Standard_EXPORT int NbBColumns(const GeomInt_TheMultiLineOfWLApprox& SSP) const;
0213
0214
0215 Standard_EXPORT int TheFirstPoint(const AppParCurves_Constraint FirstCons,
0216 const int FirstPoint) const;
0217
0218
0219 Standard_EXPORT int TheLastPoint(const AppParCurves_Constraint LastCons,
0220 const int LastPoint) const;
0221
0222
0223 Standard_EXPORT void Affect(const GeomInt_TheMultiLineOfWLApprox& SSP,
0224 const int Index,
0225 AppParCurves_Constraint& Cons,
0226 math_Vector& Vt,
0227 math_Vector& Vc);
0228
0229 Standard_EXPORT void ComputeFunction(const math_Vector& Parameters);
0230
0231 Standard_EXPORT void SearchIndex(math_IntegerVector& Index);
0232
0233
0234 Standard_EXPORT void MakeTAA(math_Vector& TheA, math_Vector& TheB);
0235
0236
0237 Standard_EXPORT void MakeTAA(math_Vector& TheA);
0238
0239
0240 Standard_EXPORT void MakeTAA(math_Vector& TheA, math_Matrix& TheB);
0241
0242 private:
0243 AppParCurves_Constraint FirstConstraint;
0244 AppParCurves_Constraint LastConstraint;
0245 AppParCurves_MultiBSpCurve SCU;
0246 occ::handle<NCollection_HArray1<double>> myknots;
0247 occ::handle<NCollection_HArray1<int>> mymults;
0248 math_Matrix mypoles;
0249 math_Matrix A;
0250 math_Matrix DA;
0251 math_Matrix B2;
0252 math_Matrix mypoints;
0253 math_Vector Vflatknots;
0254 math_Vector Vec1t;
0255 math_Vector Vec1c;
0256 math_Vector Vec2t;
0257 math_Vector Vec2c;
0258 math_Matrix theError;
0259 math_IntegerVector myindex;
0260 double lambda1;
0261 double lambda2;
0262 int FirstP;
0263 int LastP;
0264 int Nlignes;
0265 int Ninc;
0266 int NA;
0267 int myfirstp;
0268 int mylastp;
0269 int resinit;
0270 int resfin;
0271 int nbP2d;
0272 int nbP;
0273 int nbpoles;
0274 int deg;
0275 bool done;
0276 bool iscalculated;
0277 bool isready;
0278 };
0279
0280 #endif