36 #ifndef VESSELSURFACEGENERATOR_HPP_ 37 #define VESSELSURFACEGENERATOR_HPP_ 41 #include <vtkSmartPointer.h> 42 #include <vtkPolyData.h> 43 #include "SmartPointers.hpp" 44 #include "UblasVectorInclude.hpp" 45 #include "VesselNetwork.hpp" 46 #include "Polygon.hpp" 52 template<
unsigned DIM>
87 std::vector<std::vector<boost::shared_ptr<Polygon<DIM> > > >
GetSurface();
100 std::vector<DimensionalChastePoint<DIM> >
GetHoles();
116 std::vector<c_vector<double, DIM> >
MakeCircle(
double radius,
unsigned numberOfSegments = 16);
125 void ProjectOnPlane(std::vector<c_vector<double, DIM> >& rPoints, c_vector<double, DIM> directionVector,
double length,
126 vtkSmartPointer<vtkPlane> pPlane);
134 void RotateAboutAxis(std::vector<c_vector<double, DIM> >& rPoints, c_vector<double, DIM> axis,
double angle);
141 void Translate(std::vector<c_vector<double, DIM> >& rPoints, c_vector<double, DIM> translationVector);
std::vector< c_vector< double, DIM > > MakeCircle(double radius, unsigned numberOfSegments=16)
~VesselSurfaceGenerator()
vtkSmartPointer< vtkPolyData > mpSurface
std::vector< std::vector< boost::shared_ptr< Polygon< DIM > > > > GetSurface()
vtkSmartPointer< vtkPolyData > GetVtkSurface()
VesselSurfaceGenerator(boost::shared_ptr< VesselNetwork< DIM > > pVesselNetwork)
void RotateAboutAxis(std::vector< c_vector< double, DIM > > &rPoints, c_vector< double, DIM > axis, double angle)
void Translate(std::vector< c_vector< double, DIM > > &rPoints, c_vector< double, DIM > translationVector)
units::quantity< unit::length > mReferenceLength
boost::shared_ptr< VesselNetwork< DIM > > mpVesselNetwork
std::vector< boost::shared_ptr< Polygon< DIM > > > GetSurfacePolygons()
std::vector< DimensionalChastePoint< DIM > > GetHoles()
void ProjectOnPlane(std::vector< c_vector< double, DIM > > &rPoints, c_vector< double, DIM > directionVector, double length, vtkSmartPointer< vtkPlane > pPlane)