File indexing completed on 2025-01-18 10:03:04
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015 #ifndef _BOPAlgo_ShellSplitter_HeaderFile
0016 #define _BOPAlgo_ShellSplitter_HeaderFile
0017
0018 #include <Standard.hxx>
0019 #include <Standard_DefineAlloc.hxx>
0020 #include <Standard_Handle.hxx>
0021
0022 #include <BOPTools_ListOfConnexityBlock.hxx>
0023 #include <BOPAlgo_Algo.hxx>
0024 #include <BOPTools_ConnexityBlock.hxx>
0025 #include <NCollection_BaseAllocator.hxx>
0026 #include <TopTools_ListOfShape.hxx>
0027 class TopoDS_Shape;
0028
0029
0030
0031
0032
0033 class BOPAlgo_ShellSplitter : public BOPAlgo_Algo
0034 {
0035 public:
0036
0037 DEFINE_STANDARD_ALLOC
0038
0039
0040
0041 Standard_EXPORT BOPAlgo_ShellSplitter();
0042 Standard_EXPORT virtual ~BOPAlgo_ShellSplitter();
0043
0044
0045 Standard_EXPORT BOPAlgo_ShellSplitter(const Handle(NCollection_BaseAllocator)& theAllocator);
0046
0047
0048 Standard_EXPORT void AddStartElement (const TopoDS_Shape& theS);
0049
0050
0051 Standard_EXPORT const TopTools_ListOfShape& StartElements() const;
0052
0053
0054 Standard_EXPORT virtual void Perform(const Message_ProgressRange& theRange = Message_ProgressRange()) Standard_OVERRIDE;
0055
0056
0057 Standard_EXPORT const TopTools_ListOfShape& Shells() const;
0058
0059 Standard_EXPORT static void SplitBlock (BOPTools_ConnexityBlock& theCB);
0060
0061
0062 protected:
0063
0064 Standard_EXPORT void MakeShells(const Message_ProgressRange& theRange);
0065
0066
0067 TopTools_ListOfShape myStartShapes;
0068 TopTools_ListOfShape myShells;
0069 BOPTools_ListOfConnexityBlock myLCB;
0070
0071 private:
0072
0073 };
0074
0075 #endif