Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::Numerics::GeometryServiceBase Class Referenceabstract
Inheritance diagram for Arcane::Numerics::GeometryServiceBase:
Collaboration diagram for Arcane::Numerics::GeometryServiceBase:

Public Member Functions

 GeometryServiceBase ()
virtual ~GeometryServiceBase ()
void addItemGroupProperty (ItemGroup group, Integer property, Integer storage=IGeometryProperty::PVariable)
 Set geometric properties on an ItemGroup.
void addItemGroupProperty (ItemGroup group, IGeometryProperty::eProperty property, RealVariable var)
 Set geometric properties on an ItemGroup with an external container (real field).
void addItemGroupProperty (ItemGroup group, IGeometryProperty::eProperty property, Real3Variable var)
 Set geometric properties on an ItemGroup with an external container (real3 field).
Integer getItemGroupProperty (ItemGroup group)
 Get set of properties of an ItemGroup.
bool hasItemGroupProperty (ItemGroup group, Integer property)
 Check if a property is activated on an ItemGroup.
Integer getItemGroupPropertyStorage (ItemGroup group, IGeometryProperty::eProperty property)
 Check if storage is available on an ItemGroup.
const RealVariable & getRealVariableProperty (ItemGroup group, IGeometryProperty::eProperty property)
 Get geometric property values for a Real field.
const Real3Variable & getReal3VariableProperty (ItemGroup group, IGeometryProperty::eProperty property)
 Get geometric property values for a Real3 field.
void update (ItemGroup group, Integer property)
 Update property values for an ItemGroup.
void reset (ItemGroup group, Integer property)
 Reset property for an ItemGroup.
virtual void update (ItemGroup group)=0
 Update property values for an ItemGroup.
virtual void reset (ItemGroup group)=0
 Reset property for an ItemGroup.
void update ()
 Update property values for all ItemGroups.
void reset ()
 Reset property for all ItemGroups.
Public Member Functions inherited from Arcane::Numerics::IGeometryMng
 IGeometryMng ()
virtual ~IGeometryMng ()
virtual void init ()=0
 Initialization.
virtual IGeometrygeometry ()=0
 Get underlying geometry.

Protected Types

typedef std::map< ItemGroupImpl *, ItemGroupGeometryPropertyPropertyMap

Protected Member Functions

virtual ITraceMngtraceMng ()=0
 Access to traceMng.
virtual IMeshmesh ()=0
 Access to mesh.
template<typename GeometryT>
void updateGroup (ItemGroup group, GeometryT &geometry)
virtual const char * className () const =0
 Name of instantiated class.
ItemGroupGeometryProperty::StorageInfo_checkItemGroupProperty (ItemGroupImpl *group, IGeometryProperty::eProperty property, IGeometryProperty::eStorage storage)
 Return ItemGroupGeometryProperty if requested property and storage are available.
void _resetComputeFlags ()
void _checkItemGroupUsage ()
void setSuffix (const String &suffix)

Protected Attributes

PropertyMap m_group_property_map
String m_suffix
 suffix for internal variable names

Additional Inherited Members

Public Types inherited from Arcane::Numerics::IGeometryMng
typedef VariableItemReal RealVariable
typedef VariableItemReal3 Real3Variable

Detailed Description

Definition at line 33 of file GeometryServiceBase.h.

Member Typedef Documentation

◆ PropertyMap

typedef std::map<ItemGroupImpl*, ItemGroupGeometryProperty> Arcane::Numerics::GeometryServiceBase::PropertyMap
protected

Definition at line 126 of file GeometryServiceBase.h.

Constructor & Destructor Documentation

◆ GeometryServiceBase()

Arcane::Numerics::GeometryServiceBase::GeometryServiceBase ( )

Class constructor

Definition at line 31 of file GeometryServiceBase.cc.

References m_suffix.

Referenced by Arcane::Numerics::Euclidian3GeometryService::Euclidian3GeometryService().

Here is the caller graph for this function:

◆ ~GeometryServiceBase()

Arcane::Numerics::GeometryServiceBase::~GeometryServiceBase ( )
virtual

Class destructor

Definition at line 37 of file GeometryServiceBase.cc.

Member Function Documentation

◆ _checkItemGroupProperty()

ItemGroupGeometryProperty::StorageInfo & Arcane::Numerics::GeometryServiceBase::_checkItemGroupProperty ( ItemGroupImpl * group,
IGeometryProperty::eProperty property,
IGeometryProperty::eStorage storage )
protected

