![]() |
Chaste
Build::
|
#include <VesselNode.hpp>
Inheritance diagram for VesselNode< DIM >:
Collaboration diagram for VesselNode< DIM >: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().