Chaste  Release::2017.1
NodeMap Class Reference

#include <NodeMap.hpp>

+ Collaboration diagram for NodeMap:

Public Member Functions

 NodeMap (unsigned size)
 
void Resize (unsigned size)
 
void ResetToIdentity ()
 
void SetNewIndex (unsigned oldIndex, unsigned newIndex)
 
void SetDeleted (unsigned index)
 
bool IsDeleted (unsigned index)
 
unsigned GetNewIndex (unsigned oldIndex) const
 
bool IsIdentityMap ()
 
unsigned GetSize ()
 

Private Attributes

std::vector< unsignedmMap
 
bool mIsIdentity
 

Detailed Description

Nodemap class used when remeshing. The map associates the indices of nodes in the old mesh with indices of nodes in the new mesh.

Definition at line 46 of file NodeMap.hpp.

Constructor & Destructor Documentation

NodeMap::NodeMap ( unsigned  size)

Constructor.

Parameters
sizethe size of the NodeMap

Definition at line 46 of file NodeMap.cpp.

References mMap.

Member Function Documentation

unsigned NodeMap::GetSize ( )
Returns
the size of the NodeMap.

Definition at line 105 of file NodeMap.cpp.

References mMap.

Referenced by Cylindrical2dMesh::ReMesh(), and MeshBasedCellPopulationWithGhostNodes< DIM >::UpdateGhostNodesAfterReMesh().

bool NodeMap::IsDeleted ( unsigned  index)
Returns
whether a given old index is marked as 'deleted'.
Parameters
indexthe old index of a node

Definition at line 82 of file NodeMap.cpp.

References mMap.

Referenced by Cylindrical2dMesh::ReMesh(), MeshBasedCellPopulationWithGhostNodes< DIM >::UpdateGhostNodesAfterReMesh(), and NodeBasedCellPopulation< DIM >::UpdateMapsAfterRemesh().

bool NodeMap::IsIdentityMap ( )
Returns
whether the NodeMap is the identity map.

Definition at line 100 of file NodeMap.cpp.

References mIsIdentity.

Referenced by MutableMesh< SPACE_DIM, SPACE_DIM >::load(), Cylindrical2dMesh::ReMesh(), and NodeBasedCellPopulation< DIM >::UpdateMapsAfterRemesh().

void NodeMap::ResetToIdentity ( )

Reset the NodeMap to the identity map.

Definition at line 57 of file NodeMap.cpp.

References mIsIdentity, and mMap.

Referenced by Cylindrical2dMesh::ReMesh(), and NodesOnlyMesh< SPACE_DIM >::ReMesh().

void NodeMap::Resize ( unsigned  size)

Resize the NodeMap.

Parameters
sizethe new size of the NodeMap

Definition at line 52 of file NodeMap.cpp.

References mMap.

Referenced by MutableMesh< ELEMENT_DIM, SPACE_DIM >::ReIndex(), Cylindrical2dMesh::ReMesh(), and MutableMesh< ELEMENT_DIM, SPACE_DIM >::ReMesh().

void NodeMap::SetDeleted ( unsigned  index)

Mark a given old index as 'deleted' by associating it with the new index UINT_MAX.

Parameters
indexthe old index of a node

Definition at line 76 of file NodeMap.cpp.

References mIsIdentity, and mMap.

Referenced by TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ExportToMesher(), MutableMesh< ELEMENT_DIM, SPACE_DIM >::ReIndex(), Cylindrical2dMesh::ReMesh(), MutableMesh< ELEMENT_DIM, SPACE_DIM >::ReMesh(), and NodesOnlyMesh< SPACE_DIM >::RemoveDeletedNodes().

Member Data Documentation

bool NodeMap::mIsIdentity
private

Redundant data to provide a shortcut when the map is empty or the identity. This is initialised to true, since an empty map is equivalent to the identity.

Definition at line 56 of file NodeMap.hpp.

Referenced by GetNewIndex(), IsIdentityMap(), ResetToIdentity(), SetDeleted(), and SetNewIndex().

std::vector<unsigned> NodeMap::mMap
private

The map is stored as an ordered vector of node indices. Note that a vector is more efficient than std::map in this case where we know the exact size of the map and can benefit from O(1) lookup

Definition at line 53 of file NodeMap.hpp.

Referenced by GetNewIndex(), GetSize(), IsDeleted(), NodeMap(), ResetToIdentity(), Resize(), SetDeleted(), and SetNewIndex().


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