MOAB: Mesh Oriented datABase  (version 5.4.1)
MBMesquite::ExtraUserData< T > Class Template Reference

#include <ExtraDataUser.hpp>

+ Inheritance diagram for MBMesquite::ExtraUserData< T >:
+ Collaboration diagram for MBMesquite::ExtraUserData< T >:

Public Member Functions

 ExtraUserData (PatchData &patch, ExtraDataUser< T > *owner, ExtraUserData< T > *next, const T &data)
 ExtraUserData (PatchData &patch, ExtraDataUser< T > *owner, ExtraUserData< T > *next)
virtual void notify_patch_destroyed ()
 Notify that the owning PatchData is being destroyed.
virtual void notify_new_patch ()
 Notify that the patch (mesh) in the PatchData is changing.
virtual void notify_sub_patch (PatchData &sub_patch, const size_t *vtx_index_map, const size_t *elm_index_map, MsqError &err)
 Nofity that a subpatch is being created from this patch.

Public Attributes

ExtraDataUser< T > * dataOwner
ExtraUserData< T > * userNext
T userData

Detailed Description

template<typename T>
class MBMesquite::ExtraUserData< T >

Definition at line 94 of file ExtraDataUser.hpp.


Constructor & Destructor Documentation

template<typename T>
MBMesquite::ExtraUserData< T >::ExtraUserData ( PatchData patch,
ExtraDataUser< T > *  owner,
ExtraUserData< T > *  next,
const T data 
) [inline]

Definition at line 101 of file ExtraDataUser.hpp.

        : ExtraData( patch ), dataOwner( owner ), userNext( next ), userData( data )
    {
    }
template<typename T>
MBMesquite::ExtraUserData< T >::ExtraUserData ( PatchData patch,
ExtraDataUser< T > *  owner,
ExtraUserData< T > *  next 
) [inline]

Definition at line 106 of file ExtraDataUser.hpp.

        : ExtraData( patch ), dataOwner( owner ), userNext( next )
    {
    }

Member Function Documentation

template<typename T >
void MBMesquite::ExtraUserData< T >::notify_new_patch ( ) [virtual]

Notify that the patch (mesh) in the PatchData is changing.

Notify attached ExtraData that the PatchData is being changed to contain an new patch (set of mesh entities.)

Implements MBMesquite::ExtraData.

Definition at line 128 of file ExtraDataUser.hpp.

{
    dataOwner->notify_new_patch( *get_patch_data(), userData );
}
template<typename T >
void MBMesquite::ExtraUserData< T >::notify_patch_destroyed ( ) [virtual]

Notify that the owning PatchData is being destroyed.

Notify an ExtraData object that the patch it is attached to is being destroyed. The ExtraData will have been removed from the PatchData before being notified. Therefore this->get_patch_data() will return NULL.

ExtraData instances will also be notified via this method and removed and removed from the PatchData if the attached MBMesquite::Mesh or MBMesquite::MeshDomain instance is changed.

Implements MBMesquite::ExtraData.

Definition at line 122 of file ExtraDataUser.hpp.

{
    dataOwner->notify_patch_destroyed( this );
}
template<typename T >
void MBMesquite::ExtraUserData< T >::notify_sub_patch ( PatchData sub_patch,
const size_t *  vertex_index_map,
const size_t *  element_index_map,
MsqError err 
) [virtual]

Nofity that a subpatch is being created from this patch.

Parameters:
sub_patchThe new, populated subpatch
vertex_index_mapThe indices in the original patch for each vertex in the subpatch.
element_index_mapThe indices in the original patch for each element in the subpatch.

Implements MBMesquite::ExtraData.

Definition at line 134 of file ExtraDataUser.hpp.

{
    dataOwner->notify_sub_patch( *get_patch_data(), userData, sub, vertex_map, element_map, err );
}

Member Data Documentation

template<typename T>
ExtraDataUser< T >* MBMesquite::ExtraUserData< T >::dataOwner

Definition at line 97 of file ExtraDataUser.hpp.

template<typename T>
T MBMesquite::ExtraUserData< T >::userData

List of all members.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines