Classe gérant les GeomShape des mailles d'un maillage. Plus de détails...
#include <arcane/geometric/GeomShapeMng.h>
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 String & | name () const |
Nom du gestionnaire. | |
Attributs privés | |
String | m_name |
VariableCellArrayReal3 | m_cell_shape_nodes |
Elements génériques noeuds. | |
VariableCellArrayReal3 | m_cell_shape_faces |
Elements génériques face. | |
VariableCellReal3 | m_cell_shape_centers |
Elements génériques centre. | |
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():
Une vue peut-être utilisée plusieurs fois. Par exemple, si on souhaite itérer sur plusieurs mailles:
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.
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:
Définition à la ligne 93 du fichier GeomShapeMng.h.
Initialise pour le maillage mesh avec le nom name.
Définition à la ligne 27 du fichier GeomShapeMng.cc.
Arcane::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.
Arcane::GeomShapeMng::GeomShapeMng | ( | const GeomShapeMng & | rhs | ) |
Constructeur de recopie.
Définition à la ligne 51 du fichier GeomShapeMng.cc.
void Arcane::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(), m_cell_shape_faces, m_cell_shape_nodes, Arcane::ItemStaticInfo::MAX_CELL_FACE, Arcane::ItemStaticInfo::MAX_CELL_NODE, Arcane::IVariable::meshHandle(), et Arcane::VariableRef::variable().
Initialise la vue ge avec les informations de la maille cell.
Définition à la ligne 124 du fichier GeomShapeMng.h.
|
inline |
Indique si l'instance est initialisée.
Définition à la ligne 113 du fichier GeomShapeMng.h.
|
inline |
Retourne une vue modifiable sur la GeomShape de la maille cell.
Définition à la ligne 131 du fichier GeomShapeMng.h.
|
inline |
Nom du gestionnaire.
Définition à la ligne 137 du fichier GeomShapeMng.h.
|
private |
Elements génériques centre.
Définition à la ligne 144 du fichier GeomShapeMng.h.
|
private |
Elements génériques face.
Définition à la ligne 143 du fichier GeomShapeMng.h.
Référencé par initialize().
|
private |
Elements génériques noeuds.
Définition à la ligne 142 du fichier GeomShapeMng.h.
Référencé par initialize().
|
private |
Définition à la ligne 141 du fichier GeomShapeMng.h.