ug4
ug::MultiElementAttachmentAccessor< TAttachment > Class Template Reference

Accesses attachements in different element types at the same time. More...

#include <attachment_util.h>

Public Types

typedef attachment_value_traits< ValueType >::const_reference ConstRefType
 
typedef attachment_value_traits< ValueType >::reference RefType
 
typedef TAttachment::ValueType ValueType
 

Public Member Functions

bool access (Grid &g, TAttachment &a, bool vrts=true, bool edges=true, bool faces=true, bool vols=true)
 
Grid::AttachmentAccessor< Edge, TAttachment > & edge_accessor ()
 
Grid::AttachmentAccessor< Face, TAttachment > & face_accessor ()
 
void invalidate ()
 
bool is_valid_edge_accessor () const
 
bool is_valid_face_accessor () const
 
bool is_valid_vertex_accessor () const
 
bool is_valid_volume_accessor () const
 
 MultiElementAttachmentAccessor ()
 
 MultiElementAttachmentAccessor (Grid &g, TAttachment &a, bool vrts=true, bool edges=true, bool faces=true, bool vols=true)
 
RefType operator[] (Edge *e)
 
ConstRefType operator[] (Edge *e) const
 
RefType operator[] (Face *e)
 
ConstRefType operator[] (Face *e) const
 
RefType operator[] (GridObject *e)
 
ConstRefType operator[] (GridObject *e) const
 
RefType operator[] (Vertex *e)
 
ConstRefType operator[] (Vertex *e) const
 
RefType operator[] (Volume *e)
 
ConstRefType operator[] (Volume *e) const
 
Grid::AttachmentAccessor< Vertex, TAttachment > & vertex_accessor ()
 
Grid::AttachmentAccessor< Volume, TAttachment > & volume_accessor ()
 

Private Attributes

Grid::AttachmentAccessor< Edge, TAttachment > m_aaEdge
 
Grid::AttachmentAccessor< Face, TAttachment > m_aaFace
 
Grid::AttachmentAccessor< Volume, TAttachment > m_aaVol
 
Grid::AttachmentAccessor< Vertex, TAttachment > m_aaVrt
 

Detailed Description

template<class TAttachment>
class ug::MultiElementAttachmentAccessor< TAttachment >

Accesses attachements in different element types at the same time.

If the same attachment is attached to vertices, edges, faces and volumes of a grid, then this accessor can be used to access them all at once.

Member Typedef Documentation

◆ ConstRefType

template<class TAttachment >
typedef attachment_value_traits<ValueType>::const_reference ug::MultiElementAttachmentAccessor< TAttachment >::ConstRefType

◆ RefType

template<class TAttachment >
typedef attachment_value_traits<ValueType>::reference ug::MultiElementAttachmentAccessor< TAttachment >::RefType

◆ ValueType

template<class TAttachment >
typedef TAttachment::ValueType ug::MultiElementAttachmentAccessor< TAttachment >::ValueType

Constructor & Destructor Documentation

◆ MultiElementAttachmentAccessor() [1/2]

template<class TAttachment >
ug::MultiElementAttachmentAccessor< TAttachment >::MultiElementAttachmentAccessor ( )
inline

◆ MultiElementAttachmentAccessor() [2/2]

template<class TAttachment >
ug::MultiElementAttachmentAccessor< TAttachment >::MultiElementAttachmentAccessor ( Grid g,
TAttachment &  a,
bool  vrts = true,
bool  edges = true,
bool  faces = true,
bool  vols = true 
)
inline

Member Function Documentation

◆ access()

◆ edge_accessor()

template<class TAttachment >
Grid::AttachmentAccessor<Edge, TAttachment>& ug::MultiElementAttachmentAccessor< TAttachment >::edge_accessor ( )
inline

◆ face_accessor()

template<class TAttachment >
Grid::AttachmentAccessor<Face, TAttachment>& ug::MultiElementAttachmentAccessor< TAttachment >::face_accessor ( )
inline

◆ invalidate()

◆ is_valid_edge_accessor()

template<class TAttachment >
bool ug::MultiElementAttachmentAccessor< TAttachment >::is_valid_edge_accessor ( ) const
inline

◆ is_valid_face_accessor()

template<class TAttachment >
bool ug::MultiElementAttachmentAccessor< TAttachment >::is_valid_face_accessor ( ) const
inline

◆ is_valid_vertex_accessor()

template<class TAttachment >
bool ug::MultiElementAttachmentAccessor< TAttachment >::is_valid_vertex_accessor ( ) const
inline

◆ is_valid_volume_accessor()

template<class TAttachment >
bool ug::MultiElementAttachmentAccessor< TAttachment >::is_valid_volume_accessor ( ) const
inline

◆ operator[]() [1/10]

template<class TAttachment >
RefType ug::MultiElementAttachmentAccessor< TAttachment >::operator[] ( Edge e)
inline

◆ operator[]() [2/10]

template<class TAttachment >
ConstRefType ug::MultiElementAttachmentAccessor< TAttachment >::operator[] ( Edge e) const
inline

◆ operator[]() [3/10]

template<class TAttachment >
RefType ug::MultiElementAttachmentAccessor< TAttachment >::operator[] ( Face e)
inline

◆ operator[]() [4/10]

template<class TAttachment >
ConstRefType ug::MultiElementAttachmentAccessor< TAttachment >::operator[] ( Face e) const
inline

◆ operator[]() [5/10]

◆ operator[]() [6/10]

◆ operator[]() [7/10]

template<class TAttachment >
RefType ug::MultiElementAttachmentAccessor< TAttachment >::operator[] ( Vertex e)
inline

◆ operator[]() [8/10]

template<class TAttachment >
ConstRefType ug::MultiElementAttachmentAccessor< TAttachment >::operator[] ( Vertex e) const
inline

◆ operator[]() [9/10]

template<class TAttachment >
RefType ug::MultiElementAttachmentAccessor< TAttachment >::operator[] ( Volume e)
inline

◆ operator[]() [10/10]

template<class TAttachment >
ConstRefType ug::MultiElementAttachmentAccessor< TAttachment >::operator[] ( Volume e) const
inline

◆ vertex_accessor()

template<class TAttachment >
Grid::AttachmentAccessor<Vertex, TAttachment>& ug::MultiElementAttachmentAccessor< TAttachment >::vertex_accessor ( )
inline

◆ volume_accessor()

template<class TAttachment >
Grid::AttachmentAccessor<Volume, TAttachment>& ug::MultiElementAttachmentAccessor< TAttachment >::volume_accessor ( )
inline

Member Data Documentation

◆ m_aaEdge

◆ m_aaFace

◆ m_aaVol

◆ m_aaVrt


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