VertexElement< 1, SPACE_DIM > Class Template Reference

#include <VertexElement.hpp>

Inherits AbstractElement< 1, SPACE_DIM >.

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

List of all members.

Public Member Functions

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

Detailed Description

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

Todo:
Move implementation into .cpp file? (#1304)

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

Definition at line 221 of file VertexElement.hpp.


Constructor & Destructor Documentation

template<unsigned SPACE_DIM>
VertexElement< 1, SPACE_DIM >::VertexElement ( 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

Definition at line 318 of file VertexElement.hpp.

References AbstractElement< ELEMENT_DIM, SPACE_DIM >::mNodes.

template<unsigned SPACE_DIM>
VertexElement< 1, SPACE_DIM >::~VertexElement (  )  [inline, virtual]

Virtual destructor, since this class has virtual methods.

Definition at line 327 of file VertexElement.hpp.


Member Function Documentation

template<unsigned SPACE_DIM>
void VertexElement< 1, SPACE_DIM >::AddNode ( const unsigned rIndex,
Node< SPACE_DIM > *  pNode 
) [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 398 of file VertexElement.hpp.

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

template<unsigned SPACE_DIM>
void VertexElement< 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 386 of file VertexElement.hpp.

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

template<unsigned SPACE_DIM>
bool VertexElement< 1, SPACE_DIM >::FaceIsOrientatedClockwise ( unsigned  index  )  const [inline]

Get whether the face with a given index is oriented clockwise.

Parameters:
index the index of the face

Definition at line 430 of file VertexElement.hpp.

template<unsigned SPACE_DIM>
VertexElement< 0, SPACE_DIM > * VertexElement< 1, SPACE_DIM >::GetFace ( unsigned  index  )  const [inline]
Parameters:
index the global index of a specified face
Returns:
a pointer to the face

Definition at line 424 of file VertexElement.hpp.

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

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

Todo:
This method could be moved to the AbstactElement class (#1304)
Parameters:
globalIndex the global index of the node in the mesh
Returns:
local_index.

Definition at line 410 of file VertexElement.hpp.

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

template<unsigned SPACE_DIM>
unsigned VertexElement< 1, SPACE_DIM >::GetNumFaces (  )  const [inline]

Get the number of faces owned by this element.

Definition at line 332 of file VertexElement.hpp.

template<unsigned SPACE_DIM>
void VertexElement< 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 347 of file VertexElement.hpp.

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 VertexElement< 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 338 of file VertexElement.hpp.

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

template<unsigned SPACE_DIM>
void VertexElement< 1, SPACE_DIM >::ResetIndex ( unsigned  index  )  [inline]
template<unsigned SPACE_DIM>
void VertexElement< 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 371 of file VertexElement.hpp.

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


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

Generated by  doxygen 1.6.2