|
ug4
|
This is a compositum for user data defined on different subsets. More...
#include <composite_user_data.h>
Inheritance diagram for ug::CompositeUserData< TData, dim, TRet >: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") | |
Public Types inherited from ug::UserData< TData, dim, TRet > | |
| typedef TData | data_type |
| typedef TRet | return_type |
Public Member Functions | |
| void | add (const SubsetGroup &ssg, SmartPtr< base_type > ref) |
| Add 'UserData' object for all subsets in a given group. | |
| void | add (ConstSmartPtr< ISubsetHandler > ssh, const char *ss_names, SmartPtr< base_type > ref) |
| Add 'UserData' object for all subsets by their names. | |
| void | add (int si, SmartPtr< base_type > ref) |
| Add 'UserData' object for given subset index. | |
| CompositeUserData () | |
| CompositeUserData (bool continuous) | |
| virtual bool | continuous () const |
| returns if provided data is continuous over geometric object boundaries | |
| 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. | |
| 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 | |
| virtual void | operator() (TData vValue[], const MathVector< dim > vGlobIP[], number time, int si, const size_t nip) const |
| returns values for global positions | |
| 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. | |
| virtual | ~CompositeUserData () |
Public Member Functions inherited from ug::UserData< TData, dim, TRet > | |
| int | get_dim () const |
| returns dimension | |
| virtual void | operator() (TData &value, const MathVector< dim > &globIP, number time, int si, Vertex *vrt) const |
| returns a value at a vertex | |
| std::string | type () const |
| returns type of data as string (e.g. "Number", "Vector", "Matrix") | |
| TRet | operator() (TData &value, const MathVector< dim > &globIP, number time, int si, GridObject *elem, const MathVector< dim > vCornerCoords[], const MathVector< 1 > &locIP, LocalVector *u) const |
| TRet | operator() (TData &value, const MathVector< dim > &globIP, number time, int si, GridObject *elem, const MathVector< dim > vCornerCoords[], const MathVector< 2 > &locIP, LocalVector *u) const |
| TRet | 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. | |
| const FunctionIndexMapping & | map () const |
| get function mapping | |
| size_t | num_fct () const |
| number of functions this export depends on | |
| const char * | obj_name () |
| gets the name of the object (s. the field m_objName) | |
| virtual void | set_function_pattern (ConstSmartPtr< FunctionPattern > fctPatt) |
| sets the function pattern for a possibly needed grid function | |
| void | set_obj_name (const char *name) |
| sets the name of the object (s. the field m_objName) | |
| virtual | ~UserDataInfo () |
| virtual destructor | |
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 | |
| FunctionIndexMapping | m_map |
| Mapping for import fct. | |
| SmartPtr< char > | m_objName |
| This field is used mainly for debugging: One can assign a name to the object to identify it when running. | |
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(), and 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(), ug::CompositeUserData< TData, dim, TRet >::operator()(), ug::CompositeUserData< TData, dim, TRet >::operator()(), ug::CompositeUserData< TData, dim, TRet >::operator()(), ug::CompositeUserData< TData, dim, TRet >::operator()(), and ug::CompositeUserData< TData, dim, TRet >::operator()().
|
inlinevirtual |
returns if provided data is continuous over geometric object boundaries
Implements ug::UserData< TData, dim, TRet >.
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, TRet >.
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, TRet >.
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, TRet >.
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, TRet >.
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, TRet >.
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, TRet >.
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(), ug::CompositeUserData< TData, dim, TRet >::operator()(), ug::CompositeUserData< TData, dim, TRet >::operator()(), ug::CompositeUserData< TData, dim, TRet >::operator()(), ug::CompositeUserData< TData, dim, TRet >::operator()(), and ug::CompositeUserData< TData, dim, TRet >::operator()().