#include <VertexMesh.hpp>
Public Member Functions | |
VertexElementIterator | GetElementIteratorBegin (bool skipDeletedElements=true) |
VertexElementIterator | GetElementIteratorEnd () |
VertexMesh (std::vector< Node< SPACE_DIM > * > nodes, std::vector< VertexElement< ELEMENT_DIM, SPACE_DIM > * > vertexElements) | |
VertexMesh (std::vector< Node< SPACE_DIM > * > nodes, std::vector< VertexElement< ELEMENT_DIM-1, SPACE_DIM > * > faces, std::vector< VertexElement< ELEMENT_DIM, SPACE_DIM > * > vertexElements) | |
VertexMesh (TetrahedralMesh< 2, 2 > &rMesh, bool isPeriodic=false) | |
VertexMesh (TetrahedralMesh< 3, 3 > &rMesh) | |
VertexMesh () | |
virtual | ~VertexMesh () |
virtual unsigned | GetNumNodes () const |
virtual unsigned | GetNumElements () const |
unsigned | GetNumAllElements () const |
virtual unsigned | GetNumFaces () const |
VertexElement< ELEMENT_DIM, SPACE_DIM > * | GetElement (unsigned index) const |
VertexElement< ELEMENT_DIM-1, SPACE_DIM > * | GetFace (unsigned index) const |
virtual c_vector< double, SPACE_DIM > | GetCentroidOfElement (unsigned index) |
void | ConstructFromMeshReader (AbstractMeshReader< ELEMENT_DIM, SPACE_DIM > &rMeshReader) |
virtual void | Clear () |
unsigned | GetDelaunayNodeIndexCorrespondingToVoronoiElementIndex (unsigned elementIndex) |
unsigned | GetVoronoiElementIndexCorrespondingToDelaunayNodeIndex (unsigned nodeIndex) |
virtual c_vector< double, SPACE_DIM > | GetVectorFromAtoB (const c_vector< double, SPACE_DIM > &rLocationA, const c_vector< double, SPACE_DIM > &rLocationB) |
virtual double | GetVolumeOfElement (unsigned index) |
virtual double | GetSurfaceAreaOfElement (unsigned index) |
c_vector< double, SPACE_DIM > | GetAreaGradientOfElementAtNode (VertexElement< ELEMENT_DIM, SPACE_DIM > *pElement, unsigned localIndex) |
c_vector< double, SPACE_DIM > | GetPreviousEdgeGradientOfElementAtNode (VertexElement< ELEMENT_DIM, SPACE_DIM > *pElement, unsigned localIndex) |
c_vector< double, SPACE_DIM > | GetNextEdgeGradientOfElementAtNode (VertexElement< ELEMENT_DIM, SPACE_DIM > *pElement, unsigned localIndex) |
c_vector< double, SPACE_DIM > | GetPerimeterGradientOfElementAtNode (VertexElement< ELEMENT_DIM, SPACE_DIM > *pElement, unsigned localIndex) |
virtual c_vector< double, 3 > | CalculateMomentsOfElement (unsigned index) |
double | GetEdgeLength (unsigned elementIndex1, unsigned elementIndex2) |
c_vector< double, SPACE_DIM > | GetUnitNormalToFace (VertexElement< ELEMENT_DIM-1, SPACE_DIM > *pFace) |
virtual double | GetAreaOfFace (VertexElement< ELEMENT_DIM-1, SPACE_DIM > *pFace) |
c_vector< double, SPACE_DIM > | GetShortAxisOfElement (unsigned index) |
std::set< unsigned > | GetNeighbouringNodeIndices (unsigned nodeIndex) |
std::set< unsigned > | GetNeighbouringNodeNotAlsoInElement (unsigned nodeIndex, unsigned elemIndex) |
std::set< unsigned > | GetNeighbouringElementIndices (unsigned elementIndex) |
template<> | |
VertexMesh (TetrahedralMesh< 3, 3 > &rMesh) | |
Protected Member Functions | |
unsigned | SolveNodeMapping (unsigned index) const |
unsigned | SolveElementMapping (unsigned index) const |
unsigned | SolveBoundaryElementMapping (unsigned index) const |
void | GenerateVerticesFromElementCircumcentres (TetrahedralMesh< ELEMENT_DIM, SPACE_DIM > &rMesh) |
bool | ElementIncludesPoint (const c_vector< double, SPACE_DIM > &rTestPoint, unsigned elementIndex) |
unsigned | GetLocalIndexForElementEdgeClosestToPoint (const c_vector< double, SPACE_DIM > &rTestPoint, unsigned elementIndex) |
template<class Archive> | |
void | save (Archive &archive, const unsigned int version) const |
template<class Archive> | |
void | load (Archive &archive, const unsigned int version) |
Protected Attributes | |
std::vector< VertexElement < ELEMENT_DIM, SPACE_DIM > * > | mElements |
std::vector< VertexElement < ELEMENT_DIM-1, SPACE_DIM > * > | mFaces |
std::map< unsigned, unsigned > | mVoronoiElementIndexMap |
TetrahedralMesh< ELEMENT_DIM, SPACE_DIM > * | mpDelaunayMesh |
Friends | |
class | TestVertexMesh |
class | boost::serialization::access |
Classes | |
class | VertexElementIterator |
Definition at line 56 of file VertexMesh.hpp.
VertexMesh< ELEMENT_DIM, SPACE_DIM >::VertexMesh | ( | std::vector< Node< SPACE_DIM > * > | nodes, | |
std::vector< VertexElement< ELEMENT_DIM, SPACE_DIM > * > | vertexElements | |||
) | [inline] |
Default constructor.
nodes | vector of pointers to nodes | |
vertexElements | vector of pointers to VertexElements |
Definition at line 44 of file VertexMesh.cpp.
References VertexMesh< ELEMENT_DIM, SPACE_DIM >::Clear(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetIndex(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNode(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::mElements, VertexMesh< ELEMENT_DIM, SPACE_DIM >::mFaces, AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mMeshChangesDuringSimulation, and AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mNodes.
VertexMesh< ELEMENT_DIM, SPACE_DIM >::VertexMesh | ( | std::vector< Node< SPACE_DIM > * > | nodes, | |
std::vector< VertexElement< ELEMENT_DIM-1, SPACE_DIM > * > | faces, | |||
std::vector< VertexElement< ELEMENT_DIM, SPACE_DIM > * > | vertexElements | |||
) | [inline] |
Constructor.
nodes | vector of pointers to nodes | |
faces | vector of pointer to VertexElements | |
vertexElements | vector of pointers to VertexElement<3,3>s |
Definition at line 108 of file VertexMesh.cpp.
References Node< SPACE_DIM >::AddElement(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::Clear(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetIndex(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNode(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::mElements, VertexMesh< ELEMENT_DIM, SPACE_DIM >::mFaces, AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mMeshChangesDuringSimulation, and AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mNodes.
VertexMesh< ELEMENT_DIM, SPACE_DIM >::VertexMesh | ( | TetrahedralMesh< 2, 2 > & | rMesh, | |
bool | isPeriodic = false | |||
) |
Alternative 2D 'Voronoi' constructor. Creates a Voronoi tessellation of a given tetrahedral mesh, which must be Delaunay (see TetrahedralMesh::CheckIsVoronoi).
rMesh | a tetrahedral mesh | |
isPeriodic | a boolean that indicates whether the mesh is periodic or not |
VertexMesh< ELEMENT_DIM, SPACE_DIM >::VertexMesh | ( | TetrahedralMesh< 3, 3 > & | rMesh | ) |
Alternative 3D 'Voronoi' constructor. Creates a Voronoi tessellation of a given tetrahedral mesh, which must be Delaunay (see TetrahedralMesh::CheckIsVoronoi).
rMesh | a tetrahedral mesh |
VertexMesh< ELEMENT_DIM, SPACE_DIM >::VertexMesh | ( | ) | [inline] |
Default constructor for use by serializer.
Definition at line 540 of file VertexMesh.cpp.
References VertexMesh< ELEMENT_DIM, SPACE_DIM >::Clear(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mMeshChangesDuringSimulation, and VertexMesh< ELEMENT_DIM, SPACE_DIM >::mpDelaunayMesh.
VertexMesh< ELEMENT_DIM, SPACE_DIM >::~VertexMesh | ( | ) | [inline, virtual] |
Destructor.
Definition at line 549 of file VertexMesh.cpp.
References VertexMesh< ELEMENT_DIM, SPACE_DIM >::Clear().
VertexMesh< 3, 3 >::VertexMesh | ( | TetrahedralMesh< 3, 3 > & | rMesh | ) | [inline] |
This VertexMesh constructor is currently only defined for 3D meshes.
rMesh | a tetrahedral mesh |
Create a std::list of pairs, where each pair comprises the angle between the centre of the Voronoi element and each node with that node's global index in the Voronoi mesh.
Definition at line 331 of file VertexMesh.cpp.
References VertexElement< ELEMENT_DIM, SPACE_DIM >::AddFace(), VertexElement< ELEMENT_DIM, SPACE_DIM >::AddNode(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::Clear(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GenerateVerticesFromElementCircumcentres(), Node< SPACE_DIM >::GetIndex(), Node< SPACE_DIM >::IsBoundaryNode(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::mElements, VertexMesh< ELEMENT_DIM, SPACE_DIM >::mFaces, AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mMeshChangesDuringSimulation, AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mNodes, VertexMesh< ELEMENT_DIM, SPACE_DIM >::mpDelaunayMesh, VertexMesh< ELEMENT_DIM, SPACE_DIM >::mVoronoiElementIndexMap, Node< SPACE_DIM >::rGetContainingElementIndices(), and Node< SPACE_DIM >::rGetLocation().
unsigned VertexMesh< ELEMENT_DIM, SPACE_DIM >::SolveNodeMapping | ( | unsigned | index | ) | const [inline, protected, virtual] |
Solve node mapping method. This overridden method is required as it is pure virtual in the base class.
index | the global index of the node |
Implements AbstractMesh< ELEMENT_DIM, SPACE_DIM >.
Definition at line 556 of file VertexMesh.cpp.
References AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mNodes.
unsigned VertexMesh< ELEMENT_DIM, SPACE_DIM >::SolveElementMapping | ( | unsigned | index | ) | const [inline, protected] |
Solve element mapping method. This overridden method is required as it is pure virtual in the base class.
index | the global index of the element |
Definition at line 564 of file VertexMesh.cpp.
References VertexMesh< ELEMENT_DIM, SPACE_DIM >::mElements.
unsigned VertexMesh< ELEMENT_DIM, SPACE_DIM >::SolveBoundaryElementMapping | ( | unsigned | index | ) | const [inline, protected] |
Solve boundary element mapping method. This overridden method is required as it is pure virtual in the base class.
index | the global index of the boundary element |
Definition at line 572 of file VertexMesh.cpp.
void VertexMesh< ELEMENT_DIM, SPACE_DIM >::GenerateVerticesFromElementCircumcentres | ( | TetrahedralMesh< ELEMENT_DIM, SPACE_DIM > & | rMesh | ) | [inline, protected] |
Populate mNodes with locations corresponding to the element circumcentres of a given TetrahedralMesh. Used by 'Voronoi' constructors.
rMesh | a tetrahedral mesh |
Definition at line 480 of file VertexMesh.cpp.
References AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetElement(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetInverseJacobianForElement(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumElements(), and AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mNodes.
Referenced by VertexMesh< ELEMENT_DIM, SPACE_DIM >::VertexMesh(), and VertexMesh< 2, 2 >::VertexMesh().
bool VertexMesh< ELEMENT_DIM, SPACE_DIM >::ElementIncludesPoint | ( | const c_vector< double, SPACE_DIM > & | rTestPoint, | |
unsigned | elementIndex | |||
) | [inline, protected] |
Test whether a given point lies inside a given element.
We use a ray-casting algorithm, which relies on the following result: if the point in question is not on the boundary of the element, then the number of intersections is an even number if the point is outside, and it is odd if inside.
Currently the method is coded 'strictly', such that points lying on an edge or at a vertex are considered to lie outside the element.
rTestPoint | the point to test | |
elementIndex | global index of the element in the mesh |
Definition at line 1181 of file VertexMesh.cpp.
References VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetElement(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNodeLocation(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), and VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetVectorFromAtoB().
Referenced by MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::CheckForIntersections().
unsigned VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetLocalIndexForElementEdgeClosestToPoint | ( | const c_vector< double, SPACE_DIM > & | rTestPoint, | |
unsigned | elementIndex | |||
) | [inline, protected] |
Get the local index of a given element which is the start vertex of the edge of the element that the overlapping point rTestPoint is closest to.
rTestPoint | the point to test | |
elementIndex | global index of the element in the mesh |
Definition at line 1247 of file VertexMesh.cpp.
References VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetElement(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNodeLocation(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), and VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetVectorFromAtoB().
Referenced by MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformT3Swap().
void VertexMesh< ELEMENT_DIM, SPACE_DIM >::save | ( | Archive & | archive, | |
const unsigned int | version | |||
) | const [inline, protected] |
Archive the VertexMesh and its member variables. Note that this will write out a VertexMeshWriter file to wherever ArchiveLocationInfo has specified.
archive | the archive | |
version | the current version of this class |
Definition at line 163 of file VertexMesh.hpp.
void VertexMesh< ELEMENT_DIM, SPACE_DIM >::load | ( | Archive & | archive, | |
const unsigned int | version | |||
) | [inline, protected] |
Loads a mesh by using VertexMeshReader and the location in ArchiveLocationInfo.
archive | the archive | |
version | the current version of this class |
Definition at line 181 of file VertexMesh.hpp.
VertexMesh< ELEMENT_DIM, SPACE_DIM >::VertexElementIterator VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetElementIteratorBegin | ( | bool | skipDeletedElements = true |
) | [inline] |
Get an iterator to the first element in the mesh.
skipDeletedElements | whether to include deleted element |
Definition at line 598 of file VertexMesh.hpp.
Referenced by WelikyOsterForce< DIM >::AddForceContribution(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::CheckForIntersections(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::CheckForT1Swaps(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::CheckForT2Swaps(), MeshBasedCellPopulation< DIM >::WriteCellPopulationVolumeResultsToFile(), MeshBasedCellPopulation< DIM >::WriteCellVolumeResultsToFile(), VertexBasedCellPopulation< DIM >::WriteResultsToFiles(), MeshBasedCellPopulation< DIM >::WriteVoronoiResultsToFile(), MeshBasedCellPopulationWithGhostNodes< DIM >::WriteVtkResultsToFile(), MeshBasedCellPopulation< DIM >::WriteVtkResultsToFile(), and VertexMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteVtkUsingMesh().
VertexMesh< ELEMENT_DIM, SPACE_DIM >::VertexElementIterator VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetElementIteratorEnd | ( | ) | [inline] |
Get an iterator to one past the last element in the mesh.
Definition at line 605 of file VertexMesh.hpp.
References VertexMesh< ELEMENT_DIM, SPACE_DIM >::mElements.
Referenced by WelikyOsterForce< DIM >::AddForceContribution(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::CheckForIntersections(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::CheckForT1Swaps(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::CheckForT2Swaps(), MeshBasedCellPopulation< DIM >::WriteCellPopulationVolumeResultsToFile(), MeshBasedCellPopulation< DIM >::WriteCellVolumeResultsToFile(), VertexBasedCellPopulation< DIM >::WriteResultsToFiles(), MeshBasedCellPopulation< DIM >::WriteVoronoiResultsToFile(), MeshBasedCellPopulationWithGhostNodes< DIM >::WriteVtkResultsToFile(), MeshBasedCellPopulation< DIM >::WriteVtkResultsToFile(), and VertexMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteVtkUsingMesh().
unsigned VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetNumNodes | ( | ) | const [inline, virtual] |
Reimplemented from AbstractMesh< ELEMENT_DIM, SPACE_DIM >.
Reimplemented in MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >, MutableVertexMesh< 2, 2 >, and MutableVertexMesh< DIM, DIM >.
Definition at line 661 of file VertexMesh.cpp.
References AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mNodes.
Referenced by VertexMeshWriter< ELEMENT_DIM, SPACE_DIM >::WriteVtkUsingMesh().
unsigned VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetNumElements | ( | ) | const [inline, virtual] |
Reimplemented in MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >, MutableVertexMesh< 2, 2 >, and MutableVertexMesh< DIM, DIM >.
Definition at line 668 of file VertexMesh.cpp.
References VertexMesh< ELEMENT_DIM, SPACE_DIM >::mElements.
Referenced by MeshBasedCellPopulationWithGhostNodes< DIM >::WriteVtkResultsToFile(), and MeshBasedCellPopulation< DIM >::WriteVtkResultsToFile().
unsigned VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetNumAllElements | ( | ) | const [inline] |
Definition at line 675 of file VertexMesh.cpp.
References VertexMesh< ELEMENT_DIM, SPACE_DIM >::mElements.
Referenced by MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::RemoveDeletedNodesAndElements(), and VertexBasedCellPopulation< DIM >::Update().
unsigned VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetNumFaces | ( | ) | const [inline, virtual] |
Definition at line 682 of file VertexMesh.cpp.
References VertexMesh< ELEMENT_DIM, SPACE_DIM >::mFaces.
VertexElement< ELEMENT_DIM, SPACE_DIM > * VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetElement | ( | unsigned | index | ) | const [inline] |
index | the global index of a specified vertex element. |
Definition at line 689 of file VertexMesh.cpp.
References VertexMesh< ELEMENT_DIM, SPACE_DIM >::mElements.
Referenced by VertexMesh< ELEMENT_DIM, SPACE_DIM >::CalculateMomentsOfElement(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::CheckForT1Swaps(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::DivideEdge(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::DivideElementAlongGivenAxis(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::ElementIncludesPoint(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetCentroidOfElement(), Cylindrical2dVertexMesh::GetCentroidOfElement(), VertexBasedCellPopulation< DIM >::GetElement(), VertexBasedCellPopulation< DIM >::GetElementCorrespondingToCell(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetLocalIndexForElementEdgeClosestToPoint(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetNeighbouringElementIndices(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetNeighbouringNodeIndices(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetNeighbouringNodeNotAlsoInElement(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetSurfaceAreaOfElement(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetVolumeOfElement(), Cylindrical2dVertexMesh::GetVolumeOfElement(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformT2Swap(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformT3Swap(), and VertexBasedCellPopulation< DIM >::WriteResultsToFiles().
VertexElement< ELEMENT_DIM-1, SPACE_DIM > * VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetFace | ( | unsigned | index | ) | const [inline] |
index | the global index of a specified face. |
Definition at line 697 of file VertexMesh.cpp.
References VertexMesh< ELEMENT_DIM, SPACE_DIM >::mFaces.
c_vector< double, SPACE_DIM > VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetCentroidOfElement | ( | unsigned | index | ) | [inline, virtual] |
Compute the centroid of an element.
This needs to be overridden in daughter classes for non-Euclidean metrics.
index | the global index of a specified vertex element |
Reimplemented in Cylindrical2dVertexMesh.
Definition at line 705 of file VertexMesh.cpp.
References VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetElement(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNodeLocation(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetVolumeOfElement(), and NEVER_REACHED.
Referenced by VertexMesh< ELEMENT_DIM, SPACE_DIM >::CalculateMomentsOfElement(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::DivideElementAlongGivenAxis(), VertexBasedCellPopulation< DIM >::GetLocationOfCellCentre(), and MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformT2Swap().
void VertexMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader | ( | AbstractMeshReader< ELEMENT_DIM, SPACE_DIM > & | rMeshReader | ) |
Construct the mesh using a MeshReader.
rMeshReader | the mesh reader |
Referenced by VertexMesh< DIM, DIM >::load().
void VertexMesh< ELEMENT_DIM, SPACE_DIM >::Clear | ( | ) | [inline, virtual] |
Delete mNodes, mFaces and mElements.
Reimplemented in MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >, MutableVertexMesh< 2, 2 >, and MutableVertexMesh< DIM, DIM >.
Definition at line 635 of file VertexMesh.cpp.
References VertexMesh< ELEMENT_DIM, SPACE_DIM >::mElements, VertexMesh< ELEMENT_DIM, SPACE_DIM >::mFaces, and AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mNodes.
Referenced by MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::Clear(), VertexMesh< 2, 2 >::VertexMesh(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::VertexMesh(), and VertexMesh< ELEMENT_DIM, SPACE_DIM >::~VertexMesh().
unsigned VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetDelaunayNodeIndexCorrespondingToVoronoiElementIndex | ( | unsigned | elementIndex | ) | [inline] |
Given the global index of an element in the Voronoi mesh, returns the global index of the corresponding element in the Delaunay mesh.
elementIndex | global index of an element in the Voronoi mesh |
Definition at line 581 of file VertexMesh.cpp.
References VertexMesh< ELEMENT_DIM, SPACE_DIM >::mVoronoiElementIndexMap, and UNSIGNED_UNSET.
Referenced by MeshBasedCellPopulation< DIM >::WriteCellPopulationVolumeResultsToFile(), MeshBasedCellPopulation< DIM >::WriteCellVolumeResultsToFile(), MeshBasedCellPopulation< DIM >::WriteVoronoiResultsToFile(), MeshBasedCellPopulationWithGhostNodes< DIM >::WriteVtkResultsToFile(), and MeshBasedCellPopulation< DIM >::WriteVtkResultsToFile().
unsigned VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetVoronoiElementIndexCorrespondingToDelaunayNodeIndex | ( | unsigned | nodeIndex | ) | [inline] |
Given the global index of a node in the Delaunay mesh, returns the global index of the corresponding element in the Voronoi mesh or throws an exception if this does not exist.
nodeIndex | global index of a node in the Delaunay mesh |
Definition at line 608 of file VertexMesh.cpp.
References EXCEPTION, VertexMesh< ELEMENT_DIM, SPACE_DIM >::mVoronoiElementIndexMap, and UNSIGNED_UNSET.
Referenced by MeshBasedCellPopulation< DIM >::GetSurfaceAreaOfVoronoiElement(), MeshBasedCellPopulation< DIM >::GetVolumeOfVoronoiElement(), and MeshBasedCellPopulation< DIM >::GetVoronoiEdgeLength().
unsigned SPACE_DIM c_vector< double, SPACE_DIM > VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetVectorFromAtoB | ( | const c_vector< double, SPACE_DIM > & | rLocationA, | |
const c_vector< double, SPACE_DIM > & | rLocationB | |||
) | [virtual] |
Overridden GetVectorFromAtoB() method. Returns a vector between two points in space.
If the mesh is being used to represent a Voronoi tessellation, and mpDelaunayMesh is not NULL, then use that to compute GetVectorFromAtoB.
rLocationA | a c_vector of coordinates | |
rLocationB | a c_vector of coordinates |
Reimplemented from AbstractMesh< ELEMENT_DIM, SPACE_DIM >.
Definition at line 1067 of file VertexMesh.cpp.
References AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetVectorFromAtoB(), and VertexMesh< ELEMENT_DIM, SPACE_DIM >::mpDelaunayMesh.
Referenced by WelikyOsterForce< DIM >::AddForceContribution(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::CalculateMomentsOfElement(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::DivideEdge(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::DivideElementAlongGivenAxis(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::ElementIncludesPoint(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetAreaGradientOfElementAtNode(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetEdgeLength(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetLocalIndexForElementEdgeClosestToPoint(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetNextEdgeGradientOfElementAtNode(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetPreviousEdgeGradientOfElementAtNode(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetUnitNormalToFace(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetVolumeOfElement(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformNodeMerge(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformT1Swap(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformT3Swap(), and MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformVoidRemoval().
double VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetVolumeOfElement | ( | unsigned | index | ) | [inline, virtual] |
Get the volume (or area in 2D, or length in 1D) of an element.
This needs to be overridden in daughter classes for non-Euclidean metrics.
index | the global index of a specified vertex element |
Reimplemented in Cylindrical2dVertexMesh.
Definition at line 1084 of file VertexMesh.cpp.
References VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetAreaOfFace(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetElement(), VertexElement< ELEMENT_DIM, SPACE_DIM >::GetFace(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNodeLocation(), VertexElement< ELEMENT_DIM, SPACE_DIM >::GetNumFaces(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetUnitNormalToFace(), and VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetVectorFromAtoB().
Referenced by WelikyOsterForce< DIM >::AddForceContribution(), NagaiHondaForce< DIM >::AddForceContribution(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::CheckForT2Swaps(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetCentroidOfElement(), MeshBasedCellPopulation< DIM >::GetVolumeOfVoronoiElement(), MeshBasedCellPopulation< DIM >::WriteCellPopulationVolumeResultsToFile(), MeshBasedCellPopulation< DIM >::WriteCellVolumeResultsToFile(), VertexBasedCellPopulation< DIM >::WriteResultsToFiles(), MeshBasedCellPopulation< DIM >::WriteVoronoiResultsToFile(), MeshBasedCellPopulationWithGhostNodes< DIM >::WriteVtkResultsToFile(), and MeshBasedCellPopulation< DIM >::WriteVtkResultsToFile().
double VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetSurfaceAreaOfElement | ( | unsigned | index | ) | [inline, virtual] |
Compute the surface area (or perimeter in 2D) of an element.
This needs to be overridden in daughter classes for non-Euclidean metrics.
index | the global index of a specified vertex element |
Definition at line 1143 of file VertexMesh.cpp.
References VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetAreaOfFace(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetDistanceBetweenNodes(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetElement(), VertexElement< ELEMENT_DIM, SPACE_DIM >::GetFace(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNodeGlobalIndex(), VertexElement< ELEMENT_DIM, SPACE_DIM >::GetNumFaces(), and AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNumNodes().
Referenced by WelikyOsterForce< DIM >::AddForceContribution(), NagaiHondaForce< DIM >::AddForceContribution(), MeshBasedCellPopulation< DIM >::GetSurfaceAreaOfVoronoiElement(), and MeshBasedCellPopulation< DIM >::WriteVoronoiResultsToFile().
c_vector< double, SPACE_DIM > VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetAreaGradientOfElementAtNode | ( | VertexElement< ELEMENT_DIM, SPACE_DIM > * | pElement, | |
unsigned | localIndex | |||
) | [inline] |
Compute the area gradient of a 2D element at one of its nodes.
N.B. This calls GetVectorFromAtoB(), which can be overridden in daughter classes for non-Euclidean metrics.
pElement | pointer to a specified vertex element | |
localIndex | local index of a node in this element |
Definition at line 1387 of file VertexMesh.cpp.
References AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNodeLocation(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), and VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetVectorFromAtoB().
Referenced by NagaiHondaForce< DIM >::AddForceContribution().
c_vector< double, SPACE_DIM > VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetPreviousEdgeGradientOfElementAtNode | ( | VertexElement< ELEMENT_DIM, SPACE_DIM > * | pElement, | |
unsigned | localIndex | |||
) | [inline] |
Compute the gradient of the edge of a 2D element ending at its nodes.
N.B. This calls GetVectorFromAtoB(), which can be overridden in daughter classes for non-Euclidean metrics.
pElement | pointer to a specified vertex element | |
localIndex | local index of a node in this element |
Definition at line 1411 of file VertexMesh.cpp.
References AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetDistanceBetweenNodes(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNodeGlobalIndex(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNodeLocation(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), and VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetVectorFromAtoB().
Referenced by NagaiHondaForce< DIM >::AddForceContribution(), and VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetPerimeterGradientOfElementAtNode().
c_vector< double, SPACE_DIM > VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetNextEdgeGradientOfElementAtNode | ( | VertexElement< ELEMENT_DIM, SPACE_DIM > * | pElement, | |
unsigned | localIndex | |||
) | [inline] |
Compute the gradient of the edge of a 2D element starting at its nodes.
N.B. This calls GetVectorFromAtoB(), which can be overridden in daughter classes for non-Euclidean metrics.
pElement | pointer to a specified vertex element | |
localIndex | local index of a node in this element |
Definition at line 1433 of file VertexMesh.cpp.
References AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetDistanceBetweenNodes(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNodeGlobalIndex(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNodeLocation(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), and VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetVectorFromAtoB().
Referenced by NagaiHondaForce< DIM >::AddForceContribution(), and VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetPerimeterGradientOfElementAtNode().
c_vector< double, SPACE_DIM > VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetPerimeterGradientOfElementAtNode | ( | VertexElement< ELEMENT_DIM, SPACE_DIM > * | pElement, | |
unsigned | localIndex | |||
) | [inline] |
Compute the gradient of the perimeter of a 2D element at its nodes. This returns the sum of GetPreviousEdgeGradientAtNode() and GetNextEdgeGradientAtNode().
pElement | pointer to a specified vertex element | |
localIndex | local index of a node in this element |
Definition at line 1452 of file VertexMesh.cpp.
References VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetNextEdgeGradientOfElementAtNode(), and VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetPreviousEdgeGradientOfElementAtNode().
Referenced by NagaiHondaForce< DIM >::AddForceContribution().
c_vector< double, 3 > VertexMesh< ELEMENT_DIM, SPACE_DIM >::CalculateMomentsOfElement | ( | unsigned | index | ) | [inline, virtual] |
Compute the second moments of area of a given 2D element.
index | the global index of a specified vertex element |
Definition at line 1289 of file VertexMesh.cpp.
References VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetCentroidOfElement(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetElement(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNodeLocation(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), and VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetVectorFromAtoB().
Referenced by VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetShortAxisOfElement().
double VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetEdgeLength | ( | unsigned | elementIndex1, | |
unsigned | elementIndex2 | |||
) | [inline] |
Get the length of the edge separating two given elements in 2D.
elementIndex1 | index of an element in the mesh | |
elementIndex2 | index of an element in the mesh |
Definition at line 506 of file VertexMesh.cpp.
References VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetVectorFromAtoB(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::mElements, and AbstractMesh< ELEMENT_DIM, SPACE_DIM >::mNodes.
Referenced by MeshBasedCellPopulation< DIM >::GetVoronoiEdgeLength().
c_vector< double, SPACE_DIM > VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetUnitNormalToFace | ( | VertexElement< ELEMENT_DIM-1, SPACE_DIM > * | pFace | ) | [inline] |
Compute the unit normal vector to a given face in 3D. This is achieved from a triangle of vertices of the face. Note: this may return the outward or inward normal, depending on your point of view.
pFace | a face in the mesh |
Definition at line 1469 of file VertexMesh.cpp.
References AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNode(), and VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetVectorFromAtoB().
Referenced by VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetAreaOfFace(), and VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetVolumeOfElement().
double VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetAreaOfFace | ( | VertexElement< ELEMENT_DIM-1, SPACE_DIM > * | pFace | ) | [inline, virtual] |
Get the area of a given face in 3D. This is achieved by projecting the face onto a 2D plane. To avoid degeneracy and optimize robustness, we choose to ignore the dimension of the component of the unit normal to the plane with the greatest absolute value.
This needs to be overridden in daughter classes for non-Euclidean metrics.
pFace | a face in the mesh |
Definition at line 1494 of file VertexMesh.cpp.
References AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNodeLocation(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), and VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetUnitNormalToFace().
Referenced by VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetSurfaceAreaOfElement(), and VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetVolumeOfElement().
c_vector< double, SPACE_DIM > VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetShortAxisOfElement | ( | unsigned | index | ) | [inline] |
Calculate the vector of the shortest axis of a given 2D element. This is the eigenvector associated with the largest eigenvalue of the inertial tensor. If the polygon is regular then the eigenvalues are the same, so we return a random unit vector.
index | the global index of a specified vertex element |
Definition at line 1346 of file VertexMesh.cpp.
References VertexMesh< ELEMENT_DIM, SPACE_DIM >::CalculateMomentsOfElement(), RandomNumberGenerator::Instance(), and RandomNumberGenerator::ranf().
Referenced by MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::DivideElementAlongShortAxis().
std::set< unsigned > VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetNeighbouringNodeIndices | ( | unsigned | nodeIndex | ) | [inline] |
Given a node, find a set containing the indices of its neighbouring nodes.
nodeIndex | global index of the node |
Definition at line 761 of file VertexMesh.cpp.
References VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetElement(), and AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetNode().
Referenced by VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetNeighbouringNodeNotAlsoInElement().
std::set< unsigned > VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetNeighbouringNodeNotAlsoInElement | ( | unsigned | nodeIndex, | |
unsigned | elemIndex | |||
) | [inline] |
Given a node and one of its containing elements, find a set containing the indices of those neighbouring node(s) that are NOT also in the element.
Note that we allow for more than one such index, since there is no reason a priori to assume that each node is contained by exactly three elements.
nodeIndex | global index of the node | |
elemIndex | global index of the element |
Definition at line 792 of file VertexMesh.cpp.
References EXCEPTION, VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetElement(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetNeighbouringNodeIndices(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNodeGlobalIndex(), and AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNumNodes().
std::set< unsigned > VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetNeighbouringElementIndices | ( | unsigned | elementIndex | ) | [inline] |
Given an element, find a set containing the indices of its neighbouring elements.
elementIndex | global index of the element |
Definition at line 833 of file VertexMesh.cpp.
References VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetElement(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNode(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), and Node< SPACE_DIM >::rGetContainingElementIndices().
friend class boost::serialization::access [friend] |
Needed for serialization.
Reimplemented from AbstractMesh< ELEMENT_DIM, SPACE_DIM >.
Reimplemented in MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >, Cylindrical2dVertexMesh, MutableVertexMesh< 2, 2 >, and MutableVertexMesh< DIM, DIM >.
Definition at line 153 of file VertexMesh.hpp.
std::vector<VertexElement<ELEMENT_DIM, SPACE_DIM>*> VertexMesh< ELEMENT_DIM, SPACE_DIM >::mElements [protected] |
Vector of pointers to VertexElements.
Definition at line 63 of file VertexMesh.hpp.
Referenced by MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::AddElement(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::Clear(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::DeleteElementPriorToReMesh(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::DivideElement(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetEdgeLength(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetElement(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetElementIteratorEnd(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetNumAllElements(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetNumElements(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::GetNumElements(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::IdentifySwapType(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::VertexElementIterator::IsAtEnd(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::MutableVertexMesh(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformNodeMerge(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::PerformT1Swap(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::RemoveDeletedNodesAndElements(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::SolveElementMapping(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::VertexElementIterator::VertexElementIterator(), VertexMesh< 2, 2 >::VertexMesh(), and VertexMesh< ELEMENT_DIM, SPACE_DIM >::VertexMesh().
std::vector<VertexElement<ELEMENT_DIM-1, SPACE_DIM>*> VertexMesh< ELEMENT_DIM, SPACE_DIM >::mFaces [protected] |
Vector of pointers to VertexElements.
Definition at line 66 of file VertexMesh.hpp.
Referenced by VertexMesh< ELEMENT_DIM, SPACE_DIM >::Clear(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetFace(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetNumFaces(), MutableVertexMesh< ELEMENT_DIM, SPACE_DIM >::MutableVertexMesh(), and VertexMesh< ELEMENT_DIM, SPACE_DIM >::VertexMesh().
std::map<unsigned, unsigned> VertexMesh< ELEMENT_DIM, SPACE_DIM >::mVoronoiElementIndexMap [protected] |
Map that is used only when the vertex mesh is used to represent a Voronoi tessellation, the dual to a Delaunay tetrahedral mesh. The map consists of pairs (index1, index2), where index1 denotes the global index of a node in the Delaunay mesh and index2 denotes the global index of the corresponding element in the Voronoi mesh.
Definition at line 75 of file VertexMesh.hpp.
Referenced by VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetDelaunayNodeIndexCorrespondingToVoronoiElementIndex(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetVoronoiElementIndexCorrespondingToDelaunayNodeIndex(), and VertexMesh< ELEMENT_DIM, SPACE_DIM >::VertexMesh().
TetrahedralMesh<ELEMENT_DIM, SPACE_DIM>* VertexMesh< ELEMENT_DIM, SPACE_DIM >::mpDelaunayMesh [protected] |
Delaunay tetrahedral mesh that is used only when the vertex mesh is used to represent a Voronoi tessellation. A pointer to the Delaunay mesh is required in this case because the Delaunay mesh may be a subclass of TetrahedralMesh, which overrides methods such as GetVectorFromAtoB().
Definition at line 84 of file VertexMesh.hpp.
Referenced by VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetVectorFromAtoB(), VertexMesh< ELEMENT_DIM, SPACE_DIM >::VertexMesh(), and VertexMesh< 2, 2 >::VertexMesh().