File indexing completed on 2025-01-18 10:05:27
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
0035
0036 class TopOpeBRepTool_ShapeClassifier
0037 {
0038 public:
0039
0040 DEFINE_STANDARD_ALLOC
0041
0042
0043 Standard_EXPORT TopOpeBRepTool_ShapeClassifier();
0044
0045
0046
0047
0048 Standard_EXPORT TopOpeBRepTool_ShapeClassifier(const TopoDS_Shape& SRef);
0049
0050
0051 Standard_EXPORT void ClearAll();
0052
0053
0054 Standard_EXPORT void ClearCurrent();
0055
0056
0057
0058
0059 Standard_EXPORT void SetReference (const TopoDS_Shape& SRef);
0060
0061
0062
0063
0064
0065 Standard_EXPORT TopAbs_State StateShapeShape (const TopoDS_Shape& S, const TopoDS_Shape& SRef, const Standard_Integer samedomain = 0);
0066
0067 Standard_EXPORT Standard_Integer SameDomain() const;
0068
0069
0070
0071
0072
0073
0074
0075
0076 Standard_EXPORT void SameDomain (const Standard_Integer samedomain);
0077
0078
0079
0080
0081
0082 Standard_EXPORT TopAbs_State StateShapeShape (const TopoDS_Shape& S, const TopoDS_Shape& AvoidS, const TopoDS_Shape& SRef);
0083
0084
0085
0086
0087
0088
0089 Standard_EXPORT TopAbs_State StateShapeShape (const TopoDS_Shape& S, const TopTools_ListOfShape& LAvoidS, const TopoDS_Shape& SRef);
0090
0091
0092
0093
0094
0095 Standard_EXPORT TopAbs_State StateShapeReference (const TopoDS_Shape& S, const TopoDS_Shape& AvoidS);
0096
0097
0098
0099
0100
0101 Standard_EXPORT TopAbs_State StateShapeReference (const TopoDS_Shape& S, const TopTools_ListOfShape& LAvoidS);
0102
0103 Standard_EXPORT TopOpeBRepTool_SolidClassifier& ChangeSolidClassifier();
0104
0105
0106 Standard_EXPORT void StateP2DReference (const gp_Pnt2d& P2D);
0107
0108
0109 Standard_EXPORT void StateP3DReference (const gp_Pnt& P3D);
0110
0111
0112 Standard_EXPORT TopAbs_State State() const;
0113
0114 Standard_EXPORT const gp_Pnt2d& P2D() const;
0115
0116 Standard_EXPORT const gp_Pnt& P3D() const;
0117
0118
0119
0120
0121 protected:
0122
0123
0124
0125
0126
0127 private:
0128
0129
0130 Standard_EXPORT void MapRef();
0131
0132 Standard_EXPORT void FindEdge();
0133
0134 Standard_EXPORT void FindEdge (const TopoDS_Shape& S);
0135
0136 Standard_EXPORT void FindFace (const TopoDS_Shape& S);
0137
0138 Standard_EXPORT void Perform();
0139
0140
0141 Standard_EXPORT void StateEdgeReference();
0142
0143 Standard_EXPORT Standard_Boolean HasAvLS() const;
0144
0145
0146 TopoDS_Shape myS;
0147 TopoDS_Shape myRef;
0148 TopoDS_Shape myAvS;
0149 TopOpeBRepTool_Plos myPAvLS;
0150 TopTools_IndexedMapOfShape myMapAvS;
0151 TopTools_IndexedMapOfShape mymre;
0152 Standard_Integer mymren;
0153 Standard_Boolean mymredone;
0154 TopAbs_State myState;
0155 TopoDS_Edge myEdge;
0156 TopoDS_Face myFace;
0157 Standard_Boolean myP3Ddef;
0158 gp_Pnt myP3D;
0159 Standard_Boolean myP2Ddef;
0160 gp_Pnt2d myP2D;
0161 TopOpeBRepTool_SolidClassifier mySolidClassifier;
0162 Standard_Integer mySameDomain;
0163
0164
0165 };
0166
0167
0168
0169
0170
0171
0172
0173 #endif