Construction des infos d'un type d'entité du maillage. Plus de détails...
#include <arcane/core/ItemTypeInfoBuilder.h>
Types publics | |
enum class | Dimension : Int16 { DimUnknown = -1 , Dim0 = 0 , Dim1 = 1 , Dim2 = 2 , Dim3 = 3 } |
Dimension du type. Plus de détails... | |
Fonctions membres publiques | |
ItemTypeInfoBuilder ()=default | |
Constructeur par défaut. | |
void | setInfos (ItemTypeMng *mng, Int16 type_id, String type_name, Int32 nb_node, Int32 nb_edge, Int32 nb_face) |
void | setInfos (ItemTypeMng *mng, ItemTypeId type_id, String type_name, Int32 nb_node, Int32 nb_edge, Int32 nb_face) |
void | setInfos (ItemTypeMng *mng, ItemTypeId type_id, String type_name, Int16 dimension, Int32 nb_node, Int32 nb_edge, Int32 nb_face) |
Positionne les informations d'un type. | |
void | setInfos (ItemTypeMng *mng, ItemTypeId type_id, String type_name, Dimension dimension, Int32 nb_node, Int32 nb_edge, Int32 nb_face) |
Positionne les informations d'un type. | |
void | setInfos (ItemTypeMng *mng, Int16 type_id, String type_name, Dimension dimension, Int32 nb_node, Int32 nb_edge, Int32 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) |
![]() | |
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 | |
![]() | |
ItemTypeInfo ()=default | |
Constructeur par défaut. | |
![]() | |
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 48 du fichier ItemTypeInfoBuilder.h.
|
strong |
Dimension du type.
Définition à la ligne 54 du fichier ItemTypeInfoBuilder.h.
|
private |
Définition à la ligne 29 du fichier ItemTypeInfoBuilder.cc.
|
private |
Définition à la ligne 388 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 89 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 329 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 280 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 257 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 118 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 132 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 304 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 236 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 191 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 211 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 149 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 168 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 103 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 350 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, |
Int16 | type_id, | ||
String | type_name, | ||
Dimension | dimension, | ||
Int32 | nb_node, | ||
Int32 | nb_edge, | ||
Int32 | nb_face | ||
) |
Positionne les informations d'un type.
Définition à la ligne 79 du fichier ItemTypeInfoBuilder.cc.
Références Arcane::ItemTypeInfo::dimension().
void Arcane::ItemTypeInfoBuilder::setInfos | ( | ItemTypeMng * | mng, |
Int16 | type_id, | ||
String | type_name, | ||
Int32 | nb_node, | ||
Int32 | nb_edge, | ||
Int32 | nb_face | ||
) |
Définition à la ligne 69 du fichier ItemTypeInfoBuilder.cc.
void Arcane::ItemTypeInfoBuilder::setInfos | ( | ItemTypeMng * | mng, |
ItemTypeId | type_id, | ||
String | type_name, | ||
Dimension | dimension, | ||
Int32 | nb_node, | ||
Int32 | nb_edge, | ||
Int32 | 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, | ||
Int32 | nb_node, | ||
Int32 | nb_edge, | ||
Int32 | nb_face | ||
) |
Définition à la ligne 59 du fichier ItemTypeInfoBuilder.cc.
Définition à la ligne 151 du fichier ItemTypeInfoBuilder.h.