12#ifndef ARCANE_GEOMETRIC_GEOMSHAPEVIEW_H
13#define ARCANE_GEOMETRIC_GEOMSHAPEVIEW_H
17#include "arcane/utils/ITraceMng.h"
18#include "arcane/utils/ArrayView.h"
19#include "arcane/utils/Real3.h"
21#include "arcane/Item.h"
23#include "arcane/geometric/GeometricConnectic.h"
24#include "arcane/geometric/GeomElement.h"
25#include "arcane/geometric/CellConnectivity.h"
26#include "arcane/geometric/GeomShapeMutableView.h"
31namespace Arcane::geometric
37class GeomShapeConnectivity;
71 static void initializeConnectivity();
76 : m_node_ptr(0), m_face_ptr(0), m_center_ptr(0),
77 m_cell_connectivity(global_cell_connectivity[IT_NullType]),
78 m_item_internal(ItemInternal::nullItem())
84#include "arcane/geometric/GeneratedGeomShapeViewDeclarations.h"
111 return m_node_ptr[i];
117 return m_face_ptr[i];
123 return *m_center_ptr;
129 return 0.5 * (node(m_cell_connectivity->m_edge_direct_connectic[(i*2)]) + node(m_cell_connectivity->m_edge_direct_connectic[(i*2)+1]));
151 ARCANE_RESTRICT
const Real3* m_node_ptr;
152 ARCANE_RESTRICT
const Real3* m_face_ptr;
153 ARCANE_RESTRICT
const Real3* m_center_ptr;
175 return m_cell_connectivity->nodeConnectic()[i];
181 return m_cell_connectivity->edgeConnectic()[i];
187 return m_cell_connectivity->faceConnectic()[i];
205 return m_cell_connectivity->nodeAssociation()[i];
210 return m_cell_connectivity->SCVFaceConnectic()[i];
219 Integer faceNodeSubZoneId(Integer i)
const
221 return m_cell_connectivity->m_face_node_sub_zone_id[i];
235 return m_cell_connectivity->
cellType();
240 void _setItem(
Item item)
242 m_cell_connectivity = global_cell_connectivity[item.
type()];
243 m_item_internal = ItemCompatibility::_itemInternal(item);
246 void _setNullItem(
int item_type)
248 m_item_internal = ItemInternal::nullItem();
249 m_cell_connectivity = global_cell_connectivity[item_type];
291#include "arcane/geometric/GeneratedGeomShapeView.h"
302#include "arcane/geometric/GeomShape.h"
Informations sur la connectivité d'une maille.
Integer nbSubZone() const
Nombre de sous volume de controle.
Integer nbSubZoneFace() const
Nombre de sous faces internes SVC.
GeomType cellType() const
Type de la maille (GeomType::Quad4, GeomType::Hexaedron8, ...)
Integer m_edge_node_sub_zone_id[3]
Numéro locaux dans le sous-volumes de contrôle.
Classe gérant les GeomShape des mailles d'un maillage.
Enumération spécifiant le type de polygone ou polyèdre associé à un élément ou une forme géométrique.
Structure interne d'une entité de maillage.
Classe de base d'un élément de maillage.
Int16 type() const
Type de l'entité
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Classe gérant un vecteur de réel de dimension 3.
Vue sur forme géométrique 2D.
Vue sur forme géométrique 3D.
Vue constante sur une forme géométrique GeomShape.
const EdgeConnectic & edgeConnectic(Integer i) const
Informations de connectivité aux arêtes.
const Real3 node(Integer i) const
Position du ième noeud de la forme.
CellConnectivity * m_cell_connectivity
Informations sur la connectivité
Integer edgeNodeSubZoneId(Integer i) const
Numéro locaux dans le sous-volumes de contrôle.
const Real3 face(Integer i) const
Position du centre de la ième face de la forme.
GeomType geomType() const
Type géométrique de la forme.
Cell cell() const
Maille associée (null si aucune)
Integer nbSvcFace() const
Nombre de sous faces internes SVC.
void fillSubZoneElement(QuadElementView quad, Integer i)
Remplit quad avec les informations du i-ème sous-volume de contrôle.
const Real3 edge(Integer i) const
Position du centre de la i-ème arête de la forme.
ItemInternal * m_item_internal
Information sur l'entité d'origine (ItemInternal::nullItem() si aucune)
Integer nbSubZone() const
Nombre de sous volume de controle.
Face face() const
Face associée (null si aucune)
const Real3 center() const
Position du centre de la forme.
const NodeConnectic & nodeConnectic(Integer i) const
Informations de connectivité aux noeuds.
const FaceConnectic & faceConnectic(Integer i) const
Informations de connectivité aux faces.
void fillSubZoneElement(HexaElementView hexa, Integer i)
Remplit hexa avec les informations du i-ème sous-volume de contrôle.
Integer nodeAssociation(Integer i) const
Numéro local du sommet associé au sous volume de controle.
Item item() const
Entité associée (null si aucune)
Vue constante sur les éléments géométriques de type GeomType::Hexaedron8.
Vue modifiable sur les éléments géométriques de type GeomType::Hexaedron8.
Vue constante sur les éléments géométriques de type GeomType::Quad4.
Vue modifiable sur les éléments géométriques de type GeomType::Quad4.
Structures de connectique locale des mailles.
Structure de connectique locale.
Structures de connectique locale des mailles.
Structures de connectique locale des mailles et svc.