7#ifndef ARCGEOSIM_GEOMETRY_IGEOMETRYSERVICE_H
8#define ARCGEOSIM_GEOMETRY_IGEOMETRYSERVICE_H
13#include <arcane/ItemGroup.h>
14#include <arcane/ArcaneTypes.h>
15#include <arcane/MeshVariable.h>
16#include <arcane/VariableTypedef.h>
17#include <arcane/utils/String.h>
49 PVolumeSurfaceRatio = (1 << 6),
59 static bool isScalar(
const eProperty p)
61 return (p & (PMeasure|PLength|PArea|PVolume|PVolumeSurfaceRatio)) != 0;
64 static bool isVectorial(
const eProperty p)
66 return (p & (PCenter|PNormal)) != 0;
73 eProperty
operator*()
const {
return (eProperty)m_state; }
74 void operator++() { m_state <<= 1; }
75 bool end()
const {
return m_state == PEnd; }
80 static String name(
const eProperty p) {
96 case PVolumeSurfaceRatio:
97 return "VolumeSurfaceRatio";
104 static String name(
const eStorage p) {
#define ARCANE_FATAL(...)
Macro envoyant une exception FatalErrorException.
Groupe d'entités de maillage.
Gestionnaire des calculs géométriques.
virtual const RealVariable & getRealVariableProperty(ItemGroup group, IGeometryProperty::eProperty property)=0
Get geometric property values for a Real field.
virtual void reset(ItemGroup group)=0
Reset property for an ItemGroup.
virtual Integer getItemGroupPropertyStorage(ItemGroup group, IGeometryProperty::eProperty property)=0
Check if a storage is available on an ItemGroup.
virtual bool hasItemGroupProperty(ItemGroup group, Integer property)=0
Check if a property is activated on an ItemGroup.
virtual void update()=0
Update property values for all ItemGroups.
virtual void update(ItemGroup group, Integer property)=0
Update property values for an ItemGroup.
virtual void reset(ItemGroup group, Integer property)=0
Reset property for an ItemGroup.
virtual void update(ItemGroup group)=0
Update property values for an ItemGroup.
virtual Integer getItemGroupProperty(ItemGroup group)=0
Get set of properties of an ItemGroup.
virtual void reset()=0
Reset property for all ItemGroups.
virtual void init()=0
Initialisation.
virtual void addItemGroupProperty(ItemGroup group, IGeometryProperty::eProperty property, RealVariable var)=0
Set geometric properties on a ItemGroup with an external container (real field)
virtual IGeometry * geometry()=0
Get underlying geometry.
virtual void addItemGroupProperty(ItemGroup group, Integer property, Integer storage=IGeometryProperty::PVariable)=0
Set geometric properties on a ItemGroup.
virtual void addItemGroupProperty(ItemGroup group, IGeometryProperty::eProperty property, Real3Variable var)=0
Set geometric properties on a ItemGroup with an external container (real3 field)
virtual const Real3Variable & getReal3VariableProperty(ItemGroup group, IGeometryProperty::eProperty property)=0
Get geometric property values for a Real3 field.
Interface de calculs géométriques.
Chaîne de caractères unicode.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Real2 operator*(Real sca, const Real2Proxy &vec)
Multiplication par un scalaire.
Int32 Integer
Type représentant un entier.