File indexing completed on 2026-09-22 08:57:11
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _BRepFill_Generator_HeaderFile
0018 #define _BRepFill_Generator_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022
0023 #include <BRepFill_ThruSectionErrorStatus.hxx>
0024 #include <TopoDS_Shape.hxx>
0025 #include <NCollection_Sequence.hxx>
0026 #include <TopoDS_Shell.hxx>
0027 #include <NCollection_List.hxx>
0028 #include <TopTools_ShapeMapHasher.hxx>
0029 #include <NCollection_DataMap.hxx>
0030 #include <BRepTools_ReShape.hxx>
0031 class TopoDS_Wire;
0032 class TopoDS_Shape;
0033
0034
0035
0036
0037
0038 class BRepFill_Generator
0039 {
0040 public:
0041 DEFINE_STANDARD_ALLOC
0042
0043 Standard_EXPORT BRepFill_Generator();
0044
0045 Standard_EXPORT void AddWire(const TopoDS_Wire& Wire);
0046
0047
0048 Standard_EXPORT void Perform();
0049
0050 const TopoDS_Shell& Shell() const;
0051
0052
0053 Standard_EXPORT const NCollection_DataMap<TopoDS_Shape,
0054 NCollection_List<TopoDS_Shape>,
0055 TopTools_ShapeMapHasher>&
0056 Generated() const;
0057
0058
0059
0060 Standard_EXPORT const NCollection_List<TopoDS_Shape>& GeneratedShapes(
0061 const TopoDS_Shape& SSection) const;
0062
0063
0064
0065 Standard_EXPORT TopoDS_Shape ResultShape(const TopoDS_Shape& theShape) const;
0066
0067
0068
0069
0070 Standard_EXPORT void SetMutableInput(const bool theIsMutableInput);
0071
0072
0073 Standard_EXPORT bool IsMutableInput() const;
0074
0075
0076 BRepFill_ThruSectionErrorStatus GetStatus() const { return myStatus; }
0077
0078 private:
0079 NCollection_Sequence<TopoDS_Shape> myWires;
0080 TopoDS_Shell myShell;
0081 NCollection_DataMap<TopoDS_Shape, NCollection_List<TopoDS_Shape>, TopTools_ShapeMapHasher> myMap;
0082 NCollection_DataMap<TopoDS_Shape, TopoDS_Shape, TopTools_ShapeMapHasher> myOldNewShapes;
0083 BRepTools_ReShape myReshaper;
0084 bool myMutableInput;
0085 BRepFill_ThruSectionErrorStatus myStatus;
0086 };
0087
0088 #include <BRepFill_Generator.lxx>
0089
0090 #endif