7#ifndef ARCGEOSIM_GEOMETRY_GEOMETRYSERVICEBASE_H
8#define ARCGEOSIM_GEOMETRY_GEOMETRYSERVICEBASE_H
13#include "arcane/geometry/IGeometryMng.h"
14#include "arcane/geometry/impl/ItemGroupGeometryProperty.h"
27namespace Arcane::Numerics
116 template <
typename GeometryT>
126 typedef std::map<ItemGroupImpl*, ItemGroupGeometryProperty> PropertyMap;
127 PropertyMap m_group_property_map;
132 IGeometryProperty::eProperty property,
133 IGeometryProperty::eStorage storage);
134 void _resetComputeFlags();
135 void _checkItemGroupUsage();
149#include "GeometryServiceBaseT.h"
Interface of the subdomain manager.
Brief: Implementation of a mesh entity group.
String m_suffix
suffix for internal variable names
Integer getItemGroupProperty(ItemGroup group)
Get set of properties of an ItemGroup.
void addItemGroupProperty(ItemGroup group, Integer property, Integer storage=IGeometryProperty::PVariable)
Set geometric properties on an ItemGroup.
virtual IMesh * mesh()=0
Access to mesh.
void setSuffix(const String &suffix)
void reset()
Reset property for all ItemGroups.
virtual const char * className() const =0
Name of instantiated class.
virtual void reset(ItemGroup group)=0
Reset property for an ItemGroup.
virtual ITraceMng * traceMng()=0
Access to traceMng.
virtual void update(ItemGroup group)=0
Update property values for an ItemGroup.
const Real3Variable & getReal3VariableProperty(ItemGroup group, IGeometryProperty::eProperty property)
Get geometric property values for a Real3 field.
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.
virtual ~GeometryServiceBase()
const RealVariable & getRealVariableProperty(ItemGroup group, IGeometryProperty::eProperty property)
Get geometric property values for a Real field.
void update()
Update property values for all ItemGroups.
ItemGroupGeometryProperty::StorageInfo & _checkItemGroupProperty(ItemGroupImpl *group, IGeometryProperty::eProperty property, IGeometryProperty::eStorage storage)
Return ItemGroupGeometryProperty if requested property and storage are available.
virtual IGeometry * geometry()=0
Get underlying geometry.
Unicode character string.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
Int32 Integer
Type representing an integer.