File indexing completed on 2026-09-18 09:22:16
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _TopOpeBRepBuild_PaveClassifier_HeaderFile
0018 #define _TopOpeBRepBuild_PaveClassifier_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022 #include <Standard_Handle.hxx>
0023
0024 #include <TopoDS_Edge.hxx>
0025 #include <TopAbs_Orientation.hxx>
0026 #include <Standard_Integer.hxx>
0027 #include <TopOpeBRepBuild_LoopClassifier.hxx>
0028 #include <TopAbs_State.hxx>
0029 class TopoDS_Shape;
0030 class TopOpeBRepBuild_Loop;
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041 class TopOpeBRepBuild_PaveClassifier : public TopOpeBRepBuild_LoopClassifier
0042 {
0043 public:
0044 DEFINE_STANDARD_ALLOC
0045
0046
0047 Standard_EXPORT TopOpeBRepBuild_PaveClassifier(const TopoDS_Shape& E);
0048
0049
0050 Standard_EXPORT TopAbs_State Compare(const occ::handle<TopOpeBRepBuild_Loop>& L1,
0051 const occ::handle<TopOpeBRepBuild_Loop>& L2) override;
0052
0053 Standard_EXPORT void SetFirstParameter(const double P);
0054
0055 Standard_EXPORT void ClosedVertices(const bool B);
0056
0057 Standard_EXPORT static double AdjustCase(const double p1,
0058 const TopAbs_Orientation o,
0059 const double first,
0060 const double period,
0061 const double tol,
0062 int& cas);
0063
0064 private:
0065 Standard_EXPORT TopAbs_State CompareOnNonPeriodic();
0066
0067 Standard_EXPORT TopAbs_State CompareOnPeriodic();
0068
0069 Standard_EXPORT void AdjustOnPeriodic();
0070
0071 Standard_EXPORT bool ToAdjustOnPeriodic() const;
0072
0073 TopoDS_Edge myEdge;
0074 bool myEdgePeriodic;
0075 double myFirst;
0076 double myPeriod;
0077 bool mySameParameters;
0078 bool myClosedVertices;
0079 double myP1;
0080 double myP2;
0081 TopAbs_Orientation myO1;
0082 TopAbs_Orientation myO2;
0083 int myCas1;
0084 int myCas2;
0085 };
0086
0087 #endif