File indexing completed on 2026-06-26 08:29:49
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _TopOpeBRepTool_ShapeClassifier_HeaderFile
0018 #define _TopOpeBRepTool_ShapeClassifier_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022
0023 #include <TopoDS_Shape.hxx>
0024 #include <TopOpeBRepTool_Plos.hxx>
0025 #include <TopTools_IndexedMapOfShape.hxx>
0026 #include <TopAbs_State.hxx>
0027 #include <TopoDS_Edge.hxx>
0028 #include <TopoDS_Face.hxx>
0029 #include <gp_Pnt.hxx>
0030 #include <gp_Pnt2d.hxx>
0031 #include <TopOpeBRepTool_SolidClassifier.hxx>
0032 #include <TopTools_ListOfShape.hxx>
0033
0034 class TopOpeBRepTool_ShapeClassifier
0035 {
0036 public:
0037 DEFINE_STANDARD_ALLOC
0038
0039 Standard_EXPORT TopOpeBRepTool_ShapeClassifier();
0040
0041
0042
0043 Standard_EXPORT TopOpeBRepTool_ShapeClassifier(const TopoDS_Shape& SRef);
0044
0045
0046 Standard_EXPORT void ClearAll();
0047
0048
0049 Standard_EXPORT void ClearCurrent();
0050
0051
0052
0053 Standard_EXPORT void SetReference(const TopoDS_Shape& SRef);
0054
0055
0056
0057
0058 Standard_EXPORT TopAbs_State StateShapeShape(const TopoDS_Shape& S,
0059 const TopoDS_Shape& SRef,
0060 const Standard_Integer samedomain = 0);
0061
0062 Standard_EXPORT Standard_Integer SameDomain() const;
0063
0064
0065
0066
0067
0068
0069
0070 Standard_EXPORT void SameDomain(const Standard_Integer samedomain);
0071
0072
0073
0074
0075 Standard_EXPORT TopAbs_State StateShapeShape(const TopoDS_Shape& S,
0076 const TopoDS_Shape& AvoidS,
0077 const TopoDS_Shape& SRef);
0078
0079
0080
0081
0082
0083 Standard_EXPORT TopAbs_State StateShapeShape(const TopoDS_Shape& S,
0084 const TopTools_ListOfShape& LAvoidS,
0085 const TopoDS_Shape& SRef);
0086
0087
0088
0089
0090 Standard_EXPORT TopAbs_State StateShapeReference(const TopoDS_Shape& S,
0091 const TopoDS_Shape& AvoidS);
0092
0093
0094
0095
0096 Standard_EXPORT TopAbs_State StateShapeReference(const TopoDS_Shape& S,
0097 const TopTools_ListOfShape& LAvoidS);
0098
0099 Standard_EXPORT TopOpeBRepTool_SolidClassifier& ChangeSolidClassifier();
0100
0101
0102 Standard_EXPORT void StateP2DReference(const gp_Pnt2d& P2D);
0103
0104
0105 Standard_EXPORT void StateP3DReference(const gp_Pnt& P3D);
0106
0107
0108 Standard_EXPORT TopAbs_State State() const;
0109
0110 Standard_EXPORT const gp_Pnt2d& P2D() const;
0111
0112 Standard_EXPORT const gp_Pnt& P3D() const;
0113
0114 protected:
0115 private:
0116 Standard_EXPORT void MapRef();
0117
0118 Standard_EXPORT void FindEdge();
0119
0120 Standard_EXPORT void FindEdge(const TopoDS_Shape& S);
0121
0122 Standard_EXPORT void FindFace(const TopoDS_Shape& S);
0123
0124 Standard_EXPORT void Perform();
0125
0126
0127 Standard_EXPORT void StateEdgeReference();
0128
0129 Standard_EXPORT Standard_Boolean HasAvLS() const;
0130
0131 TopoDS_Shape myS;
0132 TopoDS_Shape myRef;
0133 TopoDS_Shape myAvS;
0134 TopOpeBRepTool_Plos myPAvLS;
0135 TopTools_IndexedMapOfShape myMapAvS;
0136 TopTools_IndexedMapOfShape mymre;
0137 Standard_Integer mymren;
0138 Standard_Boolean mymredone;
0139 TopAbs_State myState;
0140 TopoDS_Edge myEdge;
0141 TopoDS_Face myFace;
0142 Standard_Boolean myP3Ddef;
0143 gp_Pnt myP3D;
0144 Standard_Boolean myP2Ddef;
0145 gp_Pnt2d myP2D;
0146 TopOpeBRepTool_SolidClassifier mySolidClassifier;
0147 Standard_Integer mySameDomain;
0148 };
0149
0150 #endif