Construction des infos d'un type d'entité du maillage. Plus de détails...
#include <arcane/core/ItemTypeInfoBuilder.h>
Fonctions membres publiques | |
ItemTypeInfoBuilder ()=default | |
Constructeur par défaut. | |
void | setInfos (ItemTypeMng *mng, Integer type_id, String type_name, Integer nb_node, Integer nb_edge, Integer nb_face) |
void | setInfos (ItemTypeMng *mng, ItemTypeId type_id, String type_name, Integer nb_node, Integer nb_edge, Integer nb_face) |
void | setInfos (ItemTypeMng *mng, ItemTypeId type_id, String type_name, Int16 dimension, Integer nb_node, Integer nb_edge, Integer nb_face) |
Positionne les informations d'un type. | |
void | addEdge (Integer edge_index, Integer n0, Integer n1, Integer f_left, Integer f_right) |
Ajoute une arête à la liste des arêtes. | |
void | addFaceVertex (Integer face_index, Integer n0) |
Ajoute un sommet à la liste des faces (pour les elements 1D) | |
void | addFaceLine (Integer face_index, Integer n0, Integer n1) |
Ajoute une ligne à la liste des faces (pour les elements 2D) | |
void | addFaceLine3 (Integer face_index, Integer n0, Integer n1, Integer n2) |
Ajoute une ligne quadratique à la liste des faces (pour les elements 2D) | |
void | addFaceTriangle (Integer face_index, Integer n0, Integer n1, Integer n2) |
Ajoute un triangle à la liste des faces. | |
void | addFaceTriangle6 (Integer face_index, Integer n0, Integer n1, Integer n2, Integer n3, Integer n4, Integer n5) |
Ajoute un triangle quadratique à la liste des faces. | |
void | addFaceQuad (Integer face_index, Integer n0, Integer n1, Integer n2, Integer n3) |
Ajoute un quadrilatère à la liste des faces. | |
void | addFaceQuad8 (Integer face_index, Integer n0, Integer n1, Integer n2, Integer n3, Integer n4, Integer n5, Integer n6, Integer n7) |
Ajoute un quadrilatère quadratique à la liste des faces. | |
void | addFacePentagon (Integer face_index, Integer n0, Integer n1, Integer n2, Integer n3, Integer n4) |
Ajoute un pentagone à la liste des faces. | |
void | addFaceHexagon (Integer face_index, Integer n0, Integer n1, Integer n2, Integer n3, Integer n4, Integer n5) |
Ajoute un hexagone à la liste des faces. | |
void | addFaceHeptagon (Integer face_index, Integer n0, Integer n1, Integer n2, Integer n3, Integer n4, Integer n5, Integer n6) |
Ajoute un heptagone à la liste des faces. | |
void | addFaceOctogon (Integer face_index, Integer n0, Integer n1, Integer n2, Integer n3, Integer n4, Integer n5, Integer n6, Integer n7) |
Ajoute un heptagone à la liste des faces. | |
void | addFaceGeneric (Integer face_index, Integer type_id, ConstArrayView< Integer > n) |
Ajoute une face générique à la liste des faces. | |
void | computeFaceEdgeInfos () |
Calcule les relations face->arêtes. | |
void | setIsValidForCell (bool is_valid) |
Fonctions membres publiques hérités de Arcane::ItemTypeInfo | |
Int16 | typeId () const |
Numéro du type. | |
ItemTypeId | itemTypeId () const |
Numéro du type. | |
Integer | nbLocalNode () const |
Nombre de noeuds de l'entité | |
Integer | nbLocalFace () const |
Nombre de faces de l'entité | |
Integer | nbLocalEdge () const |
Nombre d'arêtes de l'entité | |
String | typeName () const |
Nom du type. | |
Int16 | dimension () const |
Dimension de l'élément (<0 si inconnu) | |
bool | isValidForCell () const |
Indique si le type est valide pour créér une maille (Cell) | |
LocalEdge | localEdge (Integer id) const |
Connectivité locale de la i-ème arête de la maille. | |
LocalFace | localFace (Integer id) const |
Connectivité locale de la i-ème face de la maille. | |
Fonctions membres privées | |
void | _setNbEdgeAndFace (Integer nb_edge, Integer nb_face) |
void | _checkDimension (Int16 dim) |
Membres hérités additionnels | |
Fonctions membres protégées hérités de Arcane::ItemTypeInfo | |
ItemTypeInfo ()=default | |
Constructeur par défaut. | |
Attributs protégés hérités de Arcane::ItemTypeInfo | |
ItemTypeMng * | m_mng = nullptr |
ItemTypeId | m_type_id { IT_NullType } |
Int16 | m_dimension = (-1) |
Dimension (-1) si pas initialisé. | |
bool | m_is_valid_for_cell = true |
Indique si le type est valide pour une maille. | |
Integer | m_nb_node = 0 |
Integer | m_nb_edge = 0 |
Integer | m_nb_face = 0 |
Integer | m_first_item_index = 0 |
String | m_type_name |
Construction des infos d'un type d'entité du maillage.
Pour des raisons de performances, on essaie de stocker ces informations de manière contigue en mémoire car elles seront accédées très souvent. Pour cela, on utilise un Buffer dans ItemTypeMng.
La méthode setInfos() permet d'indiquer le type et le nombre de noeuds, d'arêtes et de faces du type. Il faut ensuite appeler les méthodes addEdge() et addFace...()
Une fois le type complètement défini, il ne doit plus être modifié.
Pour un numéro de type donné, il n'existe qu'une instance de ItemTypeInfo et cette instance reste valide tant que le gestionnaire de type (ItemTypeMng) n'est pas détruit. Par conséquent, il est possible de stocker le pointeur sur l'instance et de comparer deux types uniquement en comparant les pointeurs
Définition à la ligne 46 du fichier ItemTypeInfoBuilder.h.
|
private |
Définition à la ligne 29 du fichier ItemTypeInfoBuilder.cc.
|
private |
Définition à la ligne 379 du fichier ItemTypeInfoBuilder.cc.
void Arcane::ItemTypeInfoBuilder::addEdge | ( | Integer | edge_index, |
Integer | n0, | ||
Integer | n1, | ||
Integer | f_left, | ||
Integer | f_right | ||
) |
Ajoute une arête à la liste des arêtes.
n0 noeud origine n1 noeud extremité f_left numéro local de la face à gauche f_right numéro local de la face à droite
Définition à la ligne 80 du fichier ItemTypeInfoBuilder.cc.
Références Arcane::ItemTypeMng::m_ids_buffer.
Référencé par Arcane::ItemTypeMng::_build(), et Arcane::ItemTypeMng::readTypes().
void Arcane::ItemTypeInfoBuilder::addFaceGeneric | ( | Integer | face_index, |
Integer | type_id, | ||
ConstArrayView< Integer > | n | ||
) |
Ajoute une face générique à la liste des faces.
Définition à la ligne 320 du fichier ItemTypeInfoBuilder.cc.
Références Arcane::ItemTypeMng::m_ids_buffer.
Référencé par Arcane::ItemTypeMng::readTypes().
void Arcane::ItemTypeInfoBuilder::addFaceHeptagon | ( | Integer | face_index, |
Integer | n0, | ||
Integer | n1, | ||
Integer | n2, | ||
Integer | n3, | ||
Integer | n4, | ||
Integer | n5, | ||
Integer | n6 | ||
) |
Ajoute un heptagone à la liste des faces.
Définition à la ligne 271 du fichier ItemTypeInfoBuilder.cc.
Références Arcane::ItemTypeMng::m_ids_buffer.
Référencé par Arcane::ItemTypeMng::_build().
void Arcane::ItemTypeInfoBuilder::addFaceHexagon | ( | Integer | face_index, |
Integer | n0, | ||
Integer | n1, | ||
Integer | n2, | ||
Integer | n3, | ||
Integer | n4, | ||
Integer | n5 | ||
) |
Ajoute un hexagone à la liste des faces.
Définition à la ligne 248 du fichier ItemTypeInfoBuilder.cc.
Références Arcane::ItemTypeMng::m_ids_buffer.
Référencé par Arcane::ItemTypeMng::_build().
void Arcane::ItemTypeInfoBuilder::addFaceLine | ( | Integer | face_index, |
Integer | n0, | ||
Integer | n1 | ||
) |
Ajoute une ligne à la liste des faces (pour les elements 2D)
Définition à la ligne 109 du fichier ItemTypeInfoBuilder.cc.
Références Arcane::ItemTypeMng::m_ids_buffer.
Référencé par Arcane::ItemTypeMng::_build().
void Arcane::ItemTypeInfoBuilder::addFaceLine3 | ( | Integer | face_index, |
Integer | n0, | ||
Integer | n1, | ||
Integer | n2 | ||
) |
Ajoute une ligne quadratique à la liste des faces (pour les elements 2D)
Définition à la ligne 123 du fichier ItemTypeInfoBuilder.cc.
Références Arcane::ItemTypeMng::m_ids_buffer.
Référencé par Arcane::ItemTypeMng::_build().
void Arcane::ItemTypeInfoBuilder::addFaceOctogon | ( | Integer | face_index, |
Integer | n0, | ||
Integer | n1, | ||
Integer | n2, | ||
Integer | n3, | ||
Integer | n4, | ||
Integer | n5, | ||
Integer | n6, | ||
Integer | n7 | ||
) |
Ajoute un heptagone à la liste des faces.
Définition à la ligne 295 du fichier ItemTypeInfoBuilder.cc.
Références Arcane::ItemTypeMng::m_ids_buffer.
Référencé par Arcane::ItemTypeMng::_build().
void Arcane::ItemTypeInfoBuilder::addFacePentagon | ( | Integer | face_index, |
Integer | n0, | ||
Integer | n1, | ||
Integer | n2, | ||
Integer | n3, | ||
Integer | n4 | ||
) |
Ajoute un pentagone à la liste des faces.
Définition à la ligne 227 du fichier ItemTypeInfoBuilder.cc.
Références Arcane::ItemTypeMng::m_ids_buffer.
Référencé par Arcane::ItemTypeMng::_build().
void Arcane::ItemTypeInfoBuilder::addFaceQuad | ( | Integer | face_index, |
Integer | n0, | ||
Integer | n1, | ||
Integer | n2, | ||
Integer | n3 | ||
) |
Ajoute un quadrilatère à la liste des faces.
Définition à la ligne 182 du fichier ItemTypeInfoBuilder.cc.
Références Arcane::ItemTypeMng::m_ids_buffer.
Référencé par Arcane::ItemTypeMng::_build().
void Arcane::ItemTypeInfoBuilder::addFaceQuad8 | ( | Integer | face_index, |
Integer | n0, | ||
Integer | n1, | ||
Integer | n2, | ||
Integer | n3, | ||
Integer | n4, | ||
Integer | n5, | ||
Integer | n6, | ||
Integer | n7 | ||
) |
Ajoute un quadrilatère quadratique à la liste des faces.
Définition à la ligne 202 du fichier ItemTypeInfoBuilder.cc.
Références Arcane::ItemTypeMng::m_ids_buffer.
Référencé par Arcane::ItemTypeMng::_build().
void Arcane::ItemTypeInfoBuilder::addFaceTriangle | ( | Integer | face_index, |
Integer | n0, | ||
Integer | n1, | ||
Integer | n2 | ||
) |
Ajoute un triangle à la liste des faces.
Définition à la ligne 140 du fichier ItemTypeInfoBuilder.cc.
Références Arcane::ItemTypeMng::m_ids_buffer.
Référencé par Arcane::ItemTypeMng::_build().
void Arcane::ItemTypeInfoBuilder::addFaceTriangle6 | ( | Integer | face_index, |
Integer | n0, | ||
Integer | n1, | ||
Integer | n2, | ||
Integer | n3, | ||
Integer | n4, | ||
Integer | n5 | ||
) |
Ajoute un triangle quadratique à la liste des faces.
Définition à la ligne 159 du fichier ItemTypeInfoBuilder.cc.
Références Arcane::ItemTypeMng::m_ids_buffer.
Référencé par Arcane::ItemTypeMng::_build().
void Arcane::ItemTypeInfoBuilder::addFaceVertex | ( | Integer | face_index, |
Integer | n0 | ||
) |
Ajoute un sommet à la liste des faces (pour les elements 1D)
Définition à la ligne 94 du fichier ItemTypeInfoBuilder.cc.
Références Arcane::ItemTypeMng::m_ids_buffer.
Référencé par Arcane::ItemTypeMng::_build().
void Arcane::ItemTypeInfoBuilder::computeFaceEdgeInfos | ( | ) |
Calcule les relations face->arêtes.
Définition à la ligne 341 du fichier ItemTypeInfoBuilder.cc.
Références ARCANE_FATAL, Arcane::ItemTypeInfo::localEdge(), Arcane::ItemTypeMng::m_ids_buffer, Arcane::ItemTypeInfo::nbLocalEdge(), Arcane::ItemTypeInfo::nbLocalFace(), Arcane::ItemTypeInfo::typeId(), et Arcane::ItemTypeInfo::typeName().
Référencé par Arcane::ItemTypeMng::_build().
void Arcane::ItemTypeInfoBuilder::setInfos | ( | ItemTypeMng * | mng, |
Integer | type_id, | ||
String | type_name, | ||
Integer | nb_node, | ||
Integer | nb_edge, | ||
Integer | nb_face | ||
) |
Définition à la ligne 69 du fichier ItemTypeInfoBuilder.cc.
void Arcane::ItemTypeInfoBuilder::setInfos | ( | ItemTypeMng * | mng, |
ItemTypeId | type_id, | ||
String | type_name, | ||
Int16 | dimension, | ||
Integer | nb_node, | ||
Integer | nb_edge, | ||
Integer | nb_face | ||
) |
Positionne les informations d'un type.
Définition à la ligne 44 du fichier ItemTypeInfoBuilder.cc.
Références Arcane::ItemTypeInfo::dimension(), et Arcane::ItemTypeInfo::m_dimension.
void Arcane::ItemTypeInfoBuilder::setInfos | ( | ItemTypeMng * | mng, |
ItemTypeId | type_id, | ||
String | type_name, | ||
Integer | nb_node, | ||
Integer | nb_edge, | ||
Integer | nb_face | ||
) |
Définition à la ligne 59 du fichier ItemTypeInfoBuilder.cc.
Définition à la ligne 126 du fichier ItemTypeInfoBuilder.h.