File indexing completed on 2025-01-18 10:05:25
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
0042
0043 class TopOpeBRepBuild_PaveClassifier : public TopOpeBRepBuild_LoopClassifier
0044 {
0045 public:
0046
0047 DEFINE_STANDARD_ALLOC
0048
0049
0050
0051 Standard_EXPORT TopOpeBRepBuild_PaveClassifier(const TopoDS_Shape& E);
0052
0053
0054 Standard_EXPORT TopAbs_State Compare (const Handle(TopOpeBRepBuild_Loop)& L1, const Handle(TopOpeBRepBuild_Loop)& L2);
0055
0056 Standard_EXPORT void SetFirstParameter (const Standard_Real P);
0057
0058 Standard_EXPORT void ClosedVertices (const Standard_Boolean B);
0059
0060 Standard_EXPORT static Standard_Real AdjustCase (const Standard_Real p1, const TopAbs_Orientation o, const Standard_Real first, const Standard_Real period, const Standard_Real tol, Standard_Integer& cas);
0061
0062
0063
0064
0065 protected:
0066
0067
0068
0069
0070
0071 private:
0072
0073
0074 Standard_EXPORT TopAbs_State CompareOnNonPeriodic();
0075
0076 Standard_EXPORT TopAbs_State CompareOnPeriodic();
0077
0078 Standard_EXPORT void AdjustOnPeriodic();
0079
0080 Standard_EXPORT Standard_Boolean ToAdjustOnPeriodic() const;
0081
0082
0083 TopoDS_Edge myEdge;
0084 Standard_Boolean myEdgePeriodic;
0085 Standard_Real myFirst;
0086 Standard_Real myPeriod;
0087 Standard_Boolean mySameParameters;
0088 Standard_Boolean myClosedVertices;
0089 Standard_Real myP1;
0090 Standard_Real myP2;
0091 TopAbs_Orientation myO1;
0092 TopAbs_Orientation myO2;
0093 Standard_Integer myCas1;
0094 Standard_Integer myCas2;
0095
0096
0097 };
0098
0099
0100
0101
0102
0103
0104
0105 #endif