Gestionnaire des types d'entités d'un maillage. Plus de détails...
#include <arcane/core/ItemTypeMng.h>
Graphe de collaboration de Arcane::ItemTypeMng:Fonctions membres publiques | |
| void | build (IParallelSuperMng *parallel_mng, ITraceMng *trace) |
| Constructeur effectif. | |
| void | build (IMesh *mesh) |
| Construit l'instance associée au maillage mesh. | |
| ConstArrayView< ItemTypeInfo * > | types () const |
| Liste des types disponibles. | |
| ItemTypeInfo * | typeFromId (Integer id) const |
| Type correspondant au numéro id. | |
| ItemTypeInfo * | typeFromId (ItemTypeId id) const |
| Type correspondant au numéro id. | |
| String | typeName (Integer id) const |
| Nom du type correspondant au numéro id. | |
| String | typeName (ItemTypeId id) const |
| Nom du type correspondant au numéro id. | |
| void | printTypes (std::ostream &ostr) |
| Affiche les infos sur les types disponibles sur le flot ostr. | |
| bool | hasGeneralCells (IMesh *mesh) const |
| Indique si le maillage mesh contient des mailles génériques (en dehors des types intégrés ou additionnels) | |
| void | setMeshWithGeneralCells (IMesh *mesh) noexcept |
| Permet au maillage d'indiquer à l'ItemTypeMng s'il a des mailles génériques. | |
| void | buildPolygonTypes () |
| Construit les types pour gérer les polygones. | |
| ItemTypeId | getPolygonType (Int16 nb_node) const |
| Retourne le type pour un polygone ayant nb_node. | |
Fonctions membres publiques statiques | |
| static ItemTypeMng * | singleton () |
| Instance singleton du type. | |
| static void | destroySingleton () |
| Détruit le singleton. | |
| static Integer | nbBasicItemType () |
| nombre de types disponibles | |
| static Integer | nbBuiltInItemType () |
| nombre de types intégrés (hors types additionnels) | |
| static Int32 | nbHChildrenByItemType (Integer type) |
| AMR. | |
Fonctions membres protégées | |
| ItemTypeMng () | |
| Constructeur vide (non initialisé) | |
Fonctions membres privées | |
| void | _buildSingleton (IParallelSuperMng *parallel_mng, ITraceMng *trace) |
| void | _buildTypes (IMesh *mesh, IParallelSuperMng *parallel_mng, ITraceMng *trace) |
| Construit les types des entités. | |
| void | _readTypes (IParallelSuperMng *parallel_mng, const String &filename) |
| Lecture des types a partir d'un fichier de nom filename. | |
| void | _addPolygonType (Int16 type_id, Int32 nb_node, const String &type_name) |
| Ajoute un type polygone générique. | |
Fonctions membres privées statiques | |
| static ItemTypeMng * | _singleton () |
| Instance singleton du type. | |
| static void | _destroySingleton () |
| Détruit le singleton. | |
| static String | _legacyTypeName (Integer t) |
Attributs privés | |
| friend | ItemTypeInfo |
| friend | ItemTypeInfoBuilder |
| bool | m_initialized = false |
| Flag d'initialisation. | |
| std::atomic< Int32 > | m_initialized_counter = 0 |
| ITraceMng * | m_trace = nullptr |
| Gestionnaire de traces. | |
| UniqueArray< ItemTypeInfo * > | m_types |
| Liste des types. | |
| MultiBufferT< ItemTypeInfoBuilder > * | m_types_buffer = nullptr |
| Allocations des objets de type (il faut un pointeur pour éviter inclusion multiple) | |
| std::set< IMesh * > | m_mesh_with_general_cells |
| Ensemble des maillages contenant des mailles générales (sans type défini) | |
| UniqueArray< Integer > | m_ids_buffer |
| Tableau contenant les données de type. | |
| bool | m_has_polygon_type = false |
| Indique si les types gérant les polygones ont déjà été construits. | |
Attributs privés statiques | |
| static ItemTypeMng * | singleton_instance = 0 |
| Instance singleton. | |
| static const Integer | m_nb_builtin_item_type = NB_BASIC_ITEM_TYPE |
| Nombre de types intégrés (hors types additionnels) | |
Amis | |
| class | mesh::DynamicMesh |
| class | mesh::PolyhedralMesh |
| class | Application |
| class | ArcaneMain |
| class | Item |
Gestionnaire des types d'entités d'un maillage.
Il faut appeler build(IMesh*) avant de pouvoir utiliser cette instance.
Les types souhaités (autre que les types par défaut) doivent être ajoutés avant que le premier maillage ne soit créé. Il n'est pas possible de créer de nouveaux types pendant l'exécution.
Les types disponibles doivent être strictement identiques pour tous les processus (i.e Tous les ItemTypeMng de tous les processus doivent avoir les mêmes types).
Définition à la ligne 64 du fichier ItemTypeMng.h.
|
protected |
Constructeur vide (non initialisé)
Définition à la ligne 60 du fichier ItemTypeMng.cc.
Référencé par _singleton(), et singleton().
Voici le graphe des appelants de cette fonction :
|
protected |
Définition à la ligne 68 du fichier ItemTypeMng.cc.
|
private |
Ajoute un type polygone générique.
Ajoute un type polygone d'ordre 1 avec nb_node noeuds. Le type aura comme index type_id et comme nom type_name.
Définition à la ligne 1113 du fichier ItemTypeMng.cc.
Références Arcane::ItemTypeInfoBuilder::addEdge(), Arcane::ItemTypeInfoBuilder::addFaceLine(), m_types, et m_types_buffer.
Référencé par _buildTypes(), et buildPolygonTypes().
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :
|
private |
Définition à la ligne 102 du fichier ItemTypeMng.cc.
|
private |
Construit les types des entités.
Définition à la ligne 131 du fichier ItemTypeMng.cc.
Références _addPolygonType(), _readTypes(), Arcane::ItemTypeInfoBuilder::addEdge(), Arcane::ItemTypeInfoBuilder::addEdge2D(), Arcane::ItemTypeInfoBuilder::addEdgeAndFaceLine(), Arcane::ItemTypeInfoBuilder::addFaceHeptagon(), Arcane::ItemTypeInfoBuilder::addFaceHexagon(), Arcane::ItemTypeInfoBuilder::addFaceLine(), Arcane::ItemTypeInfoBuilder::addFaceLine3(), Arcane::ItemTypeInfoBuilder::addFaceLine4(), Arcane::ItemTypeInfoBuilder::addFaceOctogon(), Arcane::ItemTypeInfoBuilder::addFacePentagon(), Arcane::ItemTypeInfoBuilder::addFaceQuad(), Arcane::ItemTypeInfoBuilder::addFaceQuad8(), Arcane::ItemTypeInfoBuilder::addFaceQuad9(), Arcane::ItemTypeInfoBuilder::addFaceTriangle(), Arcane::ItemTypeInfoBuilder::addFaceTriangle6(), Arcane::ItemTypeInfoBuilder::addFaceVertex(), ARCANE_FATAL, Arcane::ItemTypeInfoBuilder::computeFaceEdgeInfos(), Arcane::platform::getEnvironmentVariable(), m_nb_builtin_item_type, m_trace, m_types, m_types_buffer, Arcane::String::null(), Arcane::ItemTypeInfoBuilder::setHasCenterNode(), Arcane::ItemTypeInfoBuilder::setIsValidForCell(), et Arcane::ItemTypeInfoBuilder::setOrder().
Référencé par build().
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :
|
staticprivate |
Détruit le singleton.
Le singleton peut ensuite être reconstruit par appel à destroySingleton()
Définition à la ligne 1371 du fichier ItemTypeMng.cc.
Références singleton_instance.
Référencé par Arcane::ArcaneMain::arcaneFinalize(), et destroySingleton().
Voici le graphe des appelants de cette fonction :Définition à la ligne 1433 du fichier ItemTypeMng.cc.
|
private |
Lecture des types a partir d'un fichier de nom filename.
Lecture d'un fichier de types voronoi.
Une cellule voronoi est un polytope dont le nombre de faces et de noeuds varie d'une cellule a l'autre. Ici, le type de chaque cellule est lu dans un fichier de types associe a un maillage d'entree donne. Ce fichier est passe dans la variable d'environnement: ARCANE_ITEM_TYPE_FILE Ex: setenv ARCANE_ITEM_TYPE_FILE PATH_TO_FILE/item_file Le format du fichier est la suivante:
nb_type type_id nb_faces nb_edges nb_node_face0 node0_face0 ... nodeN_face1 . . . . . . . . . nb_node_faceN node0_faceN ... nodeN_faceN
node0_edge0 node1_edge1 lefFace_edge0 rightFace_edge0 node0_edgeN node1_edge1 lefFace_edgeN rightFace_edgeN
Définition à la ligne 1183 du fichier ItemTypeMng.cc.
Références Arcane::ItemTypeInfoBuilder::addEdge(), Arcane::ItemTypeInfoBuilder::addFaceGeneric(), Arcane::ItemTypeInfoBuilder::addFaceLine(), ARCANE_FATAL, ARCANE_THROW, Arcane::arcaneCheckArraySize(), Arcane::IParallelSuperMng::broadcast(), Arcane::IParallelSuperMng::commRank(), Arcane::platform::getFileLength(), Arcane::Trace::High, Arcane::String::localstr(), m_trace, m_types, m_types_buffer, nbBuiltInItemType(), et Arcane::ItemTypeInfo::typeName().
Référencé par _buildTypes().
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :
|
staticprivate |
Instance singleton du type.
Le singleton est créé lors du premier appel à cette fonction. Il reste valide tant que destroySingleton() n'a pas été appelé
Définition à la ligne 1363 du fichier ItemTypeMng.cc.
Références ItemTypeMng(), et singleton_instance.
Référencé par Arcane::ArcaneMain::arcaneInitialize(), Arcane::Application::initialize(), nbBasicItemType(), et singleton().
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :| void Arcane::ItemTypeMng::build | ( | IMesh * | mesh | ) |
Construit l'instance associée au maillage mesh.
Définition à la ligne 77 du fichier ItemTypeMng.cc.
Références _buildTypes(), ARCANE_FATAL, et m_initialized.
Voici le graphe d'appel pour cette fonction :| void Arcane::ItemTypeMng::build | ( | IParallelSuperMng * | parallel_mng, |
| ITraceMng * | trace ) |
Constructeur effectif.
Cette méthode ne doit être appelée que pout initialiser l'instance singleton qui est obsolète.
Définition à la ligne 93 du fichier ItemTypeMng.cc.
Référencé par Arcane::Application::initialize().
Voici le graphe des appelants de cette fonction :| void Arcane::ItemTypeMng::buildPolygonTypes | ( | ) |
Construit les types pour gérer les polygones.
Cela permet de rendre accessible le type ITI_GenericPolygon. Si ces types ont déjà été construit, cette méthode est sans effet.
Définition à la ligne 1084 du fichier ItemTypeMng.cc.
Références _addPolygonType(), m_has_polygon_type, m_types, et typeFromId().
Voici le graphe d'appel pour cette fonction :
|
inlinestatic |
Détruit le singleton.
Le singleton peut ensuite être reconstruit par appel à singleton()
Définition à la ligne 136 du fichier ItemTypeMng.h.
Références _destroySingleton(), et destroySingleton().
Référencé par destroySingleton().
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :| ItemTypeId Arcane::ItemTypeMng::getPolygonType | ( | Int16 | nb_node | ) | const |
Retourne le type pour un polygone ayant nb_node.
Si nb_node est comprise entre 3 et 8 inclus, retourne le type interne correspondant (ITI_Triangle3, ITI_Quad4, ..., ITI_Octogon8). Sinon, retourne le type additionnel à condition que buildPolygonTypes() ait été appelé avant.
Lève une exception NotSupportedException si aucun type ne correspond.
Définition à la ligne 1467 du fichier ItemTypeMng.cc.
Références ARCANE_THROW, et m_has_polygon_type.
| bool Arcane::ItemTypeMng::hasGeneralCells | ( | IMesh * | mesh | ) | const |
Indique si le maillage mesh contient des mailles génériques (en dehors des types intégrés ou additionnels)
Définition à la ligne 1444 du fichier ItemTypeMng.cc.
Références m_mesh_with_general_cells.
Référencé par Arcane::DumpWEnsight7::_computeGroupParts().
Voici le graphe des appelants de cette fonction :
|
static |
nombre de types disponibles
Définition à la ligne 1307 du fichier ItemTypeMng.cc.
Références _singleton(), et types().
Référencé par Arcane::DumpWEnsight7::_computeGroupParts(), et Arcane::VoronoiMeshIOService::_readCellsHybridGrid().
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :
|
static |
nombre de types intégrés (hors types additionnels)
Définition à la ligne 1313 du fichier ItemTypeMng.cc.
Références m_nb_builtin_item_type.
Référencé par Arcane::DumpWEnsight7::_computeGroupParts(), Arcane::VoronoiMeshIOService::_readCellsHybridGrid(), et _readTypes().
Voici le graphe des appelants de cette fonction :AMR.
Définition à la ligne 1322 du fichier ItemTypeMng.cc.
Références ARCANE_FATAL.
Référencé par Arcane::mesh::MeshRefinement::init(), et Arcane::mesh::ItemRefinement::refineOneCell().
Voici le graphe des appelants de cette fonction :| void Arcane::ItemTypeMng::printTypes | ( | std::ostream & | ostr | ) |
Affiche les infos sur les types disponibles sur le flot ostr.
Définition à la ligne 1133 du fichier ItemTypeMng.cc.
Références Arcane::ItemTypeInfo::localFace(), m_initialized, m_types, Arcane::ItemTypeInfo::nbLocalFace(), Arcane::ItemTypeInfo::nbLocalNode(), Arcane::ItemTypeInfo::LocalFace::nbNode(), Arcane::ItemTypeInfo::LocalFace::node(), Arcane::ItemTypeInfo::typeId(), et Arcane::ItemTypeInfo::typeName().
Voici le graphe d'appel pour cette fonction :
|
noexcept |
Permet au maillage d'indiquer à l'ItemTypeMng s'il a des mailles génériques.
Définition à la ligne 1457 du fichier ItemTypeMng.cc.
Références m_mesh_with_general_cells.
|
inlinestatic |
Instance singleton du type.
Le singleton est créé lors du premier appel à cette fonction. Il reste valide tant que destroySingleton() n'a pas été appelé
Définition à la ligne 128 du fichier ItemTypeMng.h.
Références _singleton(), ItemTypeMng(), et singleton().
Référencé par singleton().
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :| ItemTypeInfo * Arcane::ItemTypeMng::typeFromId | ( | Integer | id | ) | const |
Type correspondant au numéro id.
Définition à la ligne 1394 du fichier ItemTypeMng.cc.
Références m_initialized, et m_types.
Référencé par Arcane::mesh::FaceUniqueIdBuilder::_computeFacesUniqueIdsParallelV1(), Arcane::mesh::FaceUniqueIdBuilder::_computeFacesUniqueIdsParallelV2(), Arcane::VoronoiMeshIOService::_readCellsHybridGrid(), Arcane::MshParallelMeshReader::_readElementsFromFile(), Arcane::MEDMeshReader::_readFaces(), Arcane::LimaMalippReaderT< ReaderWrapper >::_readMeshPart(), Arcane::VtkMeshIOService::_readUnstructuredGrid(), Arcane::mesh::DynamicMeshIncrementalBuilder::addCells(), Arcane::mesh::DynamicMeshIncrementalBuilder::addFaces(), Arcane::mesh::DynamicMeshIncrementalBuilder::addHChildrenCells(), Arcane::mesh::OneMeshItemAdder::addOneParentItem(), buildPolygonTypes(), Arcane::mesh::FullCellInfo::FullCellInfo(), Arcane::UnstructuredMeshUtilities::getFacesLocalIdFromConnectivity(), Arcane::mesh::ItemFamily::readFromDump(), typeName(), et typeName().
Voici le graphe des appelants de cette fonction :| ItemTypeInfo * Arcane::ItemTypeMng::typeFromId | ( | ItemTypeId | id | ) | const |
Type correspondant au numéro id.
Définition à la ligne 1404 du fichier ItemTypeMng.cc.
Références m_initialized, et m_types.
Nom du type correspondant au numéro id.
Définition à la ligne 1414 du fichier ItemTypeMng.cc.
Références typeFromId(), et Arcane::ItemTypeInfo::typeName().
Voici le graphe d'appel pour cette fonction :| String Arcane::ItemTypeMng::typeName | ( | ItemTypeId | id | ) | const |
Nom du type correspondant au numéro id.
Définition à la ligne 1423 du fichier ItemTypeMng.cc.
Références typeFromId(), et Arcane::ItemTypeInfo::typeName().
Voici le graphe d'appel pour cette fonction :| ConstArrayView< ItemTypeInfo * > Arcane::ItemTypeMng::types | ( | ) | const |
Liste des types disponibles.
Définition à la ligne 1384 du fichier ItemTypeMng.cc.
Références m_initialized, et m_types.
Référencé par nbBasicItemType().
Voici le graphe des appelants de cette fonction :
|
friend |
Définition à la ligne 69 du fichier ItemTypeMng.h.
|
friend |
Définition à la ligne 70 du fichier ItemTypeMng.h.
|
friend |
Définition à la ligne 71 du fichier ItemTypeMng.h.
|
friend |
Définition à la ligne 67 du fichier ItemTypeMng.h.
|
friend |
Définition à la ligne 68 du fichier ItemTypeMng.h.
|
private |
Définition à la ligne 72 du fichier ItemTypeMng.h.
|
private |
Définition à la ligne 73 du fichier ItemTypeMng.h.
|
private |
Indique si les types gérant les polygones ont déjà été construits.
Définition à la ligne 222 du fichier ItemTypeMng.h.
Référencé par buildPolygonTypes(), et getPolygonType().
|
private |
Tableau contenant les données de type.
Définition à la ligne 219 du fichier ItemTypeMng.h.
|
private |
Flag d'initialisation.
Définition à la ligne 202 du fichier ItemTypeMng.h.
Référencé par build(), printTypes(), typeFromId(), typeFromId(), et types().
|
private |
Définition à la ligne 204 du fichier ItemTypeMng.h.
|
private |
Ensemble des maillages contenant des mailles générales (sans type défini)
Définition à la ligne 216 du fichier ItemTypeMng.h.
Référencé par hasGeneralCells(), et setMeshWithGeneralCells().
|
staticprivate |
Nombre de types intégrés (hors types additionnels)
Définition à la ligne 199 du fichier ItemTypeMng.h.
Référencé par _buildTypes(), et nbBuiltInItemType().
|
private |
Gestionnaire de traces.
Définition à la ligne 207 du fichier ItemTypeMng.h.
Référencé par _buildTypes(), et _readTypes().
|
private |
Liste des types.
Définition à la ligne 210 du fichier ItemTypeMng.h.
Référencé par _addPolygonType(), _buildTypes(), _readTypes(), buildPolygonTypes(), printTypes(), typeFromId(), typeFromId(), et types().
|
private |
Allocations des objets de type (il faut un pointeur pour éviter inclusion multiple)
Définition à la ligne 213 du fichier ItemTypeMng.h.
Référencé par _addPolygonType(), _buildTypes(), et _readTypes().
|
staticprivate |
Instance singleton.
Définition à la ligne 196 du fichier ItemTypeMng.h.
Référencé par _destroySingleton(), et _singleton().