Chaste  Build::
VesselNetwork< DIM > Class Template Reference

#include <VesselNetwork.hpp>

+ Inheritance diagram for VesselNetwork< DIM >:
+ Collaboration diagram for VesselNetwork< DIM >:

Public Member Functions

 VesselNetwork ()
 
virtual ~VesselNetwork ()
 
void AddVessel (boost::shared_ptr< Vessel< DIM > > pVessel)
 
void AddVessels (std::vector< boost::shared_ptr< Vessel< DIM > > > vessels)
 
void CopySegmentFlowProperties (unsigned index=0)
 
std::vector< boost::shared_ptr< Vessel< DIM > > > CopyVessels ()
 
std::vector< boost::shared_ptr< Vessel< DIM > > > CopyVessels (std::vector< boost::shared_ptr< Vessel< DIM > > > vessels)
 
virtual boost::shared_ptr< VesselNode< DIM > > DivideVessel (boost::shared_ptr< Vessel< DIM > > pVessel, const DimensionalChastePoint< DIM > &rLocation)
 
virtual void ExtendVessel (boost::shared_ptr< Vessel< DIM > > pVessel, boost::shared_ptr< VesselNode< DIM > > pEndNode, boost::shared_ptr< VesselNode< DIM > > pNewNode)
 
virtual boost::shared_ptr< Vessel< DIM > > FormSprout (const DimensionalChastePoint< DIM > &sproutBaseLocation, const DimensionalChastePoint< DIM > &sproutTipLocation)
 
units::quantity< unit::length > GetDistanceToNearestNode (const DimensionalChastePoint< DIM > &rLocation)
 
boost::shared_ptr< VesselNode< DIM > > GetNearestNode (const DimensionalChastePoint< DIM > &rLocation)
 
boost::shared_ptr< VesselNode< DIM > > GetNearestNode (boost::shared_ptr< VesselNode< DIM > > pInputNode)
 
std::pair< boost::shared_ptr< VesselSegment< DIM > >, units::quantity< unit::length > > GetNearestSegment (boost::shared_ptr< VesselSegment< DIM > > pSegment)
 
std::pair< boost::shared_ptr< VesselSegment< DIM > >, units::quantity< unit::length > > GetNearestSegment (boost::shared_ptr< VesselNode< DIM > > pNode, bool sameVessel=true)
 
std::pair< boost::shared_ptr< VesselSegment< DIM > >, units::quantity< unit::length > > GetNearestSegment (const DimensionalChastePoint< DIM > &rLocation)
 
boost::shared_ptr< Vessel< DIM > > GetNearestVessel (const DimensionalChastePoint< DIM > &rLocation)
 
unsigned GetNodeIndex (boost::shared_ptr< VesselNode< DIM > > pNode)
 
unsigned NumberOfNodesNearLocation (const DimensionalChastePoint< DIM > &rLocation, double tolerance=0.0)
 
std::pair< DimensionalChastePoint< DIM >, DimensionalChastePoint< DIM > > GetExtents (bool useRadii=false)
 
boost::shared_ptr< VesselNode< DIM > > GetNode (unsigned index)
 
std::vector< boost::shared_ptr< VesselNode< DIM > > > GetNodes ()
 
unsigned GetNumberOfNodes ()
 
unsigned GetNumberOfVesselNodes ()
 
unsigned GetNumberOfVessels ()
 
unsigned GetMaxBranchesOnNode ()
 
std::map< std::string, double > GetOutputData ()
 
std::vector< boost::shared_ptr< VesselNode< DIM > > > GetVesselEndNodes ()
 
unsigned GetVesselIndex (boost::shared_ptr< Vessel< DIM > > pVessel)
 
unsigned GetVesselSegmentIndex (boost::shared_ptr< VesselSegment< DIM > > pVesselSegment)
 
std::vector< boost::shared_ptr< VesselSegment< DIM > > > GetVesselSegments ()
 
boost::shared_ptr< Vessel< DIM > > GetVessel (unsigned index)
 
std::vector< boost::shared_ptr< Vessel< DIM > > > GetVessels ()
 
bool NodeIsInNetwork (boost::shared_ptr< VesselNode< DIM > > pSourceNode)
 
void MergeShortVessels (units::quantity< unit::length > cutoff=10.0 *1.e-6 *unit::metres)
 
void MergeCoincidentNodes (double tolerance=0.0)
 
