Chaste  Build::
VesselSurfaceGenerator< DIM > Class Template Reference

#include <VesselSurfaceGenerator.hpp>

+ Collaboration diagram for VesselSurfaceGenerator< DIM >:

Public Member Functions

 VesselSurfaceGenerator (boost::shared_ptr< VesselNetwork< DIM > > pVesselNetwork)
 
 ~VesselSurfaceGenerator ()
 
std::vector< std::vector< boost::shared_ptr< Polygon< DIM > > > > GetSurface ()
 
std::vector< boost::shared_ptr< Polygon< DIM > > > GetSurfacePolygons ()
 
std::vector< DimensionalChastePoint< DIM > > GetHoles ()
 
vtkSmartPointer< vtkPolyData > GetVtkSurface ()
 

Private Member Functions

std::vector< c_vector< double, DIM > > MakeCircle (double radius, unsigned numberOfSegments=16)
 
void ProjectOnPlane (std::vector< c_vector< double, DIM > > &rPoints, c_vector< double, DIM > directionVector, double length, vtkSmartPointer< vtkPlane > pPlane)
 
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)
 

Private Attributes

boost::shared_ptr< VesselNetwork< DIM > > mpVesselNetwork
 
vtkSmartPointer< vtkPolyData > mpSurface
 
units::quantity< unit::length > mReferenceLength
 

Detailed Description

template<unsigned DIM>
class VesselSurfaceGenerator< DIM >

Class for generating surface representations of vessel networks. The generated surface is suitable for finite element meshing and can be returned in PLC or VTK formats. Units are not maintained.

Definition at line 53 of file VesselSurfaceGenerator.hpp.

Constructor & Destructor Documentation

template<unsigned DIM>
VesselSurfaceGenerator< DIM >::VesselSurfaceGenerator ( boost::shared_ptr< VesselNetwork< DIM > >  pVesselNetwork)

Constructor

Parameters
pVesselNetworkthe vessel network to generate the surface on

Definition at line 52 of file VesselSurfaceGenerator.cpp.

template<unsigned DIM>
VesselSurfaceGenerator< DIM >::~VesselSurfaceGenerator ( )

Destructor

Definition at line 60 of file VesselSurfaceGenerator.cpp.

Member Function Documentation

template<unsigned DIM>
std::vector< DimensionalChastePoint< DIM > > VesselSurfaceGenerator< DIM >::GetHoles ( )

Return the locations of PLC holes in the network. Holes are points that are situated on the 'inside' of vessel segments. They are useful for meshing.

Returns
the locations of PLC holes in the network

Definition at line 65 of file VesselSurfaceGenerator.cpp.

References VesselSurfaceGenerator< DIM >::mpVesselNetwork.

Referenced by Part< DIM >::AddVesselNetwork().

template<unsigned DIM>
std::vector< std::vector< boost::shared_ptr< Polygon< DIM > > > > VesselSurfaceGenerator< DIM >::GetSurface ( )
template<unsigned DIM>
std::vector< boost::shared_ptr< Polygon< DIM > > > VesselSurfaceGenerator< DIM >::GetSurfacePolygons ( )

Return the surface in the form of a vector of PLC polygons

Returns
a vector of PLC polygons

Definition at line 316 of file VesselSurfaceGenerator.cpp.

References VesselSurfaceGenerator< DIM >::GetSurface().

Referenced by Part< DIM >::AddVesselNetwork().

template<unsigned DIM>
vtkSmartPointer< vtkPolyData > VesselSurfaceGenerator< DIM >::GetVtkSurface ( )

Return the surface in the form of VTK polydata

Returns
the surface in the form of VTK polydata

Definition at line 331 of file VesselSurfaceGenerator.cpp.

References Part< DIM >::AddPolygon(), VesselSurfaceGenerator< DIM >::GetSurface(), Part< DIM >::GetVtk(), and VesselSurfaceGenerator< DIM >::mpSurface.

template<unsigned DIM>
std::vector< c_vector< double, DIM > > VesselSurfaceGenerator< DIM >::MakeCircle ( double  radius,
unsigned  numberOfSegments = 16 
)
private

Return a vector of locations on a circle centred at x=0, y=0 with specified radius.

Parameters
radiusthe radius
numberOfSegmentsnumber of line segments around the circle
Returns
locations on the circle

Definition at line 350 of file VesselSurfaceGenerator.cpp.

Referenced by VesselSurfaceGenerator< DIM >::GetSurface().

template<unsigned DIM>
void VesselSurfaceGenerator< DIM >::ProjectOnPlane ( std::vector< c_vector< double, DIM > > &  rPoints,
c_vector< double, DIM >  directionVector,
double  length,
vtkSmartPointer< vtkPlane >  pPlane 
)
private

Project the input points onto the specified plane

Parameters
rPointsthe points for projection
directionVectorthe direction vector
lengththe point distant to plane
pPlanethe plane

Definition at line 370 of file VesselSurfaceGenerator.cpp.

Referenced by VesselSurfaceGenerator< DIM >::GetSurface().

template<unsigned DIM>
void VesselSurfaceGenerator< DIM >::RotateAboutAxis ( std::vector< c_vector< double, DIM > > &  rPoints,
c_vector< double, DIM >  axis,
double  angle 
)
private

Rotate the input points about the specified axis by the specified angle

Parameters
rPointsthe points for projection
axisthe rotation axis
anglethe rotation angle

Definition at line 385 of file VesselSurfaceGenerator.cpp.

Referenced by VesselSurfaceGenerator< DIM >::GetSurface().

template<unsigned DIM>
void VesselSurfaceGenerator< DIM >::Translate ( std::vector< c_vector< double, DIM > > &  rPoints,
c_vector< double, DIM >  translationVector 
)
private

Translate the input points along the specified vector

Parameters
rPointsthe points for translation
translationVectorthe translation vector

Definition at line 408 of file VesselSurfaceGenerator.cpp.

Referenced by VesselSurfaceGenerator< DIM >::GetSurface().

Member Data Documentation

template<unsigned DIM>
vtkSmartPointer<vtkPolyData> VesselSurfaceGenerator< DIM >::mpSurface
private

A VTK representation of the surface.

Definition at line 63 of file VesselSurfaceGenerator.hpp.

Referenced by VesselSurfaceGenerator< DIM >::GetVtkSurface().

template<unsigned DIM>
boost::shared_ptr<VesselNetwork<DIM> > VesselSurfaceGenerator< DIM >::mpVesselNetwork
private

The vessel network for which the surface will be generated.

Definition at line 58 of file VesselSurfaceGenerator.hpp.

Referenced by VesselSurfaceGenerator< DIM >::GetHoles(), and VesselSurfaceGenerator< DIM >::GetSurface().

template<unsigned DIM>
units::quantity<unit::length> VesselSurfaceGenerator< DIM >::mReferenceLength
private

The reference length scale

Definition at line 68 of file VesselSurfaceGenerator.hpp.

Referenced by VesselSurfaceGenerator< DIM >::GetSurface().


The documentation for this class was generated from the following files: