File indexing completed on 2026-09-28 09:20:47
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _LocOpe_GluedShape_HeaderFile
0018 #define _LocOpe_GluedShape_HeaderFile
0019
0020 #include <Standard.hxx>
0021
0022 #include <TopoDS_Shape.hxx>
0023 #include <TopTools_ShapeMapHasher.hxx>
0024 #include <NCollection_Map.hxx>
0025 #include <NCollection_DataMap.hxx>
0026 #include <LocOpe_GeneratedShape.hxx>
0027 #include <NCollection_List.hxx>
0028 class TopoDS_Face;
0029 class TopoDS_Edge;
0030 class TopoDS_Vertex;
0031
0032 class LocOpe_GluedShape : public LocOpe_GeneratedShape
0033 {
0034
0035 public:
0036 Standard_EXPORT LocOpe_GluedShape();
0037
0038 Standard_EXPORT LocOpe_GluedShape(const TopoDS_Shape& S);
0039
0040 Standard_EXPORT void Init(const TopoDS_Shape& S);
0041
0042 Standard_EXPORT void GlueOnFace(const TopoDS_Face& F);
0043
0044 Standard_EXPORT const NCollection_List<TopoDS_Shape>& GeneratingEdges() override;
0045
0046
0047
0048 Standard_EXPORT TopoDS_Edge Generated(const TopoDS_Vertex& V) override;
0049
0050
0051
0052 Standard_EXPORT TopoDS_Face Generated(const TopoDS_Edge& E) override;
0053
0054
0055
0056 Standard_EXPORT const NCollection_List<TopoDS_Shape>& OrientedFaces() override;
0057
0058 DEFINE_STANDARD_RTTIEXT(LocOpe_GluedShape, LocOpe_GeneratedShape)
0059
0060 private:
0061 Standard_EXPORT void MapEdgeAndVertices();
0062
0063 TopoDS_Shape myShape;
0064 NCollection_Map<TopoDS_Shape, TopTools_ShapeMapHasher> myMap;
0065 NCollection_DataMap<TopoDS_Shape, TopoDS_Shape, TopTools_ShapeMapHasher> myGShape;
0066 };
0067
0068 #endif