MutableElement< 1, SPACE_DIM > Class Template Reference

#include <MutableElement.hpp>

Inherits AbstractElement< 1, SPACE_DIM >.

Inherited by VertexElement< 1, SPACE_DIM >.

Collaboration diagram for MutableElement< 1, SPACE_DIM >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 MutableElement (unsigned index, const std::vector< Node< SPACE_DIM > * > &rNodes)
 MutableElement (unsigned index)
virtual ~MutableElement ()
void UpdateNode (const unsigned &rIndex, Node< SPACE_DIM > *pNode)
void RegisterWithNodes ()
void MarkAsDeleted ()
void ResetIndex (unsigned index)
void DeleteNode (const unsigned &rIndex)
void AddNode (Node< SPACE_DIM > *pNode, const unsigned &rIndex)
unsigned GetNodeLocalIndex (unsigned globalIndex) const
bool IsElementOnBoundary () const

Detailed Description

template<unsigned SPACE_DIM>
class MutableElement< 1, SPACE_DIM >

Specialization for 1d elements so we don't get errors from Boost on some compilers.

Definition at line 173 of file MutableElement.hpp.


Constructor & Destructor Documentation

template<unsigned SPACE_DIM>
MutableElement< 1, SPACE_DIM >::MutableElement ( unsigned  index,
const std::vector< Node< SPACE_DIM > * > &  rNodes 
) [inline]

Constructor which takes in a vector of nodes.

Parameters:
index the index of the element in the mesh
rNodes the nodes owned by the element

Specialization for 1d elements so we don't get errors from Boost on some compilers.

Definition at line 190 of file MutableElement.cpp.

References AbstractElement< ELEMENT_DIM, SPACE_DIM >::mNodes.

template<unsigned SPACE_DIM>
MutableElement< 1, SPACE_DIM >::MutableElement ( unsigned  index  ) 

Alternative constructor.

Parameters:
index global index of the element
template<unsigned SPACE_DIM>
MutableElement< 1, SPACE_DIM >::~MutableElement (  )  [inline, virtual]

Virtual destructor, since this class has virtual methods.

Definition at line 199 of file MutableElement.cpp.


Member Function Documentation

template<unsigned SPACE_DIM>
void MutableElement< 1, SPACE_DIM >::AddNode ( Node< SPACE_DIM > *  pNode,
const unsigned rIndex 
) [inline]

Add a node to the element between nodes at rIndex and rIndex+1.

Parameters:
rIndex the local index of the node after which the new node is added
pNode a pointer to the new node

Definition at line 264 of file MutableElement.cpp.

References AbstractElement< ELEMENT_DIM, SPACE_DIM >::mIndex, and AbstractElement< ELEMENT_DIM, SPACE_DIM >::mNodes.

template<unsigned SPACE_DIM>
void MutableElement< 1, SPACE_DIM >::DeleteNode ( const unsigned rIndex  )  [inline]

Delete a node with given local index.

Parameters:
rIndex is the local index of the node to remove

Definition at line 252 of file MutableElement.cpp.

References AbstractElement< ELEMENT_DIM, SPACE_DIM >::mIndex, and AbstractElement< ELEMENT_DIM, SPACE_DIM >::mNodes.

template<unsigned SPACE_DIM>
unsigned MutableElement< 1, SPACE_DIM >::GetNodeLocalIndex ( unsigned  globalIndex  )  const [inline]

Calculate the local index of a node given a global index if node is not contained in element return UINT_MAX

Parameters:
globalIndex the global index of the node in the mesh
Returns:
local_index.

Definition at line 276 of file MutableElement.cpp.

References AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNodeGlobalIndex(), and AbstractElement< ELEMENT_DIM, SPACE_DIM >::mNodes.

template<unsigned SPACE_DIM>
bool MutableElement< 1, SPACE_DIM >::IsElementOnBoundary (  )  const [inline]

Get whether or not the element is on the boundary by seeing if contains boundary nodes.

Returns:
whether or not the element is on the boundary.

Definition at line 290 of file MutableElement.cpp.

References AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNode(), and AbstractElement< ELEMENT_DIM, SPACE_DIM >::mNodes.

template<unsigned SPACE_DIM>
void MutableElement< 1, SPACE_DIM >::MarkAsDeleted (  )  [inline, virtual]

Overridden MarkAsDeleted() method.

Mark an element as having been removed from the mesh. Also notify nodes in the element that it has been removed.

Implements AbstractElement< 1, SPACE_DIM >.

Definition at line 213 of file MutableElement.cpp.

References AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::mIndex, AbstractElement< ELEMENT_DIM, SPACE_DIM >::mIsDeleted, and AbstractElement< ELEMENT_DIM, SPACE_DIM >::mNodes.

template<unsigned SPACE_DIM>
void MutableElement< 1, SPACE_DIM >::RegisterWithNodes (  )  [inline, virtual]

Overridden RegisterWithNodes() method.

Informs all nodes forming this element that they are in this element.

Implements AbstractElement< 1, SPACE_DIM >.

Definition at line 204 of file MutableElement.cpp.

References AbstractElement< ELEMENT_DIM, SPACE_DIM >::mIndex, and AbstractElement< ELEMENT_DIM, SPACE_DIM >::mNodes.

template<unsigned SPACE_DIM>
void MutableElement< 1, SPACE_DIM >::ResetIndex ( unsigned  index  )  [inline]
template<unsigned SPACE_DIM>
void MutableElement< 1, SPACE_DIM >::UpdateNode ( const unsigned rIndex,
Node< SPACE_DIM > *  pNode 
) [inline, virtual]

Update node at the given index.

Parameters:
rIndex is an local index to which node to change
pNode is a pointer to the replacement node

Implements AbstractElement< 1, SPACE_DIM >.

Definition at line 237 of file MutableElement.cpp.

References AbstractElement< ELEMENT_DIM, SPACE_DIM >::mIndex, and AbstractElement< ELEMENT_DIM, SPACE_DIM >::mNodes.


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

Generated by  doxygen 1.6.2