ug4
ug::IAttachment Class Referenceabstract

the interface for attachments. More...

#include <attachment_pipe.h>

+ Inheritance diagram for ug::IAttachment:

Public Member Functions

virtual IAttachmentclone ()=0
 
virtual IAttachmentDataContainercreate_container ()=0
 
virtual bool default_pass_on_behaviour () const =0
 
const char * get_name ()
 should only be used for debug purposes. More...
 
 IAttachment ()
 
 IAttachment (const char *name)
 
virtual ~IAttachment ()
 
- Public Member Functions inherited from ug::UID
unsigned int id () const
 
bool operator== (const UID &uid)
 
 UID ()
 
 UID (const UID &uid)
 
virtual ~UID ()
 

Protected Attributes

const char * m_name
 

Detailed Description

the interface for attachments.

Attachments can be attached to an AttachmentPipe and thus enhance the pipes elements by data, whose type, container and behavior is defined by the Attachment itself. In order to use an Attachment with libGrid (in particular with libGrids AttachmentAccessors), derivatives of IAttachment have to feature some special typedefs (see Attachment<T> for more information). Whenever possible you should use the template-derivative Attachment<T> instead of IAttachment.

Constructor & Destructor Documentation

◆ IAttachment() [1/2]

ug::IAttachment::IAttachment ( )
inline

◆ IAttachment() [2/2]

ug::IAttachment::IAttachment ( const char *  name)
inline

◆ ~IAttachment()

virtual ug::IAttachment::~IAttachment ( )
inlinevirtual

Member Function Documentation

◆ clone()

virtual IAttachment* ug::IAttachment::clone ( )
pure virtual

Implemented in ug::Attachment< T >, ug::Attachment< ElemInfoVrt >, ug::Attachment< std::vector< Edge * > >, ug::Attachment< GridObject * >, ug::Attachment< std::vector< int > >, ug::Attachment< vecDim >, ug::Attachment< FaceContainer >, ug::Attachment< std::vector< Face * > >, ug::Attachment< Entry >, ug::Attachment< ElemData >, ug::Attachment< int >, ug::Attachment< position_type >, ug::Attachment< std::vector< MathVector< dim > > >, ug::Attachment< EdgeContainer >, ug::Attachment< ElemInfoEdge >, ug::Attachment< VertxFracPropts >, ug::Attachment< signed char >, ug::Attachment< byte >, ug::Attachment< std::vector< number > >, ug::Attachment< unsigned char >, ug::Attachment< attached_vector_t >, ug::Attachment< size_t >, ug::Attachment< VolumeInfo * >, ug::Attachment< Values >, ug::Attachment< char >, ug::Attachment< EdgeInfo >, ug::Attachment< VertexInfo >, ug::Attachment< vector_t >, ug::Attachment< subset_pair_t >, ug::Attachment< Vertex * >, ug::Attachment< data_type >, ug::Attachment< ElemInfoVol >, ug::Attachment< number >, ug::Attachment< bool >, ug::Attachment< SurfaceState >, ug::Attachment< FaceInfo * >, ug::Attachment< VecAttachedVolumeElemInfo >, ug::Attachment< ElemInfoFace >, ug::Attachment< std::vector< Vertex * > >, ug::Attachment< VolumeContainer >, ug::Attachment< vector< TargetProcInfo > >, ug::Attachment< std::vector< DoFIndex > >, ug::Attachment< dimMat >, ug::Attachment< VecVertFracTrip >, ug::Attachment< ug::NeuriteProjector::SurfaceParams >, and ug::Attachment< VertexContainer >.

Referenced by ug::AttachmentPipe< TElem, TElemHandler >::attach().

◆ create_container()

virtual IAttachmentDataContainer* ug::IAttachment::create_container ( )
pure virtual

Implemented in ug::Attachment< T >, ug::Attachment< ElemInfoVrt >, ug::Attachment< std::vector< Edge * > >, ug::Attachment< GridObject * >, ug::Attachment< std::vector< int > >, ug::Attachment< vecDim >, ug::Attachment< FaceContainer >, ug::Attachment< std::vector< Face * > >, ug::Attachment< Entry >, ug::Attachment< ElemData >, ug::Attachment< int >, ug::Attachment< position_type >, ug::Attachment< std::vector< MathVector< dim > > >, ug::Attachment< EdgeContainer >, ug::Attachment< ElemInfoEdge >, ug::Attachment< VertxFracPropts >, ug::Attachment< signed char >, ug::Attachment< byte >, ug::Attachment< std::vector< number > >, ug::Attachment< unsigned char >, ug::Attachment< attached_vector_t >, ug::Attachment< size_t >, ug::Attachment< VolumeInfo * >, ug::Attachment< Values >, ug::Attachment< char >, ug::Attachment< EdgeInfo >, ug::Attachment< VertexInfo >, ug::Attachment< vector_t >, ug::Attachment< subset_pair_t >, ug::Attachment< Vertex * >, ug::Attachment< data_type >, ug::Attachment< ElemInfoVol >, ug::Attachment< number >, ug::Attachment< bool >, ug::Attachment< SurfaceState >, ug::Attachment< FaceInfo * >, ug::Attachment< VecAttachedVolumeElemInfo >, ug::Attachment< ElemInfoFace >, ug::Attachment< std::vector< Vertex * > >, ug::Attachment< VolumeContainer >, ug::Attachment< vector< TargetProcInfo > >, ug::Attachment< std::vector< DoFIndex > >, ug::Attachment< dimMat >, ug::Attachment< VecVertFracTrip >, ug::Attachment< ug::NeuriteProjector::SurfaceParams >, and ug::Attachment< VertexContainer >.

Referenced by ug::AttachmentPipe< TElem, TElemHandler >::attach().

◆ default_pass_on_behaviour()

virtual bool ug::IAttachment::default_pass_on_behaviour ( ) const
pure virtual

Implemented in ug::Attachment< T >, ug::Attachment< ElemInfoVrt >, ug::Attachment< std::vector< Edge * > >, ug::Attachment< GridObject * >, ug::Attachment< std::vector< int > >, ug::Attachment< vecDim >, ug::Attachment< FaceContainer >, ug::Attachment< std::vector< Face * > >, ug::Attachment< Entry >, ug::Attachment< ElemData >, ug::Attachment< int >, ug::Attachment< position_type >, ug::Attachment< std::vector< MathVector< dim > > >, ug::Attachment< EdgeContainer >, ug::Attachment< ElemInfoEdge >, ug::Attachment< VertxFracPropts >, ug::Attachment< signed char >, ug::Attachment< byte >, ug::Attachment< std::vector< number > >, ug::Attachment< unsigned char >, ug::Attachment< attached_vector_t >, ug::Attachment< size_t >, ug::Attachment< VolumeInfo * >, ug::Attachment< Values >, ug::Attachment< char >, ug::Attachment< EdgeInfo >, ug::Attachment< VertexInfo >, ug::Attachment< vector_t >, ug::Attachment< subset_pair_t >, ug::Attachment< Vertex * >, ug::Attachment< data_type >, ug::Attachment< ElemInfoVol >, ug::Attachment< number >, ug::Attachment< bool >, ug::Attachment< SurfaceState >, ug::Attachment< FaceInfo * >, ug::Attachment< VecAttachedVolumeElemInfo >, ug::Attachment< ElemInfoFace >, ug::Attachment< std::vector< Vertex * > >, ug::Attachment< VolumeContainer >, ug::Attachment< vector< TargetProcInfo > >, ug::Attachment< std::vector< DoFIndex > >, ug::Attachment< dimMat >, ug::Attachment< VecVertFracTrip >, ug::Attachment< ug::NeuriteProjector::SurfaceParams >, and ug::Attachment< VertexContainer >.

Referenced by ug::Grid::attach_to().

◆ get_name()

const char* ug::IAttachment::get_name ( )
inline

should only be used for debug purposes.

Referenced by ug::PrintAttachmentInfo().

Member Data Documentation

◆ m_name

const char* ug::IAttachment::m_name
protected

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