ug4
ug::ReferenceMappingProvider Class Reference

class to provide reference mappings More...

#include <reference_mapping_provider.h>

Static Public Member Functions

template<int TDim, int TWorldDim>
static DimReferenceMapping< TDim, TWorldDim > & get (ReferenceObjectID roid)
 returns a reference to a DimReferenceMapping More...
 
template<int TDim, int TWorldDim>
static DimReferenceMapping< TDim, TWorldDim > & get (ReferenceObjectID roid, const MathVector< TWorldDim > *vCornerCoord)
 returns a reference to a DimReferenceMapping with updated element corners More...
 
template<int TDim, int TWorldDim>
static DimReferenceMapping< TDim, TWorldDim > & get (ReferenceObjectID roid, const std::vector< MathVector< TWorldDim > > &vCornerCoord)
 returns a reference to a DimReferenceMapping with updated element corners More...
 

Private Member Functions

template<int TDim, int TWorldDim>
DimReferenceMapping< TDim, TWorldDim > * get_mapping (ReferenceObjectID roid)
 
ReferenceMappingProvideroperator= (const ReferenceMappingProvider &)
 
 ReferenceMappingProvider ()
 
 ReferenceMappingProvider (const ReferenceMappingProvider &)
 
template<int TDim, int TWorldDim>
void set_mapping (ReferenceObjectID roid, DimReferenceMapping< TDim, TWorldDim > &map)
 
 ~ReferenceMappingProvider ()
 

Static Private Member Functions

static ReferenceMappingProviderinst ()
 

Private Attributes

void * m_vvvMapping [4][4][NUM_REFERENCE_OBJECTS]
 

Detailed Description

class to provide reference mappings

This class provides references mappings. It is implemented as a Singleton.

Constructor & Destructor Documentation

◆ ReferenceMappingProvider() [1/2]

◆ ReferenceMappingProvider() [2/2]

ug::ReferenceMappingProvider::ReferenceMappingProvider ( const ReferenceMappingProvider )
private

◆ ~ReferenceMappingProvider()

ug::ReferenceMappingProvider::~ReferenceMappingProvider ( )
inlineprivate

Member Function Documentation

◆ get() [1/3]

template<int TDim, int TWorldDim>
static DimReferenceMapping<TDim, TWorldDim>& ug::ReferenceMappingProvider::get ( ReferenceObjectID  roid)
inlinestatic

returns a reference to a DimReferenceMapping

This class returns a reference mapping for a ReferenceObjectID. The reference dimension and the world dimension must be chosen as template arguments. An exception is throw if such an mapping does not exist.

Parameters
[in]roidReference Object ID
Template Parameters
TDimreference element dimension
TWorldDim(physical) world dimension

References get_mapping(), inst(), and UG_THROW.

Referenced by ug::SideAndElemErrEstData< TDomain >::get_elem_error_indicator(), ug::SideAndElemErrEstData< TDomain >::init_quadrature(), ug::IntegralNormalComponentOnManifoldGeneral(), ReferenceMappingProvider(), ug::SideAndElemErrEstData< TDomain >::side_global_ips(), and ug::DimFEGeometry< TWorldDim, TRefDim >::update_boundary_faces().

◆ get() [2/3]

template<int TDim, int TWorldDim>
static DimReferenceMapping<TDim, TWorldDim>& ug::ReferenceMappingProvider::get ( ReferenceObjectID  roid,
const MathVector< TWorldDim > *  vCornerCoord 
)
inlinestatic

returns a reference to a DimReferenceMapping with updated element corners

This class returns a reference mapping for a ReferenceObjectID. The reference dimension and the world dimension must be chosen as template arguments. An exception is throw if such an mapping does not exist.

Parameters
[in]roidReference Object ID
[in]vCornerCoordThe corner coordinates of the element
Template Parameters
TDimreference element dimension
TWorldDim(physical) world dimension

References ug::DimReferenceMapping< TDim, TWorldDim >::update().

◆ get() [3/3]

template<int TDim, int TWorldDim>
static DimReferenceMapping<TDim, TWorldDim>& ug::ReferenceMappingProvider::get ( ReferenceObjectID  roid,
const std::vector< MathVector< TWorldDim > > &  vCornerCoord 
)
inlinestatic

returns a reference to a DimReferenceMapping with updated element corners

This class returns a reference mapping for a ReferenceObjectID. The reference dimension and the world dimension must be chosen as template arguments. An exception is throw if such an mapping does not exist.

Parameters
[in]roidReference Object ID
[in]vCornerCoordThe corner coordinates of the element
Template Parameters
TDimreference element dimension
TWorldDim(physical) world dimension

References ug::DimReferenceMapping< TDim, TWorldDim >::update().

◆ get_mapping()

template<int TDim, int TWorldDim>
DimReferenceMapping<TDim, TWorldDim>* ug::ReferenceMappingProvider::get_mapping ( ReferenceObjectID  roid)
inlineprivate

◆ inst()

static ReferenceMappingProvider& ug::ReferenceMappingProvider::inst ( )
inlinestaticprivate

Referenced by get().

◆ operator=()

ReferenceMappingProvider& ug::ReferenceMappingProvider::operator= ( const ReferenceMappingProvider )
private

◆ set_mapping()

template<int TDim, int TWorldDim>
void ug::ReferenceMappingProvider::set_mapping ( ReferenceObjectID  roid,
DimReferenceMapping< TDim, TWorldDim > &  map 
)
inlineprivate

References m_vvvMapping.

Member Data Documentation

◆ m_vvvMapping

void* ug::ReferenceMappingProvider::m_vvvMapping[4][4][NUM_REFERENCE_OBJECTS]
private

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