File indexing completed on 2026-09-13 09:15:46
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _BRepApprox_ThePrmPrmSvSurfacesOfApprox_HeaderFile
0018 #define _BRepApprox_ThePrmPrmSvSurfacesOfApprox_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022 #include <Standard_Handle.hxx>
0023
0024 #include <gp_Pnt2d.hxx>
0025 #include <gp_Pnt.hxx>
0026 #include <gp_Vec2d.hxx>
0027 #include <gp_Vec.hxx>
0028 #include <Standard_Boolean.hxx>
0029 #include <BRepApprox_TheInt2SOfThePrmPrmSvSurfacesOfApprox.hxx>
0030 #include <ApproxInt_SvSurfaces.hxx>
0031 class BRepAdaptor_Surface;
0032 class BRepApprox_SurfaceTool;
0033 class BRepApprox_ApproxLine;
0034 class BRepApprox_TheInt2SOfThePrmPrmSvSurfacesOfApprox;
0035 class BRepApprox_TheFunctionOfTheInt2SOfThePrmPrmSvSurfacesOfApprox;
0036 class gp_Pnt;
0037 class gp_Vec;
0038 class gp_Vec2d;
0039
0040 class BRepApprox_ThePrmPrmSvSurfacesOfApprox : public ApproxInt_SvSurfaces
0041 {
0042 public:
0043 DEFINE_STANDARD_ALLOC
0044
0045 Standard_EXPORT BRepApprox_ThePrmPrmSvSurfacesOfApprox(const BRepAdaptor_Surface& Surf1,
0046 const BRepAdaptor_Surface& Surf2);
0047
0048
0049 Standard_EXPORT bool Compute(double& u1,
0050 double& v1,
0051 double& u2,
0052 double& v2,
0053 gp_Pnt& Pt,
0054 gp_Vec& Tg,
0055 gp_Vec2d& Tguv1,
0056 gp_Vec2d& Tguv2) override;
0057
0058 Standard_EXPORT void Pnt(const double u1,
0059 const double v1,
0060 const double u2,
0061 const double v2,
0062 gp_Pnt& P) override;
0063
0064 Standard_EXPORT bool SeekPoint(const double u1,
0065 const double v1,
0066 const double u2,
0067 const double v2,
0068 IntSurf_PntOn2S& Point) override;
0069
0070 Standard_EXPORT bool Tangency(const double u1,
0071 const double v1,
0072 const double u2,
0073 const double v2,
0074 gp_Vec& Tg) override;
0075
0076 Standard_EXPORT bool TangencyOnSurf1(const double u1,
0077 const double v1,
0078 const double u2,
0079 const double v2,
0080 gp_Vec2d& Tg) override;
0081
0082 Standard_EXPORT bool TangencyOnSurf2(const double u1,
0083 const double v1,
0084 const double u2,
0085 const double v2,
0086 gp_Vec2d& Tg) override;
0087
0088 private:
0089 gp_Pnt2d MyParOnS1;
0090 gp_Pnt2d MyParOnS2;
0091 gp_Pnt MyPnt;
0092 gp_Vec2d MyTguv1;
0093 gp_Vec2d MyTguv2;
0094 gp_Vec MyTg;
0095 bool MyIsTangent;
0096 bool MyHasBeenComputed;
0097 gp_Pnt2d MyParOnS1bis;
0098 gp_Pnt2d MyParOnS2bis;
0099 gp_Pnt MyPntbis;
0100 gp_Vec2d MyTguv1bis;
0101 gp_Vec2d MyTguv2bis;
0102 gp_Vec MyTgbis;
0103 bool MyIsTangentbis;
0104 bool MyHasBeenComputedbis;
0105 BRepApprox_TheInt2SOfThePrmPrmSvSurfacesOfApprox MyIntersectionOn2S;
0106 };
0107
0108 #endif