File indexing completed on 2026-09-19 09:27:27
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #ifndef _BRepMesh_ShapeVisitor_HeaderFile
0017 #define _BRepMesh_ShapeVisitor_HeaderFile
0018
0019 #include <IMeshTools_ShapeVisitor.hxx>
0020 #include <IMeshData_Model.hxx>
0021 #include <Standard_Transient.hxx>
0022 #include <Standard_Type.hxx>
0023 #include <IMeshTools_Parameters.hxx>
0024 #include <IMeshData_Types.hxx>
0025
0026 class TopoDS_Face;
0027 class TopoDS_Edge;
0028 class TopoDS_Wire;
0029
0030
0031
0032
0033
0034 class BRepMesh_ShapeVisitor : public IMeshTools_ShapeVisitor
0035 {
0036 public:
0037
0038 Standard_EXPORT BRepMesh_ShapeVisitor(const occ::handle<IMeshData_Model>& theModel);
0039
0040
0041 Standard_EXPORT ~BRepMesh_ShapeVisitor() override;
0042
0043
0044 Standard_EXPORT void Visit(const TopoDS_Face& theFace) override;
0045
0046
0047 Standard_EXPORT void Visit(const TopoDS_Edge& theEdge) override;
0048
0049 DEFINE_STANDARD_RTTIEXT(BRepMesh_ShapeVisitor, IMeshTools_ShapeVisitor)
0050
0051 private:
0052
0053 bool addWire(const TopoDS_Wire& theWire, const IMeshData::IFaceHandle& theDFace);
0054
0055 private:
0056 occ::handle<IMeshData_Model> myModel;
0057 IMeshData::DMapOfShapeInteger myDEdgeMap;
0058 };
0059
0060 #endif