NodeMap Class Reference

#include <NodeMap.hpp>

Collaboration diagram for NodeMap:
Collaboration graph
[legend]

List of all members.

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:
size the size of the NodeMap

Definition at line 46 of file NodeMap.cpp.

References mMap.


Member Function Documentation

unsigned NodeMap::GetNewIndex ( unsigned  oldIndex  )  const
unsigned NodeMap::GetSize (  ) 
Returns:
the size of the NodeMap.

Definition at line 104 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:
index the old index of a node

Definition at line 81 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 99 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 NodesOnlyMesh< SPACE_DIM >::ReMesh(), and Cylindrical2dMesh::ReMesh().

void NodeMap::Resize ( unsigned  size  ) 

Resize the NodeMap.

Parameters:
size the new size of the NodeMap

Definition at line 52 of file NodeMap.cpp.

References mMap.

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

void NodeMap::SetDeleted ( unsigned  index  ) 

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

Parameters:
index the old index of a node

Definition at line 75 of file NodeMap.cpp.

References mIsIdentity, and mMap.

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

void NodeMap::SetNewIndex ( unsigned  oldIndex,
unsigned  newIndex 
)

Member Data Documentation

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:

Generated by  doxygen 1.6.2