void MergeCoincidentNodes (std::vector< boost::shared_ptr< Vessel< DIM > > > pVessels, double tolerance=0.0)
 
void MergeCoincidentNodes (std::vector< boost::shared_ptr< VesselNode< DIM > > > nodes, double tolerance=0.0)
 
void RemoveVessel (boost::shared_ptr< Vessel< DIM > > pVessel, bool deleteVessel=false)
 
void RemoveShortVessels (units::quantity< unit::length > cutoff=10.0 *1.e-6 *unit::metres, bool endsOnly=true)
 
void SetNodeRadii (units::quantity< unit::length > radius)
 
void SetNodeRadiiFromSegments ()
 
void SetSegmentProperties (boost::shared_ptr< VesselSegment< DIM > > prototype)
 
void SetSegmentRadii (units::quantity< unit::length > radius)
 
void SetSegmentViscosity (units::quantity< unit::dynamic_viscosity > viscosity)
 
void Translate (DimensionalChastePoint< DIM > rTranslationVector)
 
void Translate (DimensionalChastePoint< DIM > rTranslationVector, std::vector< boost::shared_ptr< Vessel< DIM > > > vessels)
 
void UpdateNodes ()
 
void UpdateSegments ()
 
void UpdateVesselNodes ()
 
void UpdateVesselIds ()
 
void UpdateAll (bool merge=false)
 
bool VesselCrossesLineSegment (const DimensionalChastePoint< DIM > &rCoord1, const DimensionalChastePoint< DIM > &rCoord2, double tolerance=1e-6)
 
void Write (const std::string &rFileName)
 
- Public Member Functions inherited from AbstractVesselNetworkComponent< DIM >
 AbstractVesselNetworkComponent ()
 
virtual ~AbstractVesselNetworkComponent ()
 
virtual unsigned GetId () const
 
virtual double GetOutputDataValue (const std::string &rKey)
 
virtual std::vector< std::string > GetOutputDataKeys ()
 
virtual units::quantity< unit::length > GetRadius () const
 
virtual void SetId (unsigned id)
 
virtual void SetOutputData (const std::string &rKey, double value)
 
virtual void SetRadius (units::quantity< unit::length > radius)
 

Static Public Member Functions

static boost::shared_ptr< VesselNetwork< DIM > > Create ()
 

Private Attributes

std::vector< boost::shared_ptr< Vessel< DIM > > > mVessels
 
std::vector< boost::shared_ptr< VesselSegment< DIM > > > mSegments
 
bool mSegmentsUpToDate
 
std::vector< boost::shared_ptr< VesselNode< DIM > > > mNodes
 
bool mNodesUpToDate
 
std::vector< boost::shared_ptr< VesselNode< DIM > > > mVesselNodes
 
bool mVesselNodesUpToDate
 

Additional Inherited Members

- Protected Attributes inherited from AbstractVesselNetworkComponent< DIM >
std::map< std::string, double > mOutputData
 
unsigned mId
 
units::quantity< unit::length > mRadius
 

Detailed Description

template<unsigned DIM>
class VesselNetwork< DIM >

A vessel network is a collection of vessels.

Definition at line 53 of file VesselNetwork.hpp.

Constructor & Destructor Documentation

template<unsigned DIM>
VesselNetwork< DIM >::VesselNetwork ( )

Constructor.

Definition at line 45 of file VesselNetwork.cpp.

template<unsigned DIM>
VesselNetwork< DIM >::~VesselNetwork ( )
virtual

Destructor

Definition at line 58 of file VesselNetwork.cpp.

Member Function Documentation

template<unsigned DIM>
void VesselNetwork< DIM >::AddVessel ( boost::shared_ptr< Vessel< DIM > >  pVessel)
template<unsigned DIM>
void VesselNetwork< DIM >::AddVessels ( std::vector< boost::shared_ptr< Vessel< DIM > > >  vessels)
template<unsigned DIM>
void VesselNetwork< DIM >::CopySegmentFlowProperties ( unsigned  index = 0)

Copy flow properties from the specified segment to all other segments

Parameters
indexthe segment index to be copied

Definition at line 89 of file VesselNetwork.cpp.

References VesselNetwork< DIM >::GetVesselSegments().

template<unsigned DIM>
std::vector< boost::shared_ptr< Vessel< DIM > > > VesselNetwork< DIM >::CopyVessels ( )

Make a copy of all vessels, but with new nodes and segments in each copy. Return the new vessels.

