Workspace 6.21.5
Public Member Functions | List of all members
ElementList< T > Class Template Reference

Class for storing a list of T objects. More...

#include <Mesh/DataStructures/elementlist.h>

Inheritance diagram for ElementList< T >:
[legend]

Public Member Functions

 ElementList (NodeList &nodes)
 
 ~ElementList () override
 
void absorb (ElementList< T > &otherList)
 
T & addElement (T &elem)
 
void eraseElement (typename NumberedObjectList< T >::iterator eIter)
 
void removeElement (T &elem)
 
void removeElementFromList (typename NumberedObjectList< T >::iterator eIter)
 
- Public Member Functions inherited from NumberedObjectList< T >
 NumberedObjectList ()
 Create an empty list with the largest ID set to zero.
 
virtual ~NumberedObjectList ()=0
 
T & add (T &obj)
 
void addIndexChangeRecipient (IndexChangeRecipient &observer)
 
void clearList ()
 
size_type computeValidObjectsCount () const
 
void emptyTrash ()
 
void emptyTrash (iterator startFrom)
 
long getLargestID () const
 
void killBack ()
 
void killList ()
 
void reindex (iterator beginIter, iterator endIter, long start=0)
 
void reindex (long start=0)
 
void remove (T &obj)
 This only marks obj for removal. It is not actually removed until EmptyTrash is called.
 
void removeFromList (iterator objIter)
 
void removeIndexChangeRecipient (IndexChangeRecipient &observer)
 
void renumber (long start=1, long incr=1)
 
void setLargestIDToAtLeast (long ID)
 
void updateLargestID ()
 
T & Add (T &obj)
 
void Remove (T &obj)
 
void RemoveFromList (iterator objIter)
 
void ClearList ()
 
void KillBack ()
 
void EmptyTrash ()
 
void EmptyTrash (iterator startFrom)
 
void KillList ()
 
long GetLargestID () const
 
void UpdateLargestID ()
 
void SetLargestIDToAtLeast (long ID)
 
void Renumber (long start=1, long incr=1)
 
void Reindex (long start=0)
 
void Reindex (iterator beginIter, iterator endIter, long start=0)
 
iterator begin ()
 STL container function.
 
const_iterator begin () const
 STL container function.
 
iterator end ()
 STL container function.
 
const_iterator end () const
 STL container function.
 
reverse_iterator rbegin ()
 STL container function.
 
const_reverse_iterator rbegin () const
 STL container function.
 
reverse_iterator rend ()
 STL container function.
 
const_reverse_iterator rend () const
 STL container function.
 
reference front ()
 STL container function.
 
const_reference front () const
 STL container function.
 
reference back ()
 STL container function.
 
const_reference back () const
 STL container function.
 
bool empty () const
 STL container function.
 
size_type size () const
 STL container function.
 
size_type max_size () const
 STL container function.
 
- Public Member Functions inherited from StateControl
 StateControl ()
 
virtual ~StateControl ()=default
 
void addIntegerState (const QString &name, long defaultVal=0)
 
void AddIntegerState (const QString &name, long defaultVal=0)
 
void addScalarState (const QString &name, double defaultVal=0)
 
void AddScalarState (const QString &name, double defaultVal=0)
 
void addVectorState (const QString &name, const Vector3d &defaultVal=Vector3d())
 
void AddVectorState (const QString &name, const Vector3d &defaultVal=Vector3d())
 
void assignDefaultState (State &object) const
 
void AssignDefaultState (State &object) const
 
void copyOnReallocateOff ()
 
void CopyOnReallocateOff ()
 
void copyOnReallocateOn ()
 
void CopyOnReallocateOn ()
 
void CopyWholeState (const State &object0, State &object1) const
 
void copyWholeState (const State &stateFrom, State &stateTo) const
 
void EnsureAllStatesSupported (const StateInfoArray &stateNames)
 
void ensureAllStatesSupported (const StateInfoArray &states)
 
StateInfoArray getAllStateInfo () const
 
StateInfoArray GetAllStateInfo () const
 
bool getInitStates () const
 
bool GetInitStates () const
 
int getStateIndex (const QString &stateName) const
 
int GetStateIndex (const QString &stateName) const
 
NameIndexMap getStateIndices () const
 
NameIndexMap GetStateIndices () const
 
void getStateIndices (NameIndexMap &stateIndices) const
 
void GetStateIndices (NameIndexMap &stateIndices) const
 
