ug4
|
This is a compositum for user data defined on different subsets. More...
#include <composite_user_data.h>
Public Types | |
typedef UserData< TData, dim, TRet > | base_type |
typedef SmartPtr< base_type > | ref_type |
the attached UserData objects should have the same type as this class (i.e. they are "remapped") More... | |
Public Types inherited from ug::UserData< TData, dim, void > | |
typedef TData | data_type |
typedef void | return_type |
Public Member Functions | |
void | add (const SubsetGroup &ssg, SmartPtr< base_type > ref) |
Add 'UserData' object for all subsets in a given group. More... | |
void | add (ConstSmartPtr< ISubsetHandler > ssh, const char *ss_names, SmartPtr< base_type > ref) |
Add 'UserData' object for all subsets by their names. More... | |
void | add (int si, SmartPtr< base_type > ref) |
Add 'UserData' object for given subset index. More... | |
CompositeUserData () | |
CompositeUserData (bool continuous) | |
virtual bool | continuous () const |
returns if provided data is continuous over geometric object boundaries More... | |
SmartPtr< base_type > | get (int si) const |
SmartPtr< TCplUserData > | get_coupled (int si) |
bool | has (int si) const |
Checks if anything is assigned to a given subset index. More... | |
bool | is_coupled (int si) |
virtual TRet | operator() (TData &value, const MathVector< dim > &globIP, number time, int si) const |
returns value for a global position More... | |
virtual void | operator() (TData vValue[], const MathVector< dim > vGlobIP[], number time, int si, const size_t nip) const |
returns values for global positions More... | |
virtual void | operator() (TData vValue[], const MathVector< dim > vGlobIP[], number time, int si, GridObject *elem, const MathVector< dim > vCornerCoords[], const MathVector< 1 > vLocIP[], const size_t nip, LocalVector *u, const MathMatrix< 1, dim > *vJT=NULL) const |
virtual void | operator() (TData vValue[], const MathVector< dim > vGlobIP[], number time, int si, GridObject *elem, const MathVector< dim > vCornerCoords[], const MathVector< 2 > vLocIP[], const size_t nip, LocalVector *u, const MathMatrix< 2, dim > *vJT=NULL) const |
virtual void | operator() (TData vValue[], const MathVector< dim > vGlobIP[], number time, int si, GridObject *elem, const MathVector< dim > vCornerCoords[], const MathVector< 3 > vLocIP[], const size_t nip, LocalVector *u, const MathMatrix< 3, dim > *vJT=NULL) const |
virtual bool | requires_grid_fct () const |
returns true, if at least one of the underlying UserData requires grid functions. More... | |
virtual | ~CompositeUserData () |
Public Member Functions inherited from ug::UserData< TData, dim, void > | |
int | get_dim () const |
returns dimension More... | |
virtual void | operator() (TData &value, const MathVector< dim > &globIP, number time, int si, Vertex *vrt) const |
returns a value at a vertex More... | |
std::string | type () const |
returns type of data as string (e.g. "Number", "Vector", "Matrix") More... | |
void | operator() (TData &value, const MathVector< dim > &globIP, number time, int si, GridObject *elem, const MathVector< dim > vCornerCoords[], const MathVector< 1 > &locIP, LocalVector *u) const |
void | operator() (TData &value, const MathVector< dim > &globIP, number time, int si, GridObject *elem, const MathVector< dim > vCornerCoords[], const MathVector< 2 > &locIP, LocalVector *u) const |
void | operator() (TData &value, const MathVector< dim > &globIP, number time, int si, GridObject *elem, const MathVector< dim > vCornerCoords[], const MathVector< 3 > &locIP, LocalVector *u) const |
Public Member Functions inherited from ug::UserDataInfo | |
const FunctionGroup & | function_group () const |
Function Group of functions. More... | |
const FunctionIndexMapping & | map () const |
get function mapping More... | |
size_t | num_fct () const |
number of functions this export depends on More... | |
const char * | obj_name () |
gets the name of the object (s. the field m_objName) More... | |
virtual void | set_function_pattern (ConstSmartPtr< FunctionPattern > fctPatt) |
sets the function pattern for a possibly needed grid function More... | |
void | set_obj_name (const char *name) |
sets the name of the object (s. the field m_objName) More... | |
virtual | ~UserDataInfo () |
virtual destructor More... | |
Protected Types | |
typedef CplUserData< TData, dim, TRet > | TCplUserData |
Private Member Functions | |
void | check (int si) const |
Private Attributes | |
bool | m_bContinuous |
bool | m_bRequiresGridFunction |
std::vector< SmartPtr< base_type > > | m_vData |
Additional Inherited Members | |
Protected Attributes inherited from ug::UserDataInfo | |
FunctionGroup | m_fctGrp |
functions the data depends on More... | |
FunctionIndexMapping | m_map |
Mapping for import fct. More... | |
SmartPtr< char > | m_objName |
This field is used mainly for debugging: One can assign a name to the object to identify it when running. More... | |
This is a compositum for user data defined on different subsets.
This combines user data objects defined on several subsets which is handy, but may be slow.
typedef UserData<TData, dim, TRet> ug::CompositeUserData< TData, dim, TRet >::base_type |
typedef SmartPtr<base_type> ug::CompositeUserData< TData, dim, TRet >::ref_type |
the attached UserData objects should have the same type as this class (i.e. they are "remapped")
|
protected |
|
inline |
|
inline |
|
inlinevirtual |
|
inline |
Add 'UserData' object for all subsets in a given group.
ssg | the subset group |
ref | pointer to the user-data object |
References ug::CompositeUserData< TData, dim, TRet >::add(), and ug::SubsetGroup::size().
|
inline |
Add 'UserData' object for all subsets by their names.
ssh | subset handler of the domain |
ss_names | names of the subdomains |
ref | pointer to the user-data object |
References ug::SubsetGroup::add(), ug::CompositeUserData< TData, dim, TRet >::add(), and ug::TokenizeTrimString().
|
inline |
Add 'UserData' object for given subset index.
si | the subset index |
ref | pointer to the user-data object |
References ug::CompositeUserData< TData, dim, TRet >::m_bContinuous, ug::CompositeUserData< TData, dim, TRet >::m_bRequiresGridFunction, ug::CompositeUserData< TData, dim, TRet >::m_vData, and UG_ASSERT.
Referenced by ug::CompositeUserData< TData, dim, TRet >::add().
|
inlineprivate |
References ug::CompositeUserData< TData, dim, TRet >::has(), and UG_THROW.
Referenced by ug::CompositeUserData< TData, dim, TRet >::get(), and ug::CompositeUserData< TData, dim, TRet >::operator()().
|
inlinevirtual |
returns if provided data is continuous over geometric object boundaries
Implements ug::UserData< TData, dim, void >.
References ug::CompositeUserData< TData, dim, TRet >::m_bContinuous.
|
inline |
|
inline |
|
inline |
Checks if anything is assigned to a given subset index.
References ug::CompositeUserData< TData, dim, TRet >::m_vData.
Referenced by ug::CompositeUserData< TData, dim, TRet >::check(), and ug::CompositeUserData< TData, dim, TRet >::is_coupled().
|
inline |
|
inlinevirtual |
returns value for a global position
Implements ug::UserData< TData, dim, void >.
References ug::CompositeUserData< TData, dim, TRet >::check(), and ug::CompositeUserData< TData, dim, TRet >::m_vData.
|
inlinevirtual |
returns values for global positions
Implements ug::UserData< TData, dim, void >.
References ug::CompositeUserData< TData, dim, TRet >::check(), and ug::CompositeUserData< TData, dim, TRet >::m_vData.
|
inlinevirtual |
returns values for local and global positions
Implements ug::UserData< TData, dim, void >.
References ug::CompositeUserData< TData, dim, TRet >::check(), and ug::CompositeUserData< TData, dim, TRet >::m_vData.
|
inlinevirtual |
returns values for local and global positions
Implements ug::UserData< TData, dim, void >.
References ug::CompositeUserData< TData, dim, TRet >::check(), and ug::CompositeUserData< TData, dim, TRet >::m_vData.
|
inlinevirtual |
returns values for local and global positions
Implements ug::UserData< TData, dim, void >.
References ug::CompositeUserData< TData, dim, TRet >::check(), and ug::CompositeUserData< TData, dim, TRet >::m_vData.
|
inlinevirtual |
returns true, if at least one of the underlying UserData requires grid functions.
Implements ug::UserData< TData, dim, void >.
References ug::CompositeUserData< TData, dim, TRet >::m_bRequiresGridFunction.
|
private |
|
private |
|
private |
Referenced by ug::CompositeUserData< TData, dim, TRet >::add(), ug::CompositeUserData< TData, dim, TRet >::get(), ug::CompositeUserData< TData, dim, TRet >::get_coupled(), ug::CompositeUserData< TData, dim, TRet >::has(), ug::CompositeUserData< TData, dim, TRet >::is_coupled(), and ug::CompositeUserData< TData, dim, TRet >::operator()().