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

Gestionnaire des types d'entités de 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.
 
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.
 

Attributs publics

UniqueArray< Integer > m_ids_buffer
 Tampon d'allocation des données de type.
 

Fonctions membres protégées

 ItemTypeMng ()
 Constructeur vide (non initialisé)
 

Fonctions membres privées

void readTypes (IParallelSuperMng *parallel_mng, const String &filename)
 Lecture des types a partir d'un fichier de nom filename.
 
void _build (IParallelSuperMng *parallel_mng, ITraceMng *trace)
 

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

bool m_initialized = false
 Flag d'initialisation.
 
std::atomic< Int32 > m_initialized_counter
 
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 eviter inclusion multiple)
 
std::set< IMesh * > m_mesh_with_general_cells
 Ensemble des maillages contenant des mailles générales (sans type défini)
 

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 de maillage.

Il n'existe qu'une seule instance de ce gestionnaire (singleton).

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).

A faire:
Ajouter les méthodes pour ajouter un nouveau type

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

Documentation des constructeurs et destructeur

◆ ItemTypeMng()

Arcane::ItemTypeMng::ItemTypeMng ( )
protected

Constructeur vide (non initialisé)

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

Référencé par _singleton().

◆ ~ItemTypeMng()

Arcane::ItemTypeMng::~ItemTypeMng ( )
protected

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

Documentation des fonctions membres

◆ _build()

◆ _destroySingleton()

void Arcane::ItemTypeMng::_destroySingleton ( )
staticprivate

Détruit le singleton.

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

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

Références singleton_instance.

Référencé par Arcane::ArcaneMain::arcaneFinalize().

◆ _legacyTypeName()

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

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

◆ _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 1076 du fichier ItemTypeMng.cc.

Références ItemTypeMng(), et singleton_instance.

Référencé par Arcane::ArcaneMain::arcaneInitialize(), Arcane::Application::initialize(), et nbBasicItemType().

◆ build()

void Arcane::ItemTypeMng::build ( IParallelSuperMng parallel_mng,
ITraceMng trace 
)

Constructeur effectif.

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

Références _build(), et m_initialized.

◆ destroySingleton()

static void Arcane::ItemTypeMng::destroySingleton ( )
inlinestatic

Détruit le singleton.

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

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

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

Références m_mesh_with_general_cells.

◆ nbBasicItemType()

◆ nbBuiltInItemType()

Integer Arcane::ItemTypeMng::nbBuiltInItemType ( )
static

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

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

Références m_nb_builtin_item_type.

Référencé par Arcane::DumpWEnsight7::_computeGroupParts(), Arcane::VoronoiMeshIOService::_readCellsHybridGrid(), et readTypes().

◆ nbHChildrenByItemType()

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

AMR.

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

Références ARCANE_FATAL.

◆ printTypes()

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

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

Références Arcane::ItemTypeInfoBuilder::addEdge(), Arcane::ItemTypeInfoBuilder::addFaceGeneric(), Arcane::arcaneCheckArraySize(), Arcane::IParallelMng::commRank(), Arccore::ITraceMng::debug(), Arccore::Trace::High, Arccore::ITraceMng::info(), Arccore::String::localstr(), m_trace, m_types, m_types_buffer, nbBuiltInItemType(), et Arcane::ItemTypeInfo::typeName().

Référencé par _build().

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

◆ 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 114 du fichier ItemTypeMng.h.

◆ typeFromId() [1/2]

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

Type correspondant au numéro id.

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

Références m_initialized, et m_types.

Référencé par Arcane::mesh::OneMeshItemAdder::addOneCell(), typeName(), et typeName().

◆ typeFromId() [2/2]

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

Type correspondant au numéro id.

Définition à la ligne 1117 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 1127 du fichier ItemTypeMng.cc.

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

◆ typeName() [2/2]

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

Nom du type correspondant au numéro id.

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

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

◆ types()

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

Liste des types disponibles.

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

Références m_initialized, et m_types.

Documentation des fonctions amies et associées

◆ Application

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

◆ ArcaneMain

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

◆ Item

friend class Item
friend

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

◆ mesh::DynamicMesh

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

◆ mesh::PolyhedralMesh

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

Documentation des données membres

◆ m_ids_buffer

◆ m_initialized

bool Arcane::ItemTypeMng::m_initialized = false
private

Flag d'initialisation.

Définition à la ligne 173 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
private

Définition à la ligne 175 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 187 du fichier ItemTypeMng.h.

Référencé par hasGeneralCells().

◆ 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 170 du fichier ItemTypeMng.h.

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

◆ m_trace

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

Gestionnaire de traces.

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

Référencé par _build(), et readTypes().

◆ m_types

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

Liste des types.

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

Référencé par _build(), printTypes(), readTypes(), 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 eviter inclusion multiple)

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

Référencé par _build(), et readTypes().

◆ singleton_instance

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

Instance singleton.

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