Return ItemGroupGeometryProperty if requested property and storage are available.

Definition at line 314 of file GeometryServiceBase.cc.

References ARCANE_FATAL, and Arcane::ItemGroupImpl::name().

Referenced by getReal3VariableProperty(), and getRealVariableProperty().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ _checkItemGroupUsage()

void Arcane::Numerics::GeometryServiceBase::_checkItemGroupUsage ( )
protected

Definition at line 346 of file GeometryServiceBase.cc.

◆ _resetComputeFlags()

void Arcane::Numerics::GeometryServiceBase::_resetComputeFlags ( )
protected

Definition at line 335 of file GeometryServiceBase.cc.

◆ addItemGroupProperty() [1/3]

void Arcane::Numerics::GeometryServiceBase::addItemGroupProperty ( ItemGroup group,
IGeometryProperty::eProperty property,
Real3Variable var )
virtual

Set geometric properties on an ItemGroup with an external container (real3 field).

Implements Arcane::Numerics::IGeometryMng.

Definition at line 89 of file GeometryServiceBase.cc.

References Arcane::ITraceMng::fatal(), Arcane::ItemGroup::internal(), Arcane::ItemGroup::name(), Arcane::VariableRef::name(), and traceMng().

Here is the call graph for this function:

◆ addItemGroupProperty() [2/3]

void Arcane::Numerics::GeometryServiceBase::addItemGroupProperty ( ItemGroup group,
IGeometryProperty::eProperty property,
RealVariable var )
virtual

Set geometric properties on an ItemGroup with an external container (real field).

Implements Arcane::Numerics::IGeometryMng.

Definition at line 64 of file GeometryServiceBase.cc.

References Arcane::ITraceMng::fatal(), Arcane::ItemGroup::internal(), Arcane::ItemGroup::name(), Arcane::VariableRef::name(), and traceMng().

Here is the call graph for this function:

◆ addItemGroupProperty() [3/3]

void Arcane::Numerics::GeometryServiceBase::addItemGroupProperty ( ItemGroup group,
Integer property,
Integer storage = IGeometryProperty::PVariable )
virtual

Set geometric properties on an ItemGroup.

Implements Arcane::Numerics::IGeometryMng.

Definition at line 46 of file GeometryServiceBase.cc.

References Arcane::ITraceMng::debug(), Arcane::ItemGroup::internal(), Arcane::ItemGroup::name(), and traceMng().

Here is the call graph for this function:

◆ className()

virtual const char * Arcane::Numerics::GeometryServiceBase::className ( ) const
protectedpure virtual

Name of instantiated class.

Implemented in Arcane::Numerics::Euclidian3GeometryService.

Referenced by update().

Here is the caller graph for this function:

◆ getItemGroupProperty()

Integer Arcane::Numerics::GeometryServiceBase::getItemGroupProperty ( ItemGroup group)
virtual

Get set of properties of an ItemGroup.

Implements Arcane::Numerics::IGeometryMng.

Definition at line 115 of file GeometryServiceBase.cc.

References Arcane::ItemGroup::internal().

Referenced by hasItemGroupProperty().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getItemGroupPropertyStorage()

Integer Arcane::Numerics::GeometryServiceBase::getItemGroupPropertyStorage ( ItemGroup group,
IGeometryProperty::eProperty property )
virtual

Check if storage is available on an ItemGroup.

Implements Arcane::Numerics::IGeometryMng.

Definition at line 131 of file GeometryServiceBase.cc.

References Arcane::ItemGroup::internal().

Here is the call graph for this function:

◆ getReal3VariableProperty()

const IGeometryMng::Real3Variable & Arcane::Numerics::GeometryServiceBase::getReal3VariableProperty ( ItemGroup group,
IGeometryProperty::eProperty property )
virtual

Get geometric property values for a Real3 field.

Implements Arcane::Numerics::IGeometryMng.

Definition at line 157 of file GeometryServiceBase.cc.

References _checkItemGroupProperty(), Arcane::ITraceMng::fatal(), Arcane::ItemGroup::internal(), and traceMng().

Here is the call graph for this function:

◆ getRealVariableProperty()

const IGeometryMng::RealVariable & Arcane::Numerics::GeometryServiceBase::getRealVariableProperty ( ItemGroup group,
IGeometryProperty::eProperty property )
virtual

Get geometric property values for a Real field.

Implements Arcane::Numerics::IGeometryMng.

Definition at line 143 of file GeometryServiceBase.cc.

