File indexing completed on 2026-05-29 08:16:28
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _IntTools_FClass2d_HeaderFile
0018 #define _IntTools_FClass2d_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022 #include <Standard_Handle.hxx>
0023
0024 #include <BRepClass_FaceExplorer.hxx>
0025 #include <BRepTopAdaptor_SeqOfPtr.hxx>
0026 #include <TColStd_SequenceOfInteger.hxx>
0027 #include <TopoDS_Face.hxx>
0028 #include <TopAbs_State.hxx>
0029 #include <memory>
0030
0031 class gp_Pnt2d;
0032
0033
0034
0035 class IntTools_FClass2d
0036 {
0037 public:
0038 DEFINE_STANDARD_ALLOC
0039
0040
0041 Standard_EXPORT IntTools_FClass2d();
0042
0043
0044
0045 Standard_EXPORT IntTools_FClass2d(const TopoDS_Face& F, const Standard_Real Tol);
0046
0047
0048
0049 Standard_EXPORT void Init(const TopoDS_Face& F, const Standard_Real Tol);
0050
0051
0052 Standard_EXPORT TopAbs_State PerformInfinitePoint() const;
0053
0054
0055
0056
0057
0058 Standard_EXPORT TopAbs_State
0059 Perform(const gp_Pnt2d& Puv, const Standard_Boolean RecadreOnPeriodic = Standard_True) const;
0060
0061
0062 Standard_EXPORT ~IntTools_FClass2d();
0063
0064
0065
0066
0067 Standard_EXPORT TopAbs_State
0068 TestOnRestriction(const gp_Pnt2d& Puv,
0069 const Standard_Real Tol,
0070 const Standard_Boolean RecadreOnPeriodic = Standard_True) const;
0071
0072 Standard_EXPORT Standard_Boolean IsHole() const;
0073
0074 private:
0075 BRepTopAdaptor_SeqOfPtr TabClass;
0076 TColStd_SequenceOfInteger TabOrien;
0077 Standard_Real Toluv;
0078 TopoDS_Face Face;
0079 Standard_Real U1;
0080 Standard_Real V1;
0081 Standard_Real U2;
0082 Standard_Real V2;
0083 Standard_Real Umin;
0084 Standard_Real Umax;
0085 Standard_Real Vmin;
0086 Standard_Real Vmax;
0087 Standard_Boolean myIsHole;
0088
0089 mutable std::unique_ptr<BRepClass_FaceExplorer> myFExplorer;
0090 };
0091
0092 #endif