Arcane  v3.16.0.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< Integerm_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< Int32m_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érences m_initialized, et m_types_buffer.

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

+ Voici le graphe des appelants de cette fonction :

◆ ~ItemTypeMng()

Arcane::ItemTypeMng::~ItemTypeMng ( )
protected

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

Documentation des fonctions membres

◆ _build()

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

SDP: Pour les polygones les faces et les aretes sont identiques.

Note
lors des declarations des aretes, on donne pour faces les aretes qui sont jointes a l'arete courante

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

Références Arcane::ItemTypeInfoBuilder::addEdge(), 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 readTypes().

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 1119 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 1181 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 1111 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()

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

Constructeur effectif.

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

Références _build(), Arcane::IParallelSuperMng::commSize(), et m_initialized.

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

+ Voici le graphe d'appel pour cette fonction :
+ 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 122 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 1192 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 1055 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 1061 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 1070 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 881 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 :

◆ 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 931 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 _build().

+ Voici le graphe d'appel pour cette fonction :
+ Voici le graphe des appelants de 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 1204 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 114 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 1152 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 1162 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 1171 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 1132 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 70 du fichier ItemTypeMng.h.

◆ ArcaneMain

friend class ArcaneMain
friend

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

friend class mesh::DynamicMesh
friend

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

◆ mesh::PolyhedralMesh

friend class mesh::PolyhedralMesh
friend

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

Documentation des données membres

◆ m_ids_buffer

UniqueArray<Integer> Arcane::ItemTypeMng::m_ids_buffer

Tampon d'allocation des données de type.

Ce champs est public en attendant d'affiner la gestion de l'accès.

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

◆ 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(), ItemTypeMng(), 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(), 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 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(), ItemTypeMng(), 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 :