#pragma once

#include <TopoDS.hxx>
#include <TopTools_ListOfShape.hxx>
#include <vector>
#include "TopoEntity.h"

class ShapePartition
{
public:
    ShapePartition();
    ShapePartition(std::vector<TopoEntity_>);
    ~ShapePartition();
    void addShape(TopoDS_Shape);
    void addShapeFromFile(std::string);
    TopoDS_Shape getPartition();
    TopoDS_Shape getGlue();
    void savePartitionAsStep(std::string filename);
    void reorderShapes();

private:
    TopTools_ListOfShape partition_shapes;
};