Returns
the new vessels

Definition at line 101 of file VesselNetwork.cpp.

References VesselNetwork< DIM >::mVessels.

template<unsigned DIM>
std::vector< boost::shared_ptr< Vessel< DIM > > > VesselNetwork< DIM >::CopyVessels ( std::vector< boost::shared_ptr< Vessel< DIM > > >  vessels)

Make a copy of the selected vessels, but with new nodes and segments in each copy. Return the new vessels.

Parameters
vesselsthe vessels to be copied
Returns
the new vessels

Definition at line 107 of file VesselNetwork.cpp.

References VesselNetwork< DIM >::AddVessels(), and VesselNetwork< DIM >::MergeCoincidentNodes().

template<unsigned DIM>
boost::shared_ptr< VesselNetwork< DIM > > VesselNetwork< DIM >::Create ( )
static

Construct a new instance of the class and return a shared pointer to it.

Returns
share pointer to the network

Definition at line 64 of file VesselNetwork.cpp.

Referenced by CsvVesselNetworkReader< DIM >::Create(), VesselNetworkReader< DIM >::Read(), and VesselNetworkGenerator< DIM >::SetReferenceLengthScale().

template<unsigned DIM>
boost::shared_ptr< VesselNode< DIM > > VesselNetwork< DIM >::DivideVessel ( boost::shared_ptr< Vessel< DIM > >  pVessel,
const DimensionalChastePoint< DIM > &  rLocation 
)
virtual

Divides a vessel into two at the specified location.

Parameters
pVesselthe vessel to be divided
rLocationthe division location
Returns
the node at the division location

Definition at line 130 of file VesselNetwork.cpp.

References VesselNetwork< DIM >::AddVessel(), Vessel< DIM >::Create(), VesselNetwork< DIM >::GetNode(), VesselNetwork< DIM >::mNodesUpToDate, VesselNetwork< DIM >::mSegmentsUpToDate, VesselNetwork< DIM >::mVesselNodesUpToDate, and VesselNetwork< DIM >::RemoveVessel().

Referenced by VesselNetwork< DIM >::FormSprout().

template<unsigned DIM>
void VesselNetwork< DIM >::ExtendVessel ( boost::shared_ptr< Vessel< DIM > >  pVessel,
boost::shared_ptr< VesselNode< DIM > >  pEndNode,
boost::shared_ptr< VesselNode< DIM > >  pNewNode 
)
virtual

Add a new node to the end of the vessel

Parameters
pVesselthe vessel to be extended
pEndNodethe node that the new segment will start on, should already be on the end of the vessel
pNewNodethe new node to be added to the end of the vessel

Definition at line 211 of file VesselNetwork.cpp.

References VesselSegment< DIM >::Create(), VesselNetwork< DIM >::mNodesUpToDate, VesselNetwork< DIM >::mSegmentsUpToDate, and VesselNetwork< DIM >::mVesselNodesUpToDate.

template<unsigned DIM>
boost::shared_ptr< Vessel< DIM > > VesselNetwork< DIM >::FormSprout ( const DimensionalChastePoint< DIM > &  sproutBaseLocation,
const DimensionalChastePoint< DIM > &  sproutTipLocation 
)
virtual

Forms a sprout at the specified locations.

Parameters
sproutBaseLocationthe sprout base
sproutTipLocationthe sprout tip
Returns
the new sprout

Definition at line 235 of file VesselNetwork.cpp.

References VesselNetwork< DIM >::AddVessel(), VesselSegment< DIM >::Create(), Vessel< DIM >::Create(), VesselNode< DIM >::Create(), VesselNetwork< DIM >::DivideVessel(), and VesselNetwork< DIM >::GetNearestSegment().

template<unsigned DIM>
units::quantity< unit::length > VesselNetwork< DIM >::GetDistanceToNearestNode ( const DimensionalChastePoint< DIM > &  rLocation)

Get distance to nearest node

Parameters
rLocationthe probe point
Returns
the distance to the node

Definition at line 376 of file VesselNetwork.cpp.

References VesselNetwork< DIM >::GetNodes().

template<unsigned DIM>
std::pair< DimensionalChastePoint< DIM >, DimensionalChastePoint< DIM > > VesselNetwork< DIM >::GetExtents ( bool  useRadii = false)

Return the extents of the vessel network in the form ((xmin, xmax), (ymin, ymax), (zmin, zmax))

