Infos de maillage pour un genre donné d'entité. Plus de détails...
#include <arcane/mesh/DynamicMeshKindInfos.h>
Types publics | |
typedef Arcane::mesh::ItemInternalMap | ItemInternalMap |
Fonctions membres publiques | |
DynamicMeshKindInfos (IMesh *mesh, eItemKind kind, const String &kind_name) | |
Créé une instance pour un maillage et un genre donnée. | |
~DynamicMeshKindInfos () | |
Libère les ressources. | |
void | build () |
void | finalizeMeshChanged () |
Réalloue et recalcule les structures après modification du maillage. | |
Integer | maxUsedLocalId () const |
Numéro local le plus grand utilisé. | |
void | prepareForDump () |
Prépare les variables pour les sauvegardes. | |
void | readFromDump () |
Restaure les infos à partir des dumps. | |
ItemGroup | allItems () const |
Groupe de toutes les entités. | |
Int32ConstArrayView | addedItems () const |
Liste des entitées ajoutées ou retirées depuis le dernier endUpdate() | |
Int32ConstArrayView | removedItems () const |
ConstArrayView< ItemInternal * > | itemsInternal () const |
Liste interne des ItemInternal's. | |
ItemInternal * | itemInternal (Int32 local_id) const |
ItemInternal * | allocOne (Int64 unique_id) |
Ajoute une entité de numéro unique unique_id. | |
ItemInternal * | allocOne (Int64 unique_id, bool &need_alloc) |
Ajoute une entité de numéro unique unique_id. | |
void | removeOne (ItemInternal *item) |
Supprime l'entité item. | |
void | removeDetachedOne (ItemInternal *item) |
Supprime l'entité détachée item. | |
void | detachOne (ItemInternal *item) |
Détache une l'entité item. | |
void | removeMany (Int32ConstArrayView local_ids) |
Supprime une liste d'entités. | |
ItemInternal * | findOrAllocOne (Int64 uid, bool &is_alloc) |
Recherche l'entité de numéro unique unique_id et la créé si elle n'existe pas. | |
ItemInternal * | findOne (Int64 uid) |
Recherche l'entité de numéro unique uid. | |
void | checkValid () |
Vérifie si les structures internes de l'instance sont valides. | |
ItemInternalMap & | itemsMap () |
Integer | nbItem () const |
eItemKind | kind () const |
bool | changed () const |
void | beginCompactItems (ItemFamilyCompactInfos &compact_infos) |
Calcule les nouveaux id locaux des entités pour qu'ils soient consécutifs. | |
ARCANE_DEPRECATED_240 Int32ConstArrayView | oldToNewLocalIds () const |
Conversion entre les anciens et les nouveaux id locaux. | |
void | clear () |
Supprime toutes les entités. | |
ARCANE_DEPRECATED_240 Int32ConstArrayView | newToOldLocalIds () const |
Conversion entre les nouveaux et les anciens id locaux. | |
void | finishCompactItems (ItemFamilyCompactInfos &compact_infos) |
void | itemsUniqueIdToLocalId (ArrayView< Int64 > ids, bool do_fatal) const |
void | itemsUniqueIdToLocalId (Int32ArrayView local_ids, Int64ConstArrayView unique_ids, bool do_fatal) const |
void | itemsUniqueIdToLocalId (Int32ArrayView local_ids, ConstArrayView< ItemUniqueId > unique_ids, bool do_fatal) const |
ItemFamily * | itemFamily () const |
void | setItemFamily (ItemFamily *item_family) |
bool | hasUniqueIdMap () const |
void | setHasUniqueIdMap (bool v) |
void | printFreeInternals (Integer max_print) |
Fonctions membres publiques hérités de Arccore::TraceAccessor | |
TraceAccessor (ITraceMng *m) | |
Construit un accesseur via le gestionnaire de trace m. | |
TraceAccessor (const TraceAccessor &rhs) | |
Constructeur par recopie. | |
TraceAccessor & | operator= (const TraceAccessor &rhs) |
Opérateur de recopie. | |
virtual | ~TraceAccessor () |
Libère les ressources. | |
ITraceMng * | traceMng () const |
Gestionnaire de trace. | |
TraceMessage | info () const |
Flot pour un message d'information. | |
TraceMessage | pinfo () const |
Flot pour un message d'information en parallèle. | |
TraceMessage | info (char category) const |
Flot pour un message d'information d'une catégorie donnée. | |
TraceMessage | pinfo (char category) const |
Flot pour un message d'information parallèle d'une catégorie donnée. | |
TraceMessage | info (bool v) const |
Flot pour un message d'information. | |
TraceMessage | warning () const |
Flot pour un message d'avertissement. | |
TraceMessage | pwarning () const |
TraceMessage | error () const |
Flot pour un message d'erreur. | |
TraceMessage | perror () const |
TraceMessage | log () const |
Flot pour un message de log. | |
TraceMessage | plog () const |
Flot pour un message de log. | |
TraceMessage | logdate () const |
Flot pour un message de log précédé de la date. | |
TraceMessage | fatal () const |
Flot pour un message d'erreur fatale. | |
TraceMessage | pfatal () const |
Flot pour un message d'erreur fatale en parallèle. | |
TraceMessageDbg | debug (Trace::eDebugLevel=Trace::Medium) const |
Flot pour un message de debug. | |
Trace::eDebugLevel | configDbgLevel () const |
Niveau debug du fichier de configuration. | |
TraceMessage | info (Int32 verbose_level) const |
Flot pour un message d'information d'un niveau donné | |
TraceMessage | linfo () const |
Flot pour un message d'information avec le niveau d'information local à cette instance. | |
TraceMessage | linfo (Int32 relative_level) const |
Flot pour un message d'information avec le niveau d'information local à cette instance. | |
void | fatalMessage (const StandaloneTraceMessage &o) const |
Attributs publics | |
UniqueArray< ItemInternal * > | m_internals |
ItemInternal des entités. | |
Int32UniqueArray | m_free_internals |
Liste des ItemInternal de m_item_internals_buffer libres. | |
UniqueArray< ItemInternal * > | m_free_internals_in_multi_buffer |
Types privés | |
using | ItemInternalMapData = ItemInternalMap::BaseData |
Fonctions membres privées | |
ItemInternal * | _allocOne (bool &need_alloc) |
Ajoute une entité. | |
void | _setSuppressed (ItemInternal *item) |
void | _setAdded (ItemInternal *item) |
void | _checkActiveItem (ItemInternal *item) |
void | _dumpList () |
void | _badSameUniqueId (Int64 unique_id) const |
void | _badUniqueIdMap () const |
void | _updateItemSharedInfoInternalView () |
Attributs privés | |
IMesh * | m_mesh |
Maillage associé | |
ItemFamily * | m_item_family |
Famille de maillage associée. | |
eItemKind | m_kind |
Genre correspondant. | |
String | m_kind_name |
Nom du genre des entités (Node, Cell, ...) | |
String | m_all_group_name |
Nom du groupe contenant toutes les entités. | |
ItemInternalMap | m_items_map |
Table de hachage conversion uniqueId() -> ItemInternal*. | |
ItemGroup | m_all_group |
Integer | m_nb_item |
Groupe de toutes les entités. | |
bool | m_is_verbose |
Int32UniqueArray | m_added_items |
Int32UniqueArray | m_removed_items |
bool | m_use_new_finalize |
bool | m_is_first_finalize |
bool | m_has_unique_id_map |
ItemFamilyCompactInfos * | m_compact_infos |
Temporaire tant que oldToNewLocalIds() et newToOldLocalIds() existent. | |
ItemSharedInfo * | m_common_item_shared_info = nullptr |
MultiBufferT< ItemInternal > * | m_item_internals_buffer |
Tampon pour stocker une instance de ItemInternal. | |
Membres hérités additionnels | |
Fonctions membres protégées hérités de Arccore::TraceAccessor | |
void | _setLocalVerboseLevel (Int32 v) |
Int32 | _localVerboseLevel () const |
Infos de maillage pour un genre donné d'entité.
Une instance de cette classe gère toutes les structures de maillage pour une entité d'un genre donné.
Définition à la ligne 51 du fichier DynamicMeshKindInfos.h.
Définition à la ligne 57 du fichier DynamicMeshKindInfos.h.
Définition à la ligne 61 du fichier DynamicMeshKindInfos.h.
Arcane::mesh::DynamicMeshKindInfos::DynamicMeshKindInfos | ( | IMesh * | mesh, |
eItemKind | kind, | ||
const String & | kind_name | ||
) |
Créé une instance pour un maillage et un genre donnée.
Définition à la ligne 48 du fichier DynamicMeshKindInfos.cc.
Arcane::mesh::DynamicMeshKindInfos::~DynamicMeshKindInfos | ( | ) |
Libère les ressources.
Définition à la ligne 68 du fichier DynamicMeshKindInfos.cc.
Références m_item_internals_buffer.
|
inlineprivate |
Ajoute une entité.
Définition à la ligne 273 du fichier DynamicMeshKindInfos.h.
|
private |
Définition à la ligne 877 du fichier DynamicMeshKindInfos.cc.
|
private |
Définition à la ligne 887 du fichier DynamicMeshKindInfos.cc.
|
private |
Définition à la ligne 842 du fichier DynamicMeshKindInfos.cc.
|
private |
Définition à la ligne 853 du fichier DynamicMeshKindInfos.cc.
|
inlineprivate |
Définition à la ligne 350 du fichier DynamicMeshKindInfos.h.
|
inlineprivate |
Définition à la ligne 342 du fichier DynamicMeshKindInfos.h.
|
private |
Définition à la ligne 909 du fichier DynamicMeshKindInfos.cc.
|
inline |
Liste des entitées ajoutées ou retirées depuis le dernier endUpdate()
Définition à la ligne 97 du fichier DynamicMeshKindInfos.h.
|
inline |
Groupe de toutes les entités.
Définition à la ligne 94 du fichier DynamicMeshKindInfos.h.
|
inline |
Ajoute une entité de numéro unique unique_id.
Définition à la ligne 107 du fichier DynamicMeshKindInfos.h.
|
inline |
Ajoute une entité de numéro unique unique_id.
Définition à la ligne 118 du fichier DynamicMeshKindInfos.h.
void Arcane::mesh::DynamicMeshKindInfos::beginCompactItems | ( | ItemFamilyCompactInfos & | compact_infos | ) |
Calcule les nouveaux id locaux des entités pour qu'ils soient consécutifs.
Si do_sort est vrai, les entités sont triées de telle sorte que leur id unique et id local soient dans un ordre croissant.
Avant appel à cette fonction, le maillage doit être valide et finalisé
Après appel à cette fonction, les tableaux oldToNewLocalIds() et newToOldLocalIds() sont renseignés et contiennent pour chaque entité les conversions entre nouveaux et anciens numéros locaux.
Définition à la ligne 475 du fichier DynamicMeshKindInfos.cc.
Références ARCANE_FATAL, Arcane::arcaneIsCheck(), Arccore::Array< T >::begin(), checkValid(), Arccore::Array< T >::data(), Arccore::TraceAccessor::debug(), Arccore::Array< T >::end(), Arccore::TraceAccessor::info(), Arcane::ItemGroup::internal(), Arcane::ItemGroupImpl::itemsLocalId(), Arcane::mesh::ItemFamily::itemSortFunction(), m_compact_infos, m_internals, m_item_family, m_kind_name, m_mesh, m_nb_item, maxUsedLocalId(), Arcane::IMesh::parallelMng(), Arccore::AbstractArray< T >::size(), et Arcane::Timer::TimerReal.
void Arcane::mesh::DynamicMeshKindInfos::build | ( | ) |
Définition à la ligne 77 du fichier DynamicMeshKindInfos.cc.
|
inline |
Définition à la ligne 217 du fichier DynamicMeshKindInfos.h.
void Arcane::mesh::DynamicMeshKindInfos::checkValid | ( | ) |
Vérifie si les structures internes de l'instance sont valides.
Définition à la ligne 343 du fichier DynamicMeshKindInfos.cc.
Références ARCANE_FATAL, Arccore::TraceAccessor::debug(), Arccore::TraceAccessor::error(), Arcane::ItemBase::isOwn(), Arcane::ItemBase::isSuppressed(), Arcane::ItemBase::localId(), m_free_internals, m_internals, m_kind_name, m_mesh, m_nb_item, Arcane::IMesh::meshPartInfo(), Arcane::IMeshBase::name(), Arcane::ItemBase::owner(), Arccore::AbstractArray< T >::size(), et Arcane::ItemBase::uniqueId().
Référencé par beginCompactItems(), et finalizeMeshChanged().
void Arcane::mesh::DynamicMeshKindInfos::clear | ( | ) |
Supprime toutes les entités.
Définition à la ligne 755 du fichier DynamicMeshKindInfos.cc.
Références Arcane::ItemGroup::internal(), Arcane::ItemGroupImpl::itemsLocalId(), et removeMany().
|
inline |
Détache une l'entité item.
L'entité est supprimée de la liste des uniqueId() si la macro REMOVE_UID_ON_DETACH est définie
Définition à la ligne 166 du fichier DynamicMeshKindInfos.h.
Références Arcane::MutableItemBase::setDetached(), et Arcane::ItemBase::uniqueId().
void Arcane::mesh::DynamicMeshKindInfos::finalizeMeshChanged | ( | ) |
Réalloue et recalcule les structures après modification du maillage.
En particulier injecte les added et removed items dans le groupe total all_items courant. Les changements sont faits en direct sur ce groupe sans protection.
Définition à la ligne 103 du fichier DynamicMeshKindInfos.cc.
Références Arcane::ItemGroupImpl::addItems(), Arcane::arcaneIsCheck(), Arcane::ItemGroupImpl::beginTransaction(), Arcane::ItemGroupImpl::checkNeedUpdate(), Arcane::ItemGroup::checkValid(), checkValid(), Arccore::Array< T >::clear(), Arcane::IParallelMng::commRank(), Arcane::ItemGroupImpl::endTransaction(), Arccore::TraceAccessor::info(), Arcane::ItemGroup::internal(), Arcane::IParallelMng::isParallel(), Arcane::ItemBase::isSuppressed(), Arcane::ItemBase::localId(), m_internals, m_item_family, m_kind_name, m_mesh, m_nb_item, maxUsedLocalId(), Arcane::mesh::ItemFamily::notifyItemsOwnerChanged(), Arcane::ItemBase::owner(), Arcane::IMesh::parallelMng(), Arcane::ItemGroupImpl::removeAddItems(), Arcane::ItemGroupImpl::removeItems(), Arccore::AbstractArray< T >::size(), Arccore::TraceAccessor::traceMng(), et Arcane::ItemBase::uniqueId().
|
inline |
Recherche l'entité de numéro unique uid.
Définition à la ligne 199 du fichier DynamicMeshKindInfos.h.
|
inline |
Recherche l'entité de numéro unique unique_id et la créé si elle n'existe pas.
Définition à la ligne 184 du fichier DynamicMeshKindInfos.h.
void Arcane::mesh::DynamicMeshKindInfos::finishCompactItems | ( | ItemFamilyCompactInfos & | compact_infos | ) |
Définition à la ligne 626 du fichier DynamicMeshKindInfos.cc.
|
inline |
Définition à la ligne 260 du fichier DynamicMeshKindInfos.h.
|
inline |
Définition à la ligne 253 du fichier DynamicMeshKindInfos.h.
|
inline |
Définition à la ligne 104 du fichier DynamicMeshKindInfos.h.
|
inline |
Liste interne des ItemInternal's.
En lecture seule, la version en écriture a été supprimée comme indiqué en todo
Définition à la ligne 102 du fichier DynamicMeshKindInfos.h.
|
inline |
Définition à la ligne 211 du fichier DynamicMeshKindInfos.h.
void Arcane::mesh::DynamicMeshKindInfos::itemsUniqueIdToLocalId | ( | ArrayView< Int64 > | ids, |
bool | do_fatal | ||
) | const |
Définition à la ligne 186 du fichier DynamicMeshKindInfos.cc.
void Arcane::mesh::DynamicMeshKindInfos::itemsUniqueIdToLocalId | ( | Int32ArrayView | local_ids, |
ConstArrayView< ItemUniqueId > | unique_ids, | ||
bool | do_fatal | ||
) | const |
Définition à la ligne 273 du fichier DynamicMeshKindInfos.cc.
void Arcane::mesh::DynamicMeshKindInfos::itemsUniqueIdToLocalId | ( | Int32ArrayView | local_ids, |
Int64ConstArrayView | unique_ids, | ||
bool | do_fatal | ||
) | const |
Définition à la ligne 229 du fichier DynamicMeshKindInfos.cc.
|
inline |
Définition à la ligne 215 du fichier DynamicMeshKindInfos.h.
|
inline |
Numéro local le plus grand utilisé.
Ce numéro est utilisé pour allouer les tableaux des variables sur les entités du maillage.
Définition à la ligne 85 du fichier DynamicMeshKindInfos.h.
Référencé par beginCompactItems(), et finalizeMeshChanged().
|
inline |
Définition à la ligne 213 du fichier DynamicMeshKindInfos.h.
Int32ConstArrayView Arcane::mesh::DynamicMeshKindInfos::newToOldLocalIds | ( | ) | const |
Conversion entre les nouveaux et les anciens id locaux.
Cette méthode n'est valide qu'après appel à beginCompactItems() et avant finishCompactItems().
Définition à la ligne 452 du fichier DynamicMeshKindInfos.cc.
Références m_compact_infos, et Arcane::ItemFamilyCompactInfos::newToOldLocalIds().
Int32ConstArrayView Arcane::mesh::DynamicMeshKindInfos::oldToNewLocalIds | ( | ) | const |
Conversion entre les anciens et les nouveaux id locaux.
Cette méthode n'est valide qu'après appel à beginCompactItems() et avant finishCompactItems().
Définition à la ligne 441 du fichier DynamicMeshKindInfos.cc.
Références m_compact_infos, et Arcane::ItemFamilyCompactInfos::oldToNewLocalIds().
void Arcane::mesh::DynamicMeshKindInfos::prepareForDump | ( | ) |
Prépare les variables pour les sauvegardes.
Définition à la ligne 317 du fichier DynamicMeshKindInfos.cc.
void Arcane::mesh::DynamicMeshKindInfos::printFreeInternals | ( | Integer | max_print | ) |
Définition à la ligne 773 du fichier DynamicMeshKindInfos.cc.
void Arcane::mesh::DynamicMeshKindInfos::readFromDump | ( | ) |
Restaure les infos à partir des dumps.
Définition à la ligne 325 du fichier DynamicMeshKindInfos.cc.
Références Arcane::mesh::ItemInternalMap::clear(), Arccore::Array< T >::clear(), Arcane::IMesh::findGroup(), m_all_group_name, m_free_internals, m_internals, m_item_internals_buffer, m_items_map, m_mesh, et m_nb_item.
|
inline |
Supprime l'entité détachée item.
Définition à la ligne 145 du fichier DynamicMeshKindInfos.h.
Références Arcane::ItemBase::localId(), et Arcane::ItemBase::uniqueId().
|
inline |
Définition à la ligne 98 du fichier DynamicMeshKindInfos.h.
void Arcane::mesh::DynamicMeshKindInfos::removeMany | ( | Int32ConstArrayView | local_ids | ) |
Supprime une liste d'entités.
Définition à la ligne 790 du fichier DynamicMeshKindInfos.cc.
Références Arccore::Array< T >::data(), m_free_internals, m_internals, m_item_family, m_items_map, m_nb_item, Arcane::mesh::ItemInternalMap::remove(), Arccore::Array< T >::resize(), et Arccore::AbstractArray< T >::size().
Référencé par clear().
|
inline |
Supprime l'entité item.
Définition à la ligne 128 du fichier DynamicMeshKindInfos.h.
Références Arcane::ItemBase::localId(), et Arcane::ItemBase::uniqueId().
Définition à la ligne 831 du fichier DynamicMeshKindInfos.cc.
void Arcane::mesh::DynamicMeshKindInfos::setItemFamily | ( | ItemFamily * | item_family | ) |
Définition à la ligne 899 du fichier DynamicMeshKindInfos.cc.
|
private |
Définition à la ligne 315 du fichier DynamicMeshKindInfos.h.
|
private |
Définition à la ligne 312 du fichier DynamicMeshKindInfos.h.
|
private |
Nom du groupe contenant toutes les entités.
Définition à la ligne 310 du fichier DynamicMeshKindInfos.h.
Référencé par readFromDump().
|
private |
Définition à la ligne 322 du fichier DynamicMeshKindInfos.h.
|
private |
Temporaire tant que oldToNewLocalIds() et newToOldLocalIds() existent.
Définition à la ligne 321 du fichier DynamicMeshKindInfos.h.
Référencé par beginCompactItems(), newToOldLocalIds(), et oldToNewLocalIds().
Int32UniqueArray Arcane::mesh::DynamicMeshKindInfos::m_free_internals |
Liste des ItemInternal de m_item_internals_buffer libres.
Liste des ItemInternal de m_internals libérés
Définition à la ligne 327 du fichier DynamicMeshKindInfos.h.
Référencé par checkValid(), readFromDump(), et removeMany().
UniqueArray<ItemInternal*> Arcane::mesh::DynamicMeshKindInfos::m_free_internals_in_multi_buffer |
Définition à la ligne 329 du fichier DynamicMeshKindInfos.h.
|
private |
Définition à la ligne 319 du fichier DynamicMeshKindInfos.h.
UniqueArray<ItemInternal*> Arcane::mesh::DynamicMeshKindInfos::m_internals |
ItemInternal des entités.
Définition à la ligne 326 du fichier DynamicMeshKindInfos.h.
Référencé par beginCompactItems(), checkValid(), finalizeMeshChanged(), readFromDump(), et removeMany().
|
private |
Définition à la ligne 318 du fichier DynamicMeshKindInfos.h.
|
private |
Définition à la ligne 314 du fichier DynamicMeshKindInfos.h.
|
private |
Famille de maillage associée.
Définition à la ligne 307 du fichier DynamicMeshKindInfos.h.
Référencé par beginCompactItems(), finalizeMeshChanged(), et removeMany().
|
private |
Tampon pour stocker une instance de ItemInternal.
Définition à la ligne 338 du fichier DynamicMeshKindInfos.h.
Référencé par readFromDump(), et ~DynamicMeshKindInfos().
|
private |
Table de hachage conversion uniqueId() -> ItemInternal*.
Définition à la ligne 311 du fichier DynamicMeshKindInfos.h.
Référencé par readFromDump(), et removeMany().
|
private |
Genre correspondant.
Définition à la ligne 308 du fichier DynamicMeshKindInfos.h.
|
private |
Nom du genre des entités (Node, Cell, ...)
Définition à la ligne 309 du fichier DynamicMeshKindInfos.h.
Référencé par beginCompactItems(), checkValid(), et finalizeMeshChanged().
|
private |
Maillage associé
Définition à la ligne 306 du fichier DynamicMeshKindInfos.h.
Référencé par beginCompactItems(), checkValid(), finalizeMeshChanged(), et readFromDump().
|
private |
Groupe de toutes les entités.
Nombre d'entités allouées
Définition à la ligne 313 du fichier DynamicMeshKindInfos.h.
Référencé par beginCompactItems(), checkValid(), finalizeMeshChanged(), readFromDump(), et removeMany().
|
private |
Définition à la ligne 316 du fichier DynamicMeshKindInfos.h.
|
private |
Définition à la ligne 317 du fichier DynamicMeshKindInfos.h.