36 #ifndef DISCRETECONTINUUMMESHGENERATOR_HPP_ 37 #define DISCRETECONTINUUMMESHGENERATOR_HPP_ 40 #include "SmartPointers.hpp" 41 #include "ChastePoint.hpp" 42 #include "TetrahedralMesh.hpp" 43 #define _BACKWARD_BACKWARD_WARNING_H 1 //Cut out the vtk deprecated warning 44 #include <vtkPolyData.h> 45 #include <vtkSmartPointer.h> 48 #include "DimensionalChastePoint.hpp" 61 template<
unsigned ELEMENT_DIM,
unsigned SPACE_DIM>
67 template<
unsigned ELEMENT_DIM,
unsigned SPACE_DIM = ELEMENT_DIM>
78 boost::shared_ptr<DiscreteContinuumMesh<ELEMENT_DIM, SPACE_DIM> >
mpMesh;
98 std::vector<DimensionalChastePoint<SPACE_DIM> >
mHoles;
103 std::vector<DimensionalChastePoint<SPACE_DIM> >
mRegions;
131 static boost::shared_ptr<DiscreteContinuumMeshGenerator<ELEMENT_DIM, SPACE_DIM> >
Create();
137 boost::shared_ptr<DiscreteContinuumMesh<ELEMENT_DIM, SPACE_DIM> >
GetMesh();
149 void SetDomain(vtkSmartPointer<vtkPolyData> pDomain);
155 void SetDomain(
const std::string& rPathToStl);
std::vector< DimensionalChastePoint< SPACE_DIM > > mHoles
~DiscreteContinuumMeshGenerator()
void SetDomain(boost::shared_ptr< Part< SPACE_DIM > > pDomain)
std::vector< unsigned > mAttributes
units::quantity< unit::length > mReferenceLength
void SetRegionMarkers(std::vector< DimensionalChastePoint< SPACE_DIM > > regionMarkers)
void SetMaxElementArea(units::quantity< unit::volume > maxElementArea)
boost::shared_ptr< DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM > > mpMesh
static boost::shared_ptr< DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM > > Create()
void InitialiseTriangulateIo(triangulateio &mesherIo)
void FreeTriangulateIo(triangulateio &mesherIo)
boost::shared_ptr< DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM > > GetMesh()
void SetHoles(std::vector< DimensionalChastePoint< SPACE_DIM > > holes)
boost::shared_ptr< Part< SPACE_DIM > > mpDomain
vtkSmartPointer< vtkPolyData > mpVtkDomain
std::vector< DimensionalChastePoint< SPACE_DIM > > mRegions
units::quantity< unit::volume > mMaxElementArea
DiscreteContinuumMeshGenerator()