Parameters
useRadiiuse the vessel radii in calculations
Returns
the extents of the vessel network in the form ((xmin, xmax), (ymin, ymax), (zmin, zmax))

Definition at line 285 of file VesselNetwork.cpp.

References VesselNetwork< DIM >::GetNodes(), BaseUnits::GetReferenceLengthScale(), and BaseUnits::Instance().

template<unsigned DIM>
unsigned VesselNetwork< DIM >::GetMaxBranchesOnNode ( )

Return the number of branches on the most highly connected node

Returns
the number of branches on the most highly connected node

Definition at line 786 of file VesselNetwork.cpp.

References VesselNetwork< DIM >::GetVesselEndNodes().

template<unsigned DIM>
boost::shared_ptr< VesselNode< DIM > > VesselNetwork< DIM >::GetNearestNode ( const DimensionalChastePoint< DIM > &  rLocation)

Get the node nearest to the specified location

Parameters
rLocationthe probe point
Returns
the nearest node

Definition at line 419 of file VesselNetwork.cpp.

References VesselNetwork< DIM >::GetNodes().

template<unsigned DIM>
boost::shared_ptr< VesselNode< DIM > > VesselNetwork< DIM >::GetNearestNode ( boost::shared_ptr< VesselNode< DIM > >  pInputNode)

Get the node nearest to the specified node

Parameters
pInputNodethe probe point
Returns
the nearest node

Definition at line 396 of file VesselNetwork.cpp.

References VesselNetwork< DIM >::GetNodes().

template<unsigned DIM>
std::pair< boost::shared_ptr< VesselSegment< DIM > >, units::quantity< unit::length > > VesselNetwork< DIM >::GetNearestSegment ( boost::shared_ptr< VesselSegment< DIM > >  pSegment)

Get the segment nearest to the specified segment and the distance to it

Parameters
pSegmentthe probe segment
Returns
the segment nearest to the specified segment and the distance to it

Definition at line 440 of file VesselNetwork.cpp.

References VesselNetwork< DIM >::GetVesselSegments().

Referenced by VesselNetwork< DIM >::FormSprout(), VesselNetwork< DIM >::GetNearestVessel(), and VesselNetwork< DIM >::VesselCrossesLineSegment().

template<unsigned DIM>
std::pair< boost::shared_ptr< VesselSegment< DIM > >, units::quantity< unit::length > > VesselNetwork< DIM >::GetNearestSegment ( boost::shared_ptr< VesselNode< DIM > >  pNode,
bool  sameVessel = true 
)

Get the segment nearest to the specified node and the distance to it

Parameters
pNodethe probe node
sameVesselcan it be on the same vessel
Returns
the segment nearest to the specified segment and the distance to it

Definition at line 549 of file VesselNetwork.cpp.

References VesselNetwork< DIM >::GetVessel(), and VesselNetwork< DIM >::GetVesselSegments().

template<unsigned DIM>
std::pair< boost::shared_ptr< VesselSegment< DIM > >, units::quantity< unit::length > > VesselNetwork< DIM >::GetNearestSegment ( const DimensionalChastePoint< DIM > &  rLocation)

Get the segment nearest to the specified location and the distance to it

Parameters
rLocationthe probe location
Returns
the segment nearest to the specified segment and the distance to it

Definition at line 593 of file VesselNetwork.cpp.

References VesselNetwork< DIM >::GetVesselSegments().

template<unsigned DIM>
boost::shared_ptr< Vessel< DIM > > VesselNetwork< DIM >::GetNearestVessel ( const DimensionalChastePoint< DIM > &  rLocation)

Get the vessel nearest to the specified location

Parameters
rLocationthe probe location
Returns
the vessel nearest to the specified segment and the distance to it

Definition at line 615 of file VesselNetwork.cpp.

References VesselNetwork< DIM >::GetNearestSegment().

template<unsigned DIM>
boost::shared_ptr< VesselNode< DIM > > VesselNetwork< DIM >::GetNode ( unsigned  index)

Return the indexed node in the network This is dangerous as the node member array can be updated and this index will be out of date, use GetNodes instead.

Parameters
indexthe node index
Returns
the node

Definition at line 699 of file VesselNetwork.cpp.

References VesselNetwork< DIM >::mNodes, VesselNetwork< DIM >::mNodesUpToDate, and VesselNetwork< DIM >::UpdateNodes().