StateInfo getStateInfo (const QString &stateName) const
 
StateInfo GetStateInfo (const QString &stateName) const
 
bool haveState (const QString &name) const
 
bool HaveState (const QString &name) const
 
void InterpolateWholeState (const State &object0, const State &object1, State &interpObject, double p) const
 
void interpolateWholeState (const State &state0, const State &state1, const State &state2, const State &state3, State &interpState) const
 
void interpolateWholeState (const State &state0, const State &state1, State &interpState, double p) const
 
void makeStatesCompatible (const StateControl &states)
 
void reallocate ()
 
void Reallocate ()
 
void reallocationOff ()
 
void ReallocationOff ()
 
void reallocationOn ()
 
void ReallocationOn ()
 
void removeAllStates ()
 
void RemoveAllStates ()
 
void removeState (const QString &name)
 
void RemoveState (const QString &name)
 
bool renameState (const QString &from, const QString &to)
 
bool RenameState (const QString &from, const QString &to)
 
void setInitStates (bool b)
 
void SetInitStates (bool b)
 
void setInitStatesOff ()
 
void SetInitStatesOff ()
 
void setInitStatesOn ()
 
void SetInitStatesOn ()
 

Additional Inherited Members

- Public Types inherited from NumberedObjectList< T >
typedef T BaseItemType
 Allow the object type to be queried by other templates.
 
using container_type = std::list< T * >
 STL container typedef.
 
using value_type = typename container_type::value_type
 STL container typedef.
 
using size_type = typename container_type::size_type
 STL container typedef.
 
using difference_type = typename container_type::difference_type
 STL container typedef.
 
using reference = typename container_type::reference
 STL container typedef.
 
using const_reference = typename container_type::const_reference
 STL container typedef.
 
using iterator = typename container_type::iterator
 STL container typedef.
 
using const_iterator = typename container_type::const_iterator
 STL container typedef.
 
using reverse_iterator = typename container_type::reverse_iterator
 STL container typedef.
 
using const_reverse_iterator = typename container_type::const_reverse_iterator
 STL container typedef.
 
- Protected Member Functions inherited from StateControl
unsigned getDoublesStateSize () const
 
unsigned getIntegerStateSize () const
 
virtual void resizeDoubles (const IndexMappings &mappings, const StateInfoArray &updatedStates, unsigned updatedDoublesStateSize)=0
 
template<typename IteratorT >
void resizeDoublesStates (IteratorT iterBegin, IteratorT iterEnd, const IndexMappings &mappings, const StateInfoArray &updatedStates, unsigned updatedDoublesStateSize)
 
virtual void resizeIntegers (const IndexMappings &mappings, const StateInfoArray &updatedStates, unsigned updatedIntegerStateSize)=0
 
template<typename IteratorT >
void resizeIntegerStates (IteratorT iterBegin, IteratorT iterEnd, const IndexMappings &mappings, const StateInfoArray &updatedStates, unsigned updatedIntegerStateSize)
 
- Protected Attributes inherited from StateControl
bool initStates_
 

Detailed Description

template<typename T>
class CSIRO::Mesh::ElementList< T >

This common base class template is used by all the element list types. Its main responsibility is to handle addition and removal of elements in a consistent way and to implement some of the state handling functionality required by the StateControl base class.

Constructor & Destructor Documentation

◆ ElementList()

ElementList ( NodeList nodes)
inline
Parameters
nodesThe node list all elements in this ElementList will use.

◆ ~ElementList()

~ElementList ( )
inlineoverride

Member Function Documentation

◆ absorb()

void absorb ( ElementList< T > &  otherList)
inline

◆ addElement()

T & addElement ( T &  elem)
inline
Parameters
elemAn existing element to add to the list directly

This function is meant for inserting an existing element into the element list. It will ensure that the element is properly attached to its surroundings. All other addElement-type functions must eventually call this one. The list takes ownership of elem.

◆ eraseElement()

void eraseElement ( typename NumberedObjectList< T >::iterator  eIter)
inline

◆ removeElement()

void removeElement ( T &  elem)
inline
Parameters
elemThe element to remove from the list

The element specified by elem will be marked as ready for garbage collection. It will not actually be deleted until EmptyTrash() is called.

Before deleting elem, it is detached from everything (nodes and other elements).

See also
EmptyTrash()

◆ removeElementFromList()

void removeElementFromList ( typename NumberedObjectList< T >::iterator  eIter)
inline