Arcane  v3.16.2.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::ItemTypeMng

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.
 
ItemTypeInfotypeFromId (Integer id) const
 Type correspondant au numéro id.
 
ItemTypeInfotypeFromId (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.
 

Fonctions membres publiques statiques

static ItemTypeMngsingleton ()
 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.
 

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< Int32m_initialized_counter = 0
 
ITraceMngm_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< Integerm_ids_buffer
 Tableau contenant les données de type.
 

Attributs privés statiques

static ItemTypeMngsingleton_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
 

Description détaillée

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.

Documentation des constructeurs et destructeur

◆ ItemTypeMng()

Arcane::ItemTypeMng::ItemTypeMng ( )
protected

Constructeur vide (non initialisé)

Définition à la ligne 55 du fichier ItemTypeMng.cc.

Référencé par _singleton(), et singleton().

+ Voici le graphe des appelants de cette fonction :

◆ ~ItemTypeMng()

Arcane::ItemTypeMng::~ItemTypeMng ( )
protected

Définition à la ligne 63 du fichier ItemTypeMng.cc.

Documentation des fonctions membres

◆ _buildSingleton()

void Arcane::ItemTypeMng::_buildSingleton ( IParallelSuperMng * parallel_mng,
ITraceMng * trace )
private

Définition à la ligne 97 du fichier ItemTypeMng.cc.

◆ _buildTypes()

void Arcane::ItemTypeMng::_buildTypes ( IMesh * mesh,
IParallelSuperMng * parallel_mng,
ITraceMng * trace )
private

Construit les types des entités.

Note
Pour l'instance singleton, mesh est nul.

SDP: Pour les polygones les faces et les arêtes sont identiques.

Note
lors des declarations des arêtes, on donne pour faces les arêtes qui sont jointes a l'arête courante

Définition à la ligne 126 du fichier ItemTypeMng.cc.

Références _readTypes(), Arcane::ItemTypeInfoBuilder::addEdge(), Arcane::ItemTypeInfoBuilder::addEdge2D(), Arcane::ItemTypeInfoBuilder::addEdgeAndFaceLine(), Arcane::ItemTypeInfoBuilder::addFaceHeptagon(), Arcane::ItemTypeInfoBuilder::addFaceHexagon(), Arcane::ItemTypeInfoBuilder::addFaceLine(), Arcane::ItemTypeInfoBuilder::addFaceLine3(), Arcane::ItemTypeInfoBuilder::addFaceOctogon(), Arcane::ItemTypeInfoBuilder::addFacePentagon(), Arcane::ItemTypeInfoBuilder::addFaceQuad(), Arcane::ItemTypeInfoBuilder::addFaceQuad8(), 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(), 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 :

◆ _destroySingleton()

void Arcane::ItemTypeMng::_destroySingleton ( )
staticprivate

Détruit le singleton.

Le singleton peut ensuite être reconstruit par appel à destroySingleton()

Définition à la ligne 1153 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 :

◆ _legacyTypeName()

String Arcane::ItemTypeMng::_legacyTypeName ( Integer t)
staticprivate

Définition à la ligne 1215 du fichier ItemTypeMng.cc.

◆ _readTypes()

void Arcane::ItemTypeMng::_readTypes ( IParallelSuperMng * pm,
const String & filename )
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 965 du fichier ItemTypeMng.cc.

Références Arcane::ItemTypeInfoBuilder::addEdge(), Arcane::ItemTypeInfoBuilder::addFaceGeneric(), Arcane::ItemTypeInfoBuilder::addFaceLine(), Arcane::arcaneCheckArraySize(), Arcane::IParallelSuperMng::broadcast(), Arcane::IParallelSuperMng::commRank(), Arcane::Array< DataType >::data(), Arcane::platform::getFileLength(), Arcane::Trace::High, Arcane::String::localstr(), m_trace, m_types, m_types_buffer, nbBuiltInItemType(), Arcane::Array< DataType >::resize(), Arcane::AbstractArray< T >::size(), Arcane::ItemTypeInfo::typeName(), et Arcane::Array< DataType >::unguardedBasePointer().

Référencé par _buildTypes().

+ Voici le graphe d'appel pour cette fonction :
+ Voici le graphe des appelants de cette fonction :

◆ _singleton()

ItemTypeMng * Arcane::ItemTypeMng::_singleton ( )
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é

A faire
: a supprimer dès que plus personne ne fera d'accès à singleton()

Définition à la ligne 1145 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 :

◆ build() [1/2]

void Arcane::ItemTypeMng::build ( IMesh * mesh)

Construit l'instance associée au maillage mesh.

Définition à la ligne 72 du fichier ItemTypeMng.cc.

Références _buildTypes(), ARCANE_FATAL, et m_initialized.

+ Voici le graphe d'appel pour cette fonction :

◆ build() [2/2]

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.

Obsolète
Utiliser build(IMesh*) à la place.

Définition à la ligne 88 du fichier ItemTypeMng.cc.

Référencé par Arcane::Application::initialize().

+ Voici le graphe des appelants de cette fonction :

◆ destroySingleton()

static void Arcane::ItemTypeMng::destroySingleton ( )
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 :

◆ hasGeneralCells()

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 1226 du fichier ItemTypeMng.cc.

Références m_mesh_with_general_cells.

◆ nbBasicItemType()

Integer Arcane::ItemTypeMng::nbBasicItemType ( )
static

nombre de types disponibles

Définition à la ligne 1089 du fichier ItemTypeMng.cc.

Références _singleton(), et types().

Référencé par Arcane::ItemGroupImpl::_computeChildrenByType(), Arcane::ItemGroupImpl::_computeChildrenByTypeV2(), Arcane::DumpWEnsight7::_computeGroupParts(), Arcane::ItemGroupImpl::_initChildrenByType(), Arcane::ItemGroupImpl::_initChildrenByTypeV2(), et Arcane::VoronoiMeshIOService::_readCellsHybridGrid().

+ Voici le graphe d'appel pour cette fonction :
+ Voici le graphe des appelants de cette fonction :

◆ nbBuiltInItemType()

Integer Arcane::ItemTypeMng::nbBuiltInItemType ( )
static

nombre de types intégrés (hors types additionnels)

Définition à la ligne 1095 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 :

◆ nbHChildrenByItemType()

Int32 Arcane::ItemTypeMng::nbHChildrenByItemType ( Integer type)
static

AMR.

Définition à la ligne 1104 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 :

◆ printTypes()

void Arcane::ItemTypeMng::printTypes ( std::ostream & ostr)

Affiche les infos sur les types disponibles sur le flot ostr.

Définition à la ligne 915 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 :

◆ setMeshWithGeneralCells()

void Arcane::ItemTypeMng::setMeshWithGeneralCells ( IMesh * mesh)
noexcept

Permet au maillage d'indiquer à l'ItemTypeMng s'il a des mailles génériques.

Définition à la ligne 1238 du fichier ItemTypeMng.cc.

Références m_mesh_with_general_cells.

◆ singleton()

static ItemTypeMng * Arcane::ItemTypeMng::singleton ( )
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 :

◆ typeFromId() [1/2]

◆ typeFromId() [2/2]

ItemTypeInfo * Arcane::ItemTypeMng::typeFromId ( ItemTypeId id) const

Type correspondant au numéro id.

Définition à la ligne 1186 du fichier ItemTypeMng.cc.

Références m_initialized, et m_types.

◆ typeName() [1/2]

String Arcane::ItemTypeMng::typeName ( Integer id) const

Nom du type correspondant au numéro id.

Définition à la ligne 1196 du fichier ItemTypeMng.cc.

Références typeFromId(), et Arcane::ItemTypeInfo::typeName().

Référencé par Arcane::ItemGroupImpl::_computeChildrenByTypeV2(), et Arcane::ItemGroupImpl::_initChildrenByType().

+ Voici le graphe d'appel pour cette fonction :
+ Voici le graphe des appelants de cette fonction :

◆ typeName() [2/2]

String Arcane::ItemTypeMng::typeName ( ItemTypeId id) const

Nom du type correspondant au numéro id.

Définition à la ligne 1205 du fichier ItemTypeMng.cc.

Références typeFromId(), et Arcane::ItemTypeInfo::typeName().

+ Voici le graphe d'appel pour cette fonction :

◆ types()

ConstArrayView< ItemTypeInfo * > Arcane::ItemTypeMng::types ( ) const

Liste des types disponibles.

Définition à la ligne 1166 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 :

Documentation des fonctions amies et associées

◆ Application

friend class Application
friend

Définition à la ligne 69 du fichier ItemTypeMng.h.

◆ ArcaneMain

friend class ArcaneMain
friend

Définition à la ligne 70 du fichier ItemTypeMng.h.

◆ Item

friend class Item
friend

Définition à la ligne 71 du fichier ItemTypeMng.h.

◆ mesh::DynamicMesh

friend class mesh::DynamicMesh
friend

Définition à la ligne 67 du fichier ItemTypeMng.h.

◆ mesh::PolyhedralMesh

friend class mesh::PolyhedralMesh
friend

Définition à la ligne 68 du fichier ItemTypeMng.h.

Documentation des données membres

◆ ItemTypeInfo

friend Arcane::ItemTypeMng::ItemTypeInfo
private

Définition à la ligne 72 du fichier ItemTypeMng.h.

◆ ItemTypeInfoBuilder

friend Arcane::ItemTypeMng::ItemTypeInfoBuilder
private

Définition à la ligne 73 du fichier ItemTypeMng.h.

◆ m_ids_buffer

UniqueArray<Integer> Arcane::ItemTypeMng::m_ids_buffer
private

Tableau contenant les données de type.

Définition à la ligne 199 du fichier ItemTypeMng.h.

◆ m_initialized

bool Arcane::ItemTypeMng::m_initialized = false
private

Flag d'initialisation.

Définition à la ligne 182 du fichier ItemTypeMng.h.

Référencé par build(), printTypes(), typeFromId(), typeFromId(), et types().

◆ m_initialized_counter

std::atomic<Int32> Arcane::ItemTypeMng::m_initialized_counter = 0
private

Définition à la ligne 184 du fichier ItemTypeMng.h.

◆ m_mesh_with_general_cells

std::set<IMesh*> Arcane::ItemTypeMng::m_mesh_with_general_cells
private

Ensemble des maillages contenant des mailles générales (sans type défini)

Définition à la ligne 196 du fichier ItemTypeMng.h.

Référencé par hasGeneralCells(), et setMeshWithGeneralCells().

◆ m_nb_builtin_item_type

const Integer Arcane::ItemTypeMng::m_nb_builtin_item_type = NB_BASIC_ITEM_TYPE
staticprivate

Nombre de types intégrés (hors types additionnels)

Définition à la ligne 179 du fichier ItemTypeMng.h.

Référencé par _buildTypes(), et nbBuiltInItemType().

◆ m_trace

ITraceMng* Arcane::ItemTypeMng::m_trace = nullptr
private

Gestionnaire de traces.

Définition à la ligne 187 du fichier ItemTypeMng.h.

Référencé par _buildTypes(), et _readTypes().

◆ m_types

UniqueArray<ItemTypeInfo*> Arcane::ItemTypeMng::m_types
private

Liste des types.

Définition à la ligne 190 du fichier ItemTypeMng.h.

Référencé par _buildTypes(), _readTypes(), printTypes(), typeFromId(), typeFromId(), et types().

◆ m_types_buffer

MultiBufferT<ItemTypeInfoBuilder>* Arcane::ItemTypeMng::m_types_buffer = nullptr
private

Allocations des objets de type (il faut un pointeur pour éviter inclusion multiple)

Définition à la ligne 193 du fichier ItemTypeMng.h.

Référencé par _buildTypes(), et _readTypes().

◆ singleton_instance

ItemTypeMng * Arcane::ItemTypeMng::singleton_instance = 0
staticprivate

Instance singleton.

Définition à la ligne 176 du fichier ItemTypeMng.h.

Référencé par _destroySingleton(), et _singleton().


La documentation de cette classe a été générée à partir des fichiers suivants :