Referenced by VesselNetwork< DIM >::DivideVessel().

template<unsigned DIM>
unsigned VesselNetwork< DIM >::GetNodeIndex ( boost::shared_ptr< VesselNode< DIM > >  pNode)

Get index of the node

Parameters
pNodethe probe node
Returns
index of the node

Definition at line 732 of file VesselNetwork.cpp.

References VesselNetwork< DIM >::GetNodes().

template<unsigned DIM>
unsigned VesselNetwork< DIM >::GetNumberOfNodes ( )

Return the number of nodes in the network.

Returns
the number of nodes in the network.

Definition at line 710 of file VesselNetwork.cpp.

References VesselNetwork< DIM >::mNodes, VesselNetwork< DIM >::mNodesUpToDate, and VesselNetwork< DIM >::UpdateNodes().

template<unsigned DIM>
unsigned VesselNetwork< DIM >::GetNumberOfVesselNodes ( )

Return the number of vessel nodes in the network.

Returns
the number of vessel nodes in the network.

Definition at line 721 of file VesselNetwork.cpp.

References VesselNetwork< DIM >::mVesselNodes, VesselNetwork< DIM >::mVesselNodesUpToDate, and VesselNetwork< DIM >::UpdateVesselNodes().

template<unsigned DIM>
unsigned VesselNetwork< DIM >::GetNumberOfVessels ( )

Return the number of vessels in the network.

Returns
the number of vessels in the network.

Definition at line 752 of file VesselNetwork.cpp.

References VesselNetwork< DIM >::mVessels.

template<unsigned DIM>
std::map< std::string, double > VesselNetwork< DIM >::GetOutputData ( )
virtual

Return a map of vessel network data for use by the vtk writer

Returns
a map of vessel network data for use by the vtk writer

Implements AbstractVesselNetworkComponent< DIM >.

Definition at line 369 of file VesselNetwork.cpp.

References AbstractVesselNetworkComponent< DIM >::mOutputData.

template<unsigned DIM>
boost::shared_ptr< Vessel< DIM > > VesselNetwork< DIM >::GetVessel ( unsigned  index)

Return the indexed vessel

Parameters
indexthe query index
Returns
the indexed vessel

Definition at line 768 of file VesselNetwork.cpp.

References VesselNetwork< DIM >::mVessels.

Referenced by VesselNetwork< DIM >::GetNearestSegment().

template<unsigned DIM>
std::vector< boost::shared_ptr< VesselNode< DIM > > > VesselNetwork< DIM >::GetVesselEndNodes ( )

Return the only the nodes at the ends of vessels in the network

Returns
the nodes at the ends of vessels in the network

Definition at line 758 of file VesselNetwork.cpp.

References VesselNetwork< DIM >::mVesselNodes, VesselNetwork< DIM >::mVesselNodesUpToDate, and VesselNetwork< DIM >::UpdateVesselNodes().

Referenced by VesselNetwork< DIM >::GetMaxBranchesOnNode().

template<unsigned DIM>
unsigned VesselNetwork< DIM >::GetVesselIndex ( boost::shared_ptr< Vessel< DIM > >  pVessel)

Return the Index of the specified vessel

Parameters
pVesselthe query vessel
Returns
the Index of the specified vessel

Definition at line 807 of file VesselNetwork.cpp.

References VesselNetwork< DIM >::mVessels.

template<unsigned DIM>
std::vector< boost::shared_ptr< Vessel< DIM > > > VesselNetwork< DIM >::GetVessels ( )

Return the vessels in the network

Returns
the vessels in the network

Definition at line 779 of file VesselNetwork.cpp.

References VesselNetwork< DIM >::mVessels.

template<unsigned DIM>
unsigned VesselNetwork< DIM >::GetVesselSegmentIndex ( boost::shared_ptr< VesselSegment< DIM > >  pVesselSegment)

Return the Index of the specified vessel segment

Parameters
pVesselSegmentthe query segment
Returns
the Index of the specified vessel segment

Definition at line 823 of file VesselNetwork.cpp.

References VesselNetwork< DIM >::GetVesselSegments().

template<unsigned DIM>
void VesselNetwork< DIM >::MergeCoincidentNodes ( double  tolerance = 0.0)

Merge nodes with the same spatial location. Useful for tidying up networks read from file.

Parameters
tolerancehow close together are nodes for them to be coincident

Definition at line 858 of file VesselNetwork.cpp.