References _checkItemGroupProperty(), Arcane::ITraceMng::fatal(), Arcane::ItemGroup::internal(), and traceMng().

Here is the call graph for this function:

◆ hasItemGroupProperty()

bool Arcane::Numerics::GeometryServiceBase::hasItemGroupProperty ( ItemGroup group,
Integer property )
virtual

Check if a property is activated on an ItemGroup.

Implements Arcane::Numerics::IGeometryMng.

Definition at line 124 of file GeometryServiceBase.cc.

References getItemGroupProperty().

Here is the call graph for this function:

◆ mesh()

virtual IMesh * Arcane::Numerics::GeometryServiceBase::mesh ( )
protectedpure virtual

Access to mesh.

Implemented in Arcane::Numerics::Euclidian3GeometryService.

References Arcane::Numerics::IGeometryMng::geometry().

Referenced by update().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ reset() [1/3]

void Arcane::Numerics::GeometryServiceBase::reset ( )
virtual

Reset property for all ItemGroups.

Implements Arcane::Numerics::IGeometryMng.

Definition at line 302 of file GeometryServiceBase.cc.

References reset().

Referenced by reset(), and reset().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ reset() [2/3]

virtual void Arcane::Numerics::GeometryServiceBase::reset ( ItemGroup group)
pure virtual

Reset property for an ItemGroup.

Implements Arcane::Numerics::IGeometryMng.

Implemented in Arcane::Numerics::Euclidian3GeometryService.

◆ reset() [3/3]

void Arcane::Numerics::GeometryServiceBase::reset ( ItemGroup group,
Integer property )
virtual

Reset property for an ItemGroup.

Implements Arcane::Numerics::IGeometryMng.

Definition at line 179 of file GeometryServiceBase.cc.

References reset().

Here is the call graph for this function:

◆ setSuffix()

void Arcane::Numerics::GeometryServiceBase::setSuffix ( const String & suffix)
inlineprotected

Using setSuffix allows defining a known extension for internal variable names. At this level, the user is responsible for name collision management

Definition at line 138 of file GeometryServiceBase.h.

References m_suffix.

Referenced by Arcane::Numerics::Euclidian3GeometryService::init().

Here is the caller graph for this function:

◆ traceMng()

virtual ITraceMng * Arcane::Numerics::GeometryServiceBase::traceMng ( )
protectedpure virtual

Access to traceMng.

Implemented in Arcane::Numerics::Euclidian3GeometryService.

Referenced by addItemGroupProperty(), addItemGroupProperty(), addItemGroupProperty(), getReal3VariableProperty(), getRealVariableProperty(), and update().

Here is the caller graph for this function:

◆ update() [1/3]

void Arcane::Numerics::GeometryServiceBase::update ( )
virtual

Update property values for all ItemGroups.

Implements Arcane::Numerics::IGeometryMng.

Definition at line 188 of file GeometryServiceBase.cc.

References Arcane::IItemFamily::allItems(), className(), ENUMERATE_ITEM, Arcane::IK_Cell, Arcane::IK_Face, Arcane::ItemGroup::internal(), Arcane::ItemGroup::itemKind(), mesh(), traceMng(), update(), and Arcane::VariableRef::variable().

Referenced by update(), and update().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ update() [2/3]

virtual void Arcane::Numerics::GeometryServiceBase::update ( ItemGroup group)
pure virtual

Update property values for an ItemGroup.

Implements Arcane::Numerics::IGeometryMng.

Implemented in Arcane::Numerics::Euclidian3GeometryService.

◆ update() [3/3]

void Arcane::Numerics::GeometryServiceBase::update ( ItemGroup group,
Integer property )
virtual

Update property values for an ItemGroup.

Implements Arcane::Numerics::IGeometryMng.

Definition at line 173 of file GeometryServiceBase.cc.

References update().

Here is the call graph for this function:

◆ updateGroup()

template<typename GeometryT>
void Arcane::Numerics::GeometryServiceBase::updateGroup ( ItemGroup group,
GeometryT & geometry )
protected

Definition at line 21 of file GeometryServiceBaseT.h.

Member Data Documentation

◆ m_group_property_map

PropertyMap Arcane::Numerics::GeometryServiceBase::m_group_property_map
protected

Definition at line 127 of file GeometryServiceBase.h.

◆ m_suffix

String Arcane::Numerics::GeometryServiceBase::m_suffix
protected

suffix for internal variable names

Definition at line 128 of file GeometryServiceBase.h.

Referenced by GeometryServiceBase(), and setSuffix().


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