File indexing completed on 2026-09-12 09:17:20
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _GeomInt_TheMultiLineOfWLApprox_HeaderFile
0018 #define _GeomInt_TheMultiLineOfWLApprox_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022 #include <Standard_Handle.hxx>
0023
0024 #include <Standard_Integer.hxx>
0025 #include <Standard_Boolean.hxx>
0026 #include <Standard_Real.hxx>
0027 #include <Approx_Status.hxx>
0028 #include <gp_Pnt.hxx>
0029 #include <NCollection_Array1.hxx>
0030 #include <gp_Pnt2d.hxx>
0031 #include <gp_Vec.hxx>
0032 #include <gp_Vec2d.hxx>
0033 class IntPatch_WLine;
0034 class ApproxInt_SvSurfaces;
0035
0036 class GeomInt_TheMultiLineOfWLApprox
0037 {
0038 public:
0039 DEFINE_STANDARD_ALLOC
0040
0041 Standard_EXPORT GeomInt_TheMultiLineOfWLApprox();
0042
0043
0044
0045
0046
0047
0048
0049 Standard_EXPORT GeomInt_TheMultiLineOfWLApprox(const occ::handle<IntPatch_WLine>& line,
0050 void* const PtrSvSurfaces,
0051 const int NbP3d,
0052 const int NbP2d,
0053 const bool ApproxU1V1,
0054 const bool ApproxU2V2,
0055 const double xo,
0056 const double yo,
0057 const double zo,
0058 const double u1o,
0059 const double v1o,
0060 const double u2o,
0061 const double v2o,
0062 const bool P2DOnFirst,
0063 const int IndMin = 0,
0064 const int IndMax = 0);
0065
0066
0067 Standard_EXPORT GeomInt_TheMultiLineOfWLApprox(const occ::handle<IntPatch_WLine>& line,
0068 const int NbP3d,
0069 const int NbP2d,
0070 const bool ApproxU1V1,
0071 const bool ApproxU2V2,
0072 const double xo,
0073 const double yo,
0074 const double zo,
0075 const double u1o,
0076 const double v1o,
0077 const double u2o,
0078 const double v2o,
0079 const bool P2DOnFirst,
0080 const int IndMin = 0,
0081 const int IndMax = 0);
0082
0083 Standard_EXPORT int FirstPoint() const;
0084
0085 Standard_EXPORT int LastPoint() const;
0086
0087
0088 Standard_EXPORT int NbP2d() const;
0089
0090
0091 Standard_EXPORT int NbP3d() const;
0092
0093 Standard_EXPORT Approx_Status WhatStatus() const;
0094
0095
0096 Standard_EXPORT void Value(const int MPointIndex, NCollection_Array1<gp_Pnt>& tabPt) const;
0097
0098
0099 Standard_EXPORT void Value(const int MPointIndex, NCollection_Array1<gp_Pnt2d>& tabPt2d) const;
0100
0101
0102 Standard_EXPORT void Value(const int MPointIndex,
0103 NCollection_Array1<gp_Pnt>& tabPt,
0104 NCollection_Array1<gp_Pnt2d>& tabPt2d) const;
0105
0106
0107
0108 Standard_EXPORT bool Tangency(const int MPointIndex, NCollection_Array1<gp_Vec>& tabV) const;
0109
0110
0111
0112 Standard_EXPORT bool Tangency(const int MPointIndex, NCollection_Array1<gp_Vec2d>& tabV2d) const;
0113
0114
0115 Standard_EXPORT bool Tangency(const int MPointIndex,
0116 NCollection_Array1<gp_Vec>& tabV,
0117 NCollection_Array1<gp_Vec2d>& tabV2d) const;
0118
0119
0120
0121 Standard_EXPORT GeomInt_TheMultiLineOfWLApprox MakeMLBetween(const int Low,
0122 const int High,
0123 const int NbPointsToInsert) const;
0124
0125
0126
0127 Standard_EXPORT bool MakeMLOneMorePoint(const int Low,
0128 const int High,
0129 const int indbad,
0130 GeomInt_TheMultiLineOfWLApprox& OtherLine) const;
0131
0132
0133 Standard_EXPORT void Dump() const;
0134
0135 private:
0136 void* PtrOnmySvSurfaces;
0137 occ::handle<IntPatch_WLine> myLine;
0138 int indicemin;
0139 int indicemax;
0140 int nbp3d;
0141 int nbp2d;
0142 bool myApproxU1V1;
0143 bool myApproxU2V2;
0144 bool p2donfirst;
0145 double Xo;
0146 double Yo;
0147 double Zo;
0148 double U1o;
0149 double V1o;
0150 double U2o;
0151 double V2o;
0152 };
0153
0154 #endif