References VesselNetwork< DIM >::GetNodes().

Referenced by VesselNetwork< DIM >::CopyVessels(), VesselNetwork< DIM >::MergeCoincidentNodes(), VesselNetwork< DIM >::MergeShortVessels(), and VesselNetwork< DIM >::UpdateAll().

template<unsigned DIM>
void VesselNetwork< DIM >::MergeCoincidentNodes ( std::vector< boost::shared_ptr< Vessel< DIM > > >  pVessels,
double  tolerance = 0.0 
)

Merge nodes with the same spatial location. Useful for tidying up networks read from file.

Parameters
pVesselsthe vessels for merging
tolerancehow close together are nodes for them to be coincident

Definition at line 864 of file VesselNetwork.cpp.

References VesselNetwork< DIM >::MergeCoincidentNodes().

template<unsigned DIM>
void VesselNetwork< DIM >::MergeCoincidentNodes ( std::vector< boost::shared_ptr< VesselNode< DIM > > >  nodes,
double  tolerance = 0.0 
)

Merge nodes with the same spatial location. Useful for tidying up networks read from file.

Parameters
nodesthe nodes to merge
tolerancehow close together are nodes for them to be coincident

Definition at line 876 of file VesselNetwork.cpp.

References VesselNetwork< DIM >::mNodesUpToDate, VesselNetwork< DIM >::mSegmentsUpToDate, and VesselNetwork< DIM >::mVesselNodesUpToDate.

template<unsigned DIM>
void VesselNetwork< DIM >::MergeShortVessels ( units::quantity< unit::length >  cutoff = 10.0 * 1.e-6 * unit::metres)
template<unsigned DIM>
bool VesselNetwork< DIM >::NodeIsInNetwork ( boost::shared_ptr< VesselNode< DIM > >  pSourceNode)

Return whether node is in network.

Parameters
pSourceNodethe node
Returns
is the node in the network

Definition at line 851 of file VesselNetwork.cpp.

References VesselNetwork< DIM >::GetNodes().

template<unsigned DIM>
unsigned VesselNetwork< DIM >::NumberOfNodesNearLocation ( const DimensionalChastePoint< DIM > &  rLocation,
double  tolerance = 0.0 
)

Get the number of nodes near to a specified point

Parameters
rLocationthe probe point
tolerancethe tolerance for proximty calculation
Returns
the number of nodes

Definition at line 672 of file VesselNetwork.cpp.

References VesselNetwork< DIM >::GetNodes().

template<unsigned DIM>
void VesselNetwork< DIM >::RemoveShortVessels ( units::quantity< unit::length >  cutoff = 10.0* 1.e-6 * unit::metres,
bool  endsOnly = true 
)

Remove short vessels from the network

Parameters
cutoffthe minumum vessel length
endsOnlyjust remove vessels with connectivity 1

Definition at line 621 of file VesselNetwork.cpp.

References VesselNetwork< DIM >::mVessels, and VesselNetwork< DIM >::RemoveVessel().

template<unsigned DIM>
void VesselNetwork< DIM >::RemoveVessel ( boost::shared_ptr< Vessel< DIM > >  pVessel,
bool  deleteVessel = false 
)

Removes a vessel from the network

Parameters
pVesselthe vessel to remove
deleteVesselalso remove the vessel from its child segments and nodes if true.

Definition at line 967 of file VesselNetwork.cpp.

References VesselNetwork< DIM >::mNodesUpToDate, VesselNetwork< DIM >::mSegmentsUpToDate, VesselNetwork< DIM >::mVesselNodesUpToDate, and VesselNetwork< DIM >::mVessels.

Referenced by VesselNetwork< DIM >::DivideVessel(), VesselNetwork< DIM >::MergeShortVessels(), and VesselNetwork< DIM >::RemoveShortVessels().

template<unsigned DIM>
void VesselNetwork< DIM >::SetNodeRadii ( units::quantity< unit::length >  radius)

Set the nodal radii to the same value

Parameters
radiusthe node radius value

Definition at line 990 of file VesselNetwork.cpp.

References VesselNetwork< DIM >::GetNodes().

template<unsigned DIM>
void VesselNetwork< DIM >::SetNodeRadiiFromSegments ( )

Get the node radius by averaging its segments

Definition at line 269 of file VesselNetwork.cpp.

References VesselNetwork< DIM >::GetNodes().

template<unsigned DIM>
void VesselNetwork< DIM >::SetSegmentProperties ( boost::shared_ptr< VesselSegment< DIM > >  prototype)

Set the properties of the segments in the network based on those of the prototype

Parameters
prototypea prototype segment from which to copy properties

Definition at line 926 of file VesselNetwork.cpp.

References VesselNetwork< DIM >::GetVesselSegments().

template<unsigned DIM>
void VesselNetwork< DIM >::SetSegmentRadii ( units::quantity< unit::length >  radius)

Set the segment radii to the same value

Parameters
radiusthe segment radius

Definition at line 1002 of file VesselNetwork.cpp.

References VesselNetwork< DIM >::GetVesselSegments().

template<unsigned DIM>
void VesselNetwork< DIM >::SetSegmentViscosity ( units::quantity< unit::dynamic_viscosity >  viscosity)

Set the segment viscosity to the same value

Parameters
viscositythe segment viscosity

Definition at line 1013 of file VesselNetwork.cpp.

References VesselNetwork< DIM >::GetVesselSegments().

template<unsigned DIM>
void VesselNetwork< DIM >::Translate ( DimensionalChastePoint< DIM >  rTranslationVector)

Translate the network along the provided vector

Parameters
rTranslationVectorthe translation vector

Definition at line 942 of file VesselNetwork.cpp.

References VesselNetwork< DIM >::mVessels.

template<unsigned DIM>
void VesselNetwork< DIM >::Translate ( DimensionalChastePoint< DIM >  rTranslationVector,
std::vector< boost::shared_ptr< Vessel< DIM > > >  vessels 
)

Translate specific vessels along the provided vector

Parameters
rTranslationVectorthe translation vector
vesselsthe vessels to translate

Definition at line 948 of file VesselNetwork.cpp.

References DimensionalChastePoint< DIM >::Translate().

template<unsigned DIM>
void VesselNetwork< DIM >::UpdateAll ( bool  merge = false)

Update all dynamic storage in the vessel network, optionally merge coincident nodes

Parameters
mergewhether to merge co-incident nodes

Definition at line 1023 of file VesselNetwork.cpp.

References VesselNetwork< DIM >::MergeCoincidentNodes(), VesselNetwork< DIM >::UpdateNodes(), VesselNetwork< DIM >::UpdateSegments(), VesselNetwork< DIM >::UpdateVesselIds(), and VesselNetwork< DIM >::UpdateVesselNodes().

template<unsigned DIM>
void VesselNetwork< DIM >::UpdateSegments ( )
template<unsigned DIM>
void VesselNetwork< DIM >::UpdateVesselIds ( )

Update the vessel id tags

Definition at line 1102 of file VesselNetwork.cpp.

References VesselNetwork< DIM >::mVessels.

Referenced by VesselNetwork< DIM >::UpdateAll().

template<unsigned DIM>
bool VesselNetwork< DIM >::VesselCrossesLineSegment ( const DimensionalChastePoint< DIM > &  rCoord1,
const DimensionalChastePoint< DIM > &  rCoord2,
double  tolerance = 1e-6 
)

Returns whether a vessel crosses a line segment.

Parameters
rCoord1the start of the line segment
rCoord2the end of the line segment
tolerancehow close to crossing is considered crossing
Returns
whether a vessel crosses a line segment.

Definition at line 1111 of file VesselNetwork.cpp.

References VesselSegment< DIM >::Create(), and VesselNetwork< DIM >::GetNearestSegment().

template<unsigned DIM>
void VesselNetwork< DIM >::Write ( const std::string &  rFileName)

Write the network to file

Parameters
rFileNamethe filename

Definition at line 1129 of file VesselNetwork.cpp.

References VesselNetworkWriter< DIM >::Create().

Member Data Documentation

template<unsigned DIM>
std::vector<boost::shared_ptr<VesselNode<DIM> > > VesselNetwork< DIM >::mNodes
private
template<unsigned DIM>
std::vector<boost::shared_ptr<VesselSegment<DIM> > > VesselNetwork< DIM >::mSegments
private

Container for vessel segments in the VesselNetwork.

Definition at line 66 of file VesselNetwork.hpp.

Referenced by VesselNetwork< DIM >::GetVesselSegments(), and VesselNetwork< DIM >::UpdateSegments().

template<unsigned DIM>
std::vector<boost::shared_ptr<VesselNode<DIM> > > VesselNetwork< DIM >::mVesselNodes
private

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