File indexing completed on 2026-10-04 09:14:31
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _GeomInt_ResConstraintOfMyGradientOfTheComputeLineBezierOfWLApprox_HeaderFile
0018 #define _GeomInt_ResConstraintOfMyGradientOfTheComputeLineBezierOfWLApprox_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022 #include <Standard_Handle.hxx>
0023
0024 #include <Standard_Real.hxx>
0025 #include <math_Matrix.hxx>
0026 #include <math_Vector.hxx>
0027 #include <Standard_Integer.hxx>
0028 #include <NCollection_Array1.hxx>
0029 #include <AppParCurves_ConstraintCouple.hxx>
0030 #include <NCollection_HArray1.hxx>
0031 class Standard_OutOfRange;
0032 class GeomInt_TheMultiLineOfWLApprox;
0033 class GeomInt_TheMultiLineToolOfWLApprox;
0034 class AppParCurves_MultiCurve;
0035 class math_Matrix;
0036
0037 class GeomInt_ResConstraintOfMyGradientOfTheComputeLineBezierOfWLApprox
0038 {
0039 public:
0040 DEFINE_STANDARD_ALLOC
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052 Standard_EXPORT GeomInt_ResConstraintOfMyGradientOfTheComputeLineBezierOfWLApprox(
0053 const GeomInt_TheMultiLineOfWLApprox& SSP,
0054 AppParCurves_MultiCurve& SCurv,
0055 const int FirstPoint,
0056 const int LastPoint,
0057 const occ::handle<NCollection_HArray1<AppParCurves_ConstraintCouple>>& Constraints,
0058 const math_Matrix& Bern,
0059 const math_Matrix& DerivativeBern,
0060 const double Tolerance = 1.0e-10);
0061
0062
0063 Standard_EXPORT bool IsDone() const;
0064
0065
0066
0067 Standard_EXPORT double Error() const;
0068
0069 Standard_EXPORT const math_Matrix& ConstraintMatrix() const;
0070
0071
0072 Standard_EXPORT const math_Vector& Duale() const;
0073
0074
0075 Standard_EXPORT const math_Matrix& ConstraintDerivative(const GeomInt_TheMultiLineOfWLApprox& SSP,
0076 const math_Vector& Parameters,
0077 const int Deg,
0078 const math_Matrix& DA);
0079
0080
0081
0082 Standard_EXPORT const math_Matrix& InverseMatrix() const;
0083
0084 protected:
0085
0086 Standard_EXPORT int NbConstraints(
0087 const GeomInt_TheMultiLineOfWLApprox& SSP,
0088 const int FirstPoint,
0089 const int LastPoint,
0090 const occ::handle<NCollection_HArray1<AppParCurves_ConstraintCouple>>& TheConstraints) const;
0091
0092
0093 Standard_EXPORT int NbColumns(const GeomInt_TheMultiLineOfWLApprox& SSP, const int Deg) const;
0094
0095 private:
0096 bool Done;
0097 double Err;
0098 math_Matrix Cont;
0099 math_Matrix DeCont;
0100 math_Vector Secont;
0101 math_Matrix CTCinv;
0102 math_Vector Vardua;
0103 int IncPass;
0104 int IncTan;
0105 int IncCurv;
0106 NCollection_Array1<int> IPas;
0107 NCollection_Array1<int> ITan;
0108 NCollection_Array1<int> ICurv;
0109 };
0110
0111 #endif