36 #ifndef DISCRETECONTINUUMMESH_HPP_ 37 #define DISCRETECONTINUUMMESH_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 <vtkSmartPointer.h> 45 #include <vtkUnstructuredGrid.h> 46 #include <vtkCellLocator.h> 49 #include "Element.hpp" 50 #include "DimensionalChastePoint.hpp" 51 #include "DiscreteContinuumMeshGenerator.hpp" 52 #include "VesselSegment.hpp" 53 #include "VesselNetwork.hpp" 54 #include "AbstractCellPopulation.hpp" 55 #include "UnitCollection.hpp" 58 template<
unsigned ELEMENT_DIM,
unsigned SPACE_DIM>
66 template<
unsigned ELEMENT_DIM,
unsigned SPACE_DIM = ELEMENT_DIM>
145 static boost::shared_ptr<DiscreteContinuumMesh<ELEMENT_DIM, SPACE_DIM> >
Create();
203 std::vector<std::vector<boost::shared_ptr<VesselSegment<SPACE_DIM> > > >
GetElementSegmentMap(
bool update =
true,
204 bool useVesselSurface =
false);
222 void SetCellPopulation(AbstractCellPopulation<SPACE_DIM>& rCellPopulation, units::quantity<unit::length> cellLengthScale);
240 unsigned numberOfFaces,
int *faceList,
int *edgeMarkerList);
vtkSmartPointer< vtkUnstructuredGrid > mpVtkMesh
std::vector< c_vector< double, SPACE_DIM > > GetElementCentroids()
std::vector< c_vector< double, SPACE_DIM > > GetNodeLocations()
std::vector< unsigned > GetElementRegionMarkers()
units::quantity< unit::length > mCellPopulationReferenceLength
std::vector< std::vector< unsigned > > GetConnectivity()
std::vector< std::vector< CellPtr > > mCellElementMap
boost::shared_ptr< VesselNetwork< SPACE_DIM > > mpNetwork
const std::vector< std::vector< CellPtr > > & GetElementCellMap(bool update=true)
std::vector< std::vector< boost::shared_ptr< VesselSegment< SPACE_DIM > > > > mSegmentElementMap
std::vector< std::vector< boost::shared_ptr< VesselSegment< SPACE_DIM > > > > GetElementSegmentMap(bool update=true, bool useVesselSurface=false)
void ImportDiscreteContinuumMeshFromTetgen(tetgen::tetgenio &mesherOutput, unsigned numberOfElements, int *elementList, unsigned numberOfFaces, int *faceList, int *edgeMarkerList)
vtkSmartPointer< vtkUnstructuredGrid > GetAsVtkUnstructuredGrid()
units::quantity< unit::length > mReferenceLength
std::vector< std::vector< unsigned > > GetPointElementMap(std::vector< DimensionalChastePoint< SPACE_DIM > > points)
void SetCellPopulation(AbstractCellPopulation< SPACE_DIM > &rCellPopulation, units::quantity< unit::length > cellLengthScale)
vtkSmartPointer< vtkCellLocator > mpVtkCellLocator
std::vector< DimensionalChastePoint< SPACE_DIM > > GetNodeLocationsAsPoints()
void SetAttributes(std::vector< unsigned > attributes)
units::quantity< unit::length > GetReferenceLengthScale()
static boost::shared_ptr< DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM > > Create()
void SetVesselNetwork(boost::shared_ptr< VesselNetwork< SPACE_DIM > > pNetwork)
std::vector< std::vector< unsigned > > mPointElementMap
std::vector< unsigned > mAttributes
bool mVtkRepresentationUpToDate
AbstractCellPopulation< SPACE_DIM > * mpCellPopulation