Chaste
Build::
|
#include <VesselSurfaceGenerator.hpp>
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 |
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.
VesselSurfaceGenerator< DIM >::VesselSurfaceGenerator | ( | boost::shared_ptr< VesselNetwork< DIM > > | pVesselNetwork | ) |
Constructor
pVesselNetwork | the vessel network to generate the surface on |
Definition at line 52 of file VesselSurfaceGenerator.cpp.
VesselSurfaceGenerator< DIM >::~VesselSurfaceGenerator | ( | ) |
Destructor
Definition at line 60 of file VesselSurfaceGenerator.cpp.
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.
Definition at line 65 of file VesselSurfaceGenerator.cpp.
References VesselSurfaceGenerator< DIM >::mpVesselNetwork.
Referenced by Part< DIM >::AddVesselNetwork().
std::vector< std::vector< boost::shared_ptr< Polygon< DIM > > > > VesselSurfaceGenerator< DIM >::GetSurface | ( | ) |
Return the surface in the form of a vector of PLC polygons for each segment
Definition at line 77 of file VesselSurfaceGenerator.cpp.
References Polygon< DIM >::Create(), VesselSurfaceGenerator< DIM >::MakeCircle(), VesselSurfaceGenerator< DIM >::mpVesselNetwork, VesselSurfaceGenerator< DIM >::mReferenceLength, VesselSurfaceGenerator< DIM >::ProjectOnPlane(), VesselSurfaceGenerator< DIM >::RotateAboutAxis(), and VesselSurfaceGenerator< DIM >::Translate().
Referenced by VesselSurfaceGenerator< DIM >::GetSurfacePolygons(), and VesselSurfaceGenerator< DIM >::GetVtkSurface().
std::vector< boost::shared_ptr< Polygon< DIM > > > VesselSurfaceGenerator< DIM >::GetSurfacePolygons | ( | ) |
Return the surface in the form of a vector of PLC polygons
Definition at line 316 of file VesselSurfaceGenerator.cpp.
References VesselSurfaceGenerator< DIM >::GetSurface().
Referenced by Part< DIM >::AddVesselNetwork().
vtkSmartPointer< vtkPolyData > VesselSurfaceGenerator< DIM >::GetVtkSurface | ( | ) |
Return 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.
|
private |
Return a vector of locations on a circle centred at x=0, y=0 with specified radius.
radius | the radius |
numberOfSegments | number of line segments around the circle |
Definition at line 350 of file VesselSurfaceGenerator.cpp.
Referenced by VesselSurfaceGenerator< DIM >::GetSurface().
|
private |
Project the input points onto the specified plane
rPoints | the points for projection |
directionVector | the direction vector |
length | the point distant to plane |
pPlane | the plane |
Definition at line 370 of file VesselSurfaceGenerator.cpp.
Referenced by VesselSurfaceGenerator< DIM >::GetSurface().
|
private |
Rotate the input points about the specified axis by the specified angle
rPoints | the points for projection |
axis | the rotation axis |
angle | the rotation angle |
Definition at line 385 of file VesselSurfaceGenerator.cpp.
Referenced by VesselSurfaceGenerator< DIM >::GetSurface().
|
private |
Translate the input points along the specified vector
rPoints | the points for translation |
translationVector | the translation vector |
Definition at line 408 of file VesselSurfaceGenerator.cpp.
Referenced by VesselSurfaceGenerator< DIM >::GetSurface().
|
private |
A VTK representation of the surface.
Definition at line 63 of file VesselSurfaceGenerator.hpp.
Referenced by VesselSurfaceGenerator< DIM >::GetVtkSurface().
|
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().
|
private |
The reference length scale
Definition at line 68 of file VesselSurfaceGenerator.hpp.
Referenced by VesselSurfaceGenerator< DIM >::GetSurface().