Chaste  Release::2018.1
MutableElement< 1, SPACE_DIM > Class Template Reference

#include <MutableElement.hpp>

+ Inheritance diagram for MutableElement< 1, SPACE_DIM >:
+ Collaboration diagram for MutableElement< 1, SPACE_DIM >:

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
 
virtual bool IsElementOnBoundary () const
 
- Public Member Functions inherited from AbstractElement< 1, SPACE_DIM >
 AbstractElement (unsigned index, const std::vector< Node< SPACE_DIM > * > &rNodes)
 
 AbstractElement (unsigned index=INDEX_IS_NOT_USED)
 
virtual ~AbstractElement ()
 
void ReplaceNode (Node< SPACE_DIM > *pOldNode, Node< SPACE_DIM > *pNewNode)
 
double GetNodeLocation (unsigned localIndex, unsigned dimension) const
 
c_vector< double, SPACE_DIM > GetNodeLocation (unsigned localIndex) const
 
unsigned GetNodeGlobalIndex (unsigned localIndex) const
 
Node< SPACE_DIM > * GetNode (unsigned localIndex) const
 
unsigned GetNumNodes () const
 
void AddNode (Node< SPACE_DIM > *pNode)
 
bool IsDeleted () const
 
unsigned GetIndex () const
 
void SetIndex (unsigned index)
 
bool GetOwnership () const
 
void SetOwnership (bool ownership)
 
void SetAttribute (double attribute)
 
double GetAttribute ()
 
unsigned GetUnsignedAttribute ()
 
void AddElementAttribute (double attribute)
 
std::vector< double > & rGetElementAttributes ()
 
unsigned GetNumElementAttributes ()
 

Additional Inherited Members

- Protected Member Functions inherited from AbstractElement< 1, SPACE_DIM >
void ConstructElementAttributes ()
 
- Protected Attributes inherited from AbstractElement< 1, SPACE_DIM >
std::vector< Node< SPACE_DIM > * > mNodes
 
unsigned mIndex
 
bool mIsDeleted
 
bool mOwnership
 
ElementAttributes< ELEMENT_DIM,
SPACE_DIM > * 
mpElementAttributes
 

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 171 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 
)

Constructor which takes in a vector of nodes.

Parameters
indexthe index of the element in the mesh
rNodesthe 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
indexglobal index of the element
template<unsigned SPACE_DIM>
MutableElement< 1, SPACE_DIM >::~MutableElement ( )
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 
)

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

Parameters
rIndexthe local index of the node after which the new node is added
pNodea 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)

Delete a node with given local index.

Parameters
rIndexis 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

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

Parameters
globalIndexthe 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
virtual

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 ( )
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 ( )
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)
template<unsigned SPACE_DIM>
void MutableElement< 1, SPACE_DIM >::UpdateNode ( const unsigned rIndex,
Node< SPACE_DIM > *  pNode 
)
virtual

Update node at the given index.

Parameters
rIndexis an local index to which node to change
pNodeis 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: