Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::geometric::GeomShapeMng

Classe gérant les GeomShape des mailles d'un maillage. Plus de détails...

#include <arcane/geometric/GeomShapeMng.h>

+ Graphe de collaboration de Arcane::geometric::GeomShapeMng:

Fonctions membres publiques

 GeomShapeMng (IMesh *mesh, const String &name)
 Initialise pour le maillage mesh avec le nom name.
 
 GeomShapeMng (IMesh *mesh)
 Initialise pour le maillage mesh avec le nom par défaut GenericElement.
 
 GeomShapeMng (const GeomShapeMng &rhs)
 Constructeur de recopie.
 
bool isInitialized () const
 Indique si l'instance est initialisée.
 
void initialize ()
 Initialise l'instance.
 
void initShape (GeomShapeView &ge, Cell cell) const
 Initialise la vue ge avec les informations de la maille cell.
 
GeomShapeMutableView mutableShapeView (Cell cell)
 Retourne une vue modifiable sur la GeomShape de la maille cell.
 
const Stringname () const
 Nom du gestionnaire.
 

Description détaillée

Classe gérant les GeomShape des mailles d'un maillage.

Cette classe stocke les informations des formes géométriques (GeomShape) associées aux mailles du maillage. Pour une maille, la récupération d'une vue se fait via la méthode initShape():

GeomShapeMng shape_mng;
Cell cell;
GeomShapeView shape_view;
// Initialise la vue \a shape_view sur la maille \a cell
shape_mng.initShape(shape_view,cell);
Maille d'un maillage.
Definition Item.h:1178
Classe gérant les GeomShape des mailles d'un maillage.
void initShape(GeomShapeView &ge, Cell cell) const
Initialise la vue ge avec les informations de la maille cell.
Vue constante sur une forme géométrique GeomShape.

Une vue peut-être utilisée plusieurs fois. Par exemple, si on souhaite itérer sur plusieurs mailles:

GeomShapeMng shape_mng;
GeomShapeView shape_view;
ENUMERATE_CELL(icell,allCells()){
Cell cell = *icell;
// Initialise la vue \a shape_view sur la maille \a cell
shape_mng.initShape(shape_view,cell);
info() << "Node0=" << shape_view.node(0);
}
#define ENUMERATE_CELL(name, group)
Enumérateur générique d'un groupe de mailles.
const Real3 node(Integer i) const
Position du ième noeud de la forme.

La vue récupérée par GeomShapeView est constante. Pour récupérer une vue modifiable, il faut utiliser mutableShapeView(). La vue modifiable sert uniquement à mettre à jour les différentes coordonnées (noeuds, centre des faces, ...).

Avant de pouvoir utiliser une des méthodes initShape() ou mutableShapeView(), il faut initialiser une des instance par l'appel à initialize(). L'initialisation effectue uniquement l'allocation mémoire mais ne met pas à jour les coordonnées.

Avertissement
La méthode initialize() doit aussi être appelée lorsque la topologie du maillage change, par exemple après un ajout ou suppression de maille.

Cette classe gère uniquement les données sur les formes géométriques et ces dernières sont indépendantes des autres variables. Cela signifie que si les coordonnées d'un noeud du maillage change, il faut explicitement remettre à jour les informations de la forme géométrique. Arcane fournit la classe BarycentricGeomShapeComputer pour cela mais l'utilisateur peut calculer ces informations d'une autre manière qu'en utilisant le barycentre.

Toutes les instances de cette classe dont le nom name() est identique sont implicitement partagées et donc fournissent les mêmes GeomShapeView. Par exemple:

IMesh* mesh;
GeomShapeMng shape_mng(mesh,"GenericElement");
GeomShapeMng shape_mng2(shape_mng);
// shape_mng et shape_mng2 partagent les mêmes GeomShapeView
GeomShapeMng shape_mng3(mesh,"AleGenericElement");
// shape_mng et shape_mng3 utilisent des valeurs différentes.

Définition à la ligne 93 du fichier GeomShapeMng.h.

Documentation des constructeurs et destructeur

◆ GeomShapeMng() [1/3]

Arcane::geometric::GeomShapeMng::GeomShapeMng ( IMesh mesh,
const String name 
)

Initialise pour le maillage mesh avec le nom name.

Définition à la ligne 27 du fichier GeomShapeMng.cc.

◆ GeomShapeMng() [2/3]

Arcane::geometric::GeomShapeMng::GeomShapeMng ( IMesh mesh)

Initialise pour le maillage mesh avec le nom par défaut GenericElement.

Définition à la ligne 39 du fichier GeomShapeMng.cc.

◆ GeomShapeMng() [3/3]

Arcane::geometric::GeomShapeMng::GeomShapeMng ( const GeomShapeMng rhs)

Constructeur de recopie.

Définition à la ligne 51 du fichier GeomShapeMng.cc.

Documentation des fonctions membres

◆ initialize()

void Arcane::geometric::GeomShapeMng::initialize ( )

Initialise l'instance.

Il n'y a besoin d'initialiser qu'une seule fois les instances qui ont le même nom.

Définition à la ligne 66 du fichier GeomShapeMng.cc.

Références Arcane::IMeshBase::dimension(), Arcane::ItemStaticInfo::MAX_CELL_FACE, Arcane::ItemStaticInfo::MAX_CELL_NODE, Arcane::MeshHandle::mesh(), Arcane::IVariable::meshHandle(), et Arcane::VariableRef::variable().

◆ initShape()

void Arcane::geometric::GeomShapeMng::initShape ( GeomShapeView ge,
Cell  cell 
) const
inline

Initialise la vue ge avec les informations de la maille cell.

Définition à la ligne 124 du fichier GeomShapeMng.h.

◆ isInitialized()

bool Arcane::geometric::GeomShapeMng::isInitialized ( ) const
inline

Indique si l'instance est initialisée.

Définition à la ligne 113 du fichier GeomShapeMng.h.

◆ mutableShapeView()

GeomShapeMutableView Arcane::geometric::GeomShapeMng::mutableShapeView ( Cell  cell)
inline

Retourne une vue modifiable sur la GeomShape de la maille cell.

Définition à la ligne 131 du fichier GeomShapeMng.h.

◆ name()

const String & Arcane::geometric::GeomShapeMng::name ( ) const
inline

Nom du gestionnaire.

Définition à la ligne 137 du fichier GeomShapeMng.h.


La documentation de cette classe a été générée à partir des fichiers suivants :