Chaste
Build::
|
#include <VesselNode.hpp>
Public Member Functions | |
VesselNode (double v1, double v2, double v3, units::quantity< unit::length > referenceLength) | |
VesselNode (double v1=0.0, double v2=0.0, double v3=0.0) | |
VesselNode (const DimensionalChastePoint< DIM > &location) | |
VesselNode (const VesselNode< DIM > &rExistingNode) | |
~VesselNode () | |
unsigned | GetComparisonId () |
units::quantity< unit::length > | GetDistance (const DimensionalChastePoint< DIM > &rLocation) const |
boost::shared_ptr< NodeFlowProperties< DIM > > | GetFlowProperties () const |
const DimensionalChastePoint< DIM > & | rGetLocation () const |
unsigned | GetNumberOfSegments () const |
std::map< std::string, double > | GetOutputData () |
units::quantity< unit::length > | GetReferenceLengthScale () const |
boost::shared_ptr< VesselSegment< DIM > > | GetSegment (unsigned index) const |
std::vector< boost::shared_ptr< VesselSegment< DIM > > > | GetSegments () const |
bool | IsAttachedTo (const boost::shared_ptr< VesselSegment< DIM > > pSegment) const |
bool | IsCoincident (const DimensionalChastePoint< DIM > &rLocation) const |
bool | IsMigrating () const |
void | SetComparisonId (unsigned id) |
void | SetFlowProperties (const NodeFlowProperties< DIM > &rFlowProperties) |
void | SetIsMigrating (bool isMigrating) |
void | SetLocation (const DimensionalChastePoint< DIM > &rLocation) |
void | SetLocation (double x, double y, double z=0.0, units::quantity< unit::length > referenceLength=1.e-6 *unit::metres) |
void | SetReferenceLengthScale (units::quantity< unit::length > lenthScale) |
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< VesselNode< DIM > > | Create (double v1=0.0, double v2=0.0, double v3=0.0) |
static boost::shared_ptr< VesselNode< DIM > > | Create (double v1, double v2, double v3, units::quantity< unit::length > referenceLength) |
static boost::shared_ptr< VesselNode< DIM > > | Create (const DimensionalChastePoint< DIM > &location) |
static boost::shared_ptr< VesselNode< DIM > > | Create (const VesselNode< DIM > &rExistingNode) |
static boost::shared_ptr< VesselNode< DIM > > | Create (boost::shared_ptr< VesselNode< DIM > > pExistingNode) |
Private Member Functions | |
template<class Archive > | |
void | serialize (Archive &ar, const unsigned int version) |
void | AddSegment (boost::shared_ptr< VesselSegment< DIM > > pVesselSegment) |
void | RemoveSegment (boost::shared_ptr< VesselSegment< DIM > > pVesselSegment) |
Private Attributes | |
DimensionalChastePoint< DIM > | mLocation |
std::vector< boost::weak_ptr< VesselSegment< DIM > > > | mSegments |
bool | mIsMigrating |
boost::shared_ptr< NodeFlowProperties< DIM > > | mpFlowProperties |
unsigned | mPtrComparisonId |
Friends | |
class | boost::serialization::access |
class | VesselSegment< DIM > |
Additional Inherited Members | |
Protected Attributes inherited from AbstractVesselNetworkComponent< DIM > | |
std::map< std::string, double > | mOutputData |
unsigned | mId |
units::quantity< unit::length > | mRadius |
This is a class for vessel nodes, which are vessel network components.
Nodes are point locations along a vessel. They are used for describing the end positions of straight line vessel segments.
Definition at line 65 of file VesselNode.hpp.
VesselNode< DIM >::VesselNode | ( | double | v1, |
double | v2, | ||
double | v3, | ||
units::quantity< unit::length > | referenceLength | ||
) |
Constructor. Create a node using xyz coordinates
v1 | the node's x-coordinate |
v2 | the node's y-coordinate |
v3 | the node's z-coordinate |
referenceLength | the reference length scale, defaults to micron |
Definition at line 41 of file VesselNode.cpp.
References VesselNode< DIM >::mpFlowProperties.
VesselNode< DIM >::VesselNode | ( | double | v1 = 0.0 , |
double | v2 = 0.0 , |
||
double | v3 = 0.0 |
||
) |
Constructor. Create a node using xyz coordinates
v1 | the node's x-coordinate (defaults to 0) |
v2 | the node's y-coordinate (defaults to 0) |
v3 | the node's z-coordinate (defaults to 0) |
Definition at line 52 of file VesselNode.cpp.
References VesselNode< DIM >::mpFlowProperties.
VesselNode< DIM >::VesselNode | ( | const DimensionalChastePoint< DIM > & | location | ) |
Constructor. Create a node using ublas c_vector
location | the node's location (defaults to 0.0) |
Definition at line 63 of file VesselNode.cpp.
References VesselNode< DIM >::mpFlowProperties.
VesselNode< DIM >::VesselNode | ( | const VesselNode< DIM > & | rExistingNode | ) |
Copy constructor.
rExistingNode | the node to copy from |
Definition at line 74 of file VesselNode.cpp.
References VesselNode< DIM >::GetFlowProperties(), VesselNode< DIM >::IsMigrating(), VesselNode< DIM >::mIsMigrating, and VesselNode< DIM >::SetFlowProperties().
VesselNode< DIM >::~VesselNode | ( | ) |
Destructor
Definition at line 88 of file VesselNode.cpp.
|
private |
Add a vessel segment the node. Private because node-segment connectivity needs to be managed.
pVesselSegment | the segment to be added |
Definition at line 132 of file VesselNode.cpp.
References VesselNode< DIM >::mSegments.
|
static |
Construct a new instance of the class and return a shared pointer to it.
v1 | the node's x-coordinate (defaults to 0 micron) |
v2 | the node's y-coordinate (defaults to 0 micron) |
v3 | the node's z-coordinate (defaults to 0 micron) |
Definition at line 100 of file VesselNode.cpp.
Referenced by Vessel< DIM >::DivideSegment(), AngiogenesisSolver< DIM >::DoAnastamosis(), VesselNetwork< DIM >::FormSprout(), and AngiogenesisSolver< DIM >::UpdateNodalPositions().
|
static |
Construct a new instance of the class and return a shared pointer to it.
v1 | the node's x-coordinate (defaults to 0 micron) |
v2 | the node's y-coordinate (defaults to 0 micron) |
v3 | the node's z-coordinate (defaults to 0 micron) |
referenceLength | the reference length scale |
Definition at line 93 of file VesselNode.cpp.
|
static |
Construct a new instance of the class and return a shared pointer to it.
location | the node's location (defaults to 0.0 micron) |
Definition at line 107 of file VesselNode.cpp.
|
static |
Construct a new instance of the class and return a shared pointer to it.
rExistingNode | the node to copy from |
Definition at line 114 of file VesselNode.cpp.
|
static |
Construct a new instance of the class and return a shared pointer to it.
pExistingNode | the node to copy from |
Definition at line 121 of file VesselNode.cpp.
unsigned VesselNode< DIM >::GetComparisonId | ( | ) |
Return the Id for comparing pointer contents
Definition at line 147 of file VesselNode.cpp.
References VesselNode< DIM >::mPtrComparisonId.
units::quantity< unit::length > VesselNode< DIM >::GetDistance | ( | const DimensionalChastePoint< DIM > & | rLocation | ) | const |
Return the distance between the input location and the node
rLocation | the location to calculate the distance to |
Definition at line 153 of file VesselNode.cpp.
References VesselNode< DIM >::mLocation.
boost::shared_ptr< NodeFlowProperties< DIM > > VesselNode< DIM >::GetFlowProperties | ( | ) | const |
Return the flow properties of the component
Definition at line 159 of file VesselNode.cpp.
References VesselNode< DIM >::mpFlowProperties.
Referenced by VesselNode< DIM >::VesselNode().
unsigned VesselNode< DIM >::GetNumberOfSegments | ( | ) | const |
Return the number of attached segments
Definition at line 171 of file VesselNode.cpp.
References VesselNode< DIM >::mSegments.
|
virtual |
Return a map of output data for writers
Implements AbstractVesselNetworkComponent< DIM >.
Definition at line 177 of file VesselNode.cpp.
References AbstractVesselNetworkComponent< DIM >::GetId(), AbstractVesselNetworkComponent< DIM >::GetRadius(), VesselNode< DIM >::IsMigrating(), AbstractVesselNetworkComponent< DIM >::mOutputData, and VesselNode< DIM >::mpFlowProperties.
units::quantity< unit::length > VesselNode< DIM >::GetReferenceLengthScale | ( | ) | const |
Return the reference length scale for the node, default is micron
Definition at line 189 of file VesselNode.cpp.
References VesselNode< DIM >::mLocation.
boost::shared_ptr< VesselSegment< DIM > > VesselNode< DIM >::GetSegment | ( | unsigned | index | ) | const |
Return a pointer to the indexed vessel segment
index | the segment index |
Definition at line 195 of file VesselNode.cpp.
References VesselNode< DIM >::mSegments.
std::vector< boost::shared_ptr< VesselSegment< DIM > > > VesselNode< DIM >::GetSegments | ( | ) | const |
Return a vector of pointers to the attached vessel segments.
Definition at line 209 of file VesselNode.cpp.
References VesselNode< DIM >::mSegments.
bool VesselNode< DIM >::IsAttachedTo | ( | const boost::shared_ptr< VesselSegment< DIM > > | pSegment | ) | const |
Return true if the input segment is attached to the node
pSegment | a pointer to the segment to query |
Definition at line 221 of file VesselNode.cpp.
bool VesselNode< DIM >::IsCoincident | ( | const DimensionalChastePoint< DIM > & | rLocation | ) | const |
Return true if the node is coincident with the input location
rLocation | the query location |
Definition at line 228 of file VesselNode.cpp.
References VesselNode< DIM >::mLocation.
bool VesselNode< DIM >::IsMigrating | ( | ) | const |
Has the node been designated as migrating. This is useful for keeping track of nodes in angiogenesis simulations.
Definition at line 234 of file VesselNode.cpp.
References VesselNode< DIM >::mIsMigrating.
Referenced by VesselNode< DIM >::GetOutputData(), and VesselNode< DIM >::VesselNode().
|
private |
Remove a vessel segment from the node. Private because node-segment connectivity needs to be managed.
pVesselSegment | the segment to be removed |
Definition at line 240 of file VesselNode.cpp.
References VesselNode< DIM >::mSegments.
const DimensionalChastePoint< DIM > & VesselNode< DIM >::rGetLocation | ( | ) | const |
Return a reference to the location of the node, default is micron
Definition at line 165 of file VesselNode.cpp.
References VesselNode< DIM >::mLocation.
|
inlineprivate |
Do the serialize
ar | the archive |
version | the archive version number |
Definition at line 81 of file VesselNode.hpp.
References VesselNode< DIM >::mIsMigrating, VesselNode< DIM >::mLocation, VesselNode< DIM >::mpFlowProperties, and VesselNode< DIM >::mPtrComparisonId.
void VesselNode< DIM >::SetComparisonId | ( | unsigned | id | ) |
Set the id used for comparing the contents of pointers. This is only used by certain methods in the VesselNetwork class. Use SetId for generic node labelling.
id | for node comparison |
Definition at line 254 of file VesselNode.cpp.
References VesselNode< DIM >::mPtrComparisonId.
void VesselNode< DIM >::SetFlowProperties | ( | const NodeFlowProperties< DIM > & | rFlowProperties | ) |
Set the flow properties of the node
rFlowProperties | the flow properties to be set |
Definition at line 260 of file VesselNode.cpp.
References VesselNode< DIM >::mpFlowProperties.
Referenced by VesselNode< DIM >::VesselNode().
void VesselNode< DIM >::SetIsMigrating | ( | bool | isMigrating | ) |
Set that the node is migrating
isMigrating | whether the node is migrating |
Definition at line 278 of file VesselNode.cpp.
References VesselNode< DIM >::mIsMigrating.
void VesselNode< DIM >::SetLocation | ( | const DimensionalChastePoint< DIM > & | rLocation | ) |
Set the location of the node. It is assumed that this location is consistent with the nodes reference length scale, default is micron.
rLocation | a ublas c_vector specifying the location |
Definition at line 266 of file VesselNode.cpp.
References VesselNode< DIM >::mLocation.
void VesselNode< DIM >::SetLocation | ( | double | x, |
double | y, | ||
double | z = 0.0 , |
||
units::quantity< unit::length > | referenceLength = 1.e-6*unit::metres |
||
) |
Set the location of the node. It is assumed that this location is consistent with the nodes reference length scale, default is micron.
x | the x location |
y | the y location |
z | the z location |
referenceLength | the reference length scale |
Definition at line 272 of file VesselNode.cpp.
References VesselNode< DIM >::mLocation.
void VesselNode< DIM >::SetReferenceLengthScale | ( | units::quantity< unit::length > | lenthScale | ) |
Set the length scale used to dimensionalize the node location as stored in mLocation. If you want locations to be in metres, for example, set it to unit::metres. The node location values are changed accordingly when this value is changed.
lenthScale | the reference length scale for node locations |
Definition at line 284 of file VesselNode.cpp.
References VesselNode< DIM >::mLocation.
|
friend |
Archiving. Note that mSegments is not serialized here. Segments should add or remove themselves from nodes when serializing/de-serializing. It is not managed by nodes.
Definition at line 73 of file VesselNode.hpp.
|
friend |
Allow segments to manage adding and removing themselves from nodes.
Definition at line 93 of file VesselNode.hpp.
|
private |
Is the vessel allowed to extend at this node
Definition at line 108 of file VesselNode.hpp.
Referenced by VesselNode< DIM >::IsMigrating(), VesselNode< DIM >::serialize(), VesselNode< DIM >::SetIsMigrating(), and VesselNode< DIM >::VesselNode().
|
private |
Location of a node in space.
Definition at line 98 of file VesselNode.hpp.
Referenced by VesselNode< DIM >::GetDistance(), VesselNode< DIM >::GetReferenceLengthScale(), VesselNode< DIM >::IsCoincident(), VesselNode< DIM >::rGetLocation(), VesselNode< DIM >::serialize(), VesselNode< DIM >::SetLocation(), and VesselNode< DIM >::SetReferenceLengthScale().
|
private |
A flow property collection for the node
Definition at line 113 of file VesselNode.hpp.
Referenced by VesselNode< DIM >::GetFlowProperties(), VesselNode< DIM >::GetOutputData(), VesselNode< DIM >::serialize(), VesselNode< DIM >::SetFlowProperties(), and VesselNode< DIM >::VesselNode().
|
private |
This is used for comparing nodes in some VesselNetwork methods. It should not be used otherwise.
Definition at line 119 of file VesselNode.hpp.
Referenced by VesselNode< DIM >::GetComparisonId(), VesselNode< DIM >::serialize(), and VesselNode< DIM >::SetComparisonId().
|
private |
Collection of pointers to Vessel Segments connected to this node.
Definition at line 103 of file VesselNode.hpp.
Referenced by VesselNode< DIM >::AddSegment(), VesselNode< DIM >::GetNumberOfSegments(), VesselNode< DIM >::GetSegment(), VesselNode< DIM >::GetSegments(), and VesselNode< DIM >::RemoveSegment().