File indexing completed on 2025-01-18 10:03:07
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
0041
0042 class BRepApprox_ThePrmPrmSvSurfacesOfApprox : public ApproxInt_SvSurfaces
0043 {
0044 public:
0045
0046 DEFINE_STANDARD_ALLOC
0047
0048
0049 Standard_EXPORT BRepApprox_ThePrmPrmSvSurfacesOfApprox(const BRepAdaptor_Surface& Surf1, const BRepAdaptor_Surface& Surf2);
0050
0051
0052 Standard_EXPORT Standard_Boolean Compute (Standard_Real& u1, Standard_Real& v1, Standard_Real& u2, Standard_Real& v2,
0053 gp_Pnt& Pt, gp_Vec& Tg, gp_Vec2d& Tguv1, gp_Vec2d& Tguv2);
0054
0055 Standard_EXPORT void Pnt (const Standard_Real u1, const Standard_Real v1, const Standard_Real u2, const Standard_Real v2, gp_Pnt& P);
0056
0057 Standard_EXPORT Standard_Boolean SeekPoint(const Standard_Real u1,
0058 const Standard_Real v1,
0059 const Standard_Real u2,
0060 const Standard_Real v2,
0061 IntSurf_PntOn2S& Point);
0062
0063 Standard_EXPORT Standard_Boolean Tangency (const Standard_Real u1, const Standard_Real v1, const Standard_Real u2, const Standard_Real v2, gp_Vec& Tg);
0064
0065 Standard_EXPORT Standard_Boolean TangencyOnSurf1 (const Standard_Real u1, const Standard_Real v1, const Standard_Real u2, const Standard_Real v2, gp_Vec2d& Tg);
0066
0067 Standard_EXPORT Standard_Boolean TangencyOnSurf2 (const Standard_Real u1, const Standard_Real v1, const Standard_Real u2, const Standard_Real v2, gp_Vec2d& Tg);
0068
0069
0070
0071
0072 protected:
0073
0074
0075
0076
0077
0078 private:
0079
0080
0081
0082 gp_Pnt2d MyParOnS1;
0083 gp_Pnt2d MyParOnS2;
0084 gp_Pnt MyPnt;
0085 gp_Vec2d MyTguv1;
0086 gp_Vec2d MyTguv2;
0087 gp_Vec MyTg;
0088 Standard_Boolean MyIsTangent;
0089 Standard_Boolean MyHasBeenComputed;
0090 gp_Pnt2d MyParOnS1bis;
0091 gp_Pnt2d MyParOnS2bis;
0092 gp_Pnt MyPntbis;
0093 gp_Vec2d MyTguv1bis;
0094 gp_Vec2d MyTguv2bis;
0095 gp_Vec MyTgbis;
0096 Standard_Boolean MyIsTangentbis;
0097 Standard_Boolean MyHasBeenComputedbis;
0098 BRepApprox_TheInt2SOfThePrmPrmSvSurfacesOfApprox MyIntersectionOn2S;
0099
0100
0101 };
0102
0103
0104
0105
0106
0107
0108
0109 #endif