File indexing completed on 2026-10-07 09:54:02
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _GeomInt_TheImpPrmSvSurfacesOfWLApprox_HeaderFile
0018 #define _GeomInt_TheImpPrmSvSurfacesOfWLApprox_HeaderFile
0019
0020 #include <Adaptor3d_Surface.hxx>
0021 #include <gp_Pnt2d.hxx>
0022 #include <gp_Pnt.hxx>
0023 #include <gp_Vec2d.hxx>
0024 #include <gp_Vec.hxx>
0025 #include <GeomInt_TheZerImpFuncOfTheImpPrmSvSurfacesOfWLApprox.hxx>
0026 #include <ApproxInt_SvSurfaces.hxx>
0027
0028 class Adaptor3d_HSurfaceTool;
0029 class IntSurf_Quadric;
0030 class IntSurf_QuadricTool;
0031 class IntPatch_WLine;
0032 class GeomInt_TheZerImpFuncOfTheImpPrmSvSurfacesOfWLApprox;
0033
0034 class GeomInt_TheImpPrmSvSurfacesOfWLApprox : public ApproxInt_SvSurfaces
0035 {
0036 public:
0037 DEFINE_STANDARD_ALLOC
0038
0039 Standard_EXPORT GeomInt_TheImpPrmSvSurfacesOfWLApprox(const occ::handle<Adaptor3d_Surface>& Surf1,
0040 const IntSurf_Quadric& Surf2);
0041
0042 Standard_EXPORT GeomInt_TheImpPrmSvSurfacesOfWLApprox(
0043 const IntSurf_Quadric& Surf1,
0044 const occ::handle<Adaptor3d_Surface>& Surf2);
0045
0046
0047 Standard_EXPORT bool Compute(double& u1,
0048 double& v1,
0049 double& u2,
0050 double& v2,
0051 gp_Pnt& Pt,
0052 gp_Vec& Tg,
0053 gp_Vec2d& Tguv1,
0054 gp_Vec2d& Tguv2) override;
0055
0056 Standard_EXPORT void Pnt(const double u1,
0057 const double v1,
0058 const double u2,
0059 const double v2,
0060 gp_Pnt& P) override;
0061
0062 Standard_EXPORT bool SeekPoint(const double u1,
0063 const double v1,
0064 const double u2,
0065 const double v2,
0066 IntSurf_PntOn2S& Point) override;
0067
0068 Standard_EXPORT bool Tangency(const double u1,
0069 const double v1,
0070 const double u2,
0071 const double v2,
0072 gp_Vec& Tg) override;
0073
0074 Standard_EXPORT bool TangencyOnSurf1(const double u1,
0075 const double v1,
0076 const double u2,
0077 const double v2,
0078 gp_Vec2d& Tg) override;
0079
0080 Standard_EXPORT bool TangencyOnSurf2(const double u1,
0081 const double v1,
0082 const double u2,
0083 const double v2,
0084 gp_Vec2d& Tg) override;
0085
0086 bool FillInitialVectorOfSolution(const double u1,
0087 const double v1,
0088 const double u2,
0089 const double v2,
0090 const double binfu,
0091 const double bsupu,
0092 const double binfv,
0093 const double bsupv,
0094 math_Vector& X,
0095 double& TranslationU,
0096 double& TranslationV);
0097
0098 private:
0099 gp_Pnt2d MyParOnS1;
0100 gp_Pnt2d MyParOnS2;
0101 gp_Pnt MyPnt;
0102 gp_Vec2d MyTguv1;
0103 gp_Vec2d MyTguv2;
0104 gp_Vec MyTg;
0105 bool MyIsTangent;
0106 bool MyHasBeenComputed;
0107 gp_Pnt2d MyParOnS1bis;
0108 gp_Pnt2d MyParOnS2bis;
0109 gp_Pnt MyPntbis;
0110 gp_Vec2d MyTguv1bis;
0111 gp_Vec2d MyTguv2bis;
0112 gp_Vec MyTgbis;
0113 bool MyIsTangentbis;
0114 bool MyHasBeenComputedbis;
0115 bool MyImplicitFirst;
0116 GeomInt_TheZerImpFuncOfTheImpPrmSvSurfacesOfWLApprox MyZerImpFunc;
0117 };
0118
0119 #endif