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) |
EventObservableView< const ItemFamilyItemListChangedEventArgs & > | itemListChangedEvent () |
![]() | |
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 () |
void | _notifyRemove (ItemInternal *item) |
void | _notifyAdd (ItemInternal *item, Int64 uid) |
void | _notifyRemove2 (ItemInternal *item) |
void | _notifyAdd2 (ItemInternal *item, Int64 uid) |
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 |
EventObservable< const ItemFamilyItemListChangedEventArgs & > | m_item_list_change_event |
MultiBufferT< ItemInternal > * | m_item_internals_buffer |
Tampon pour stocker une instance de ItemInternal. | |
Membres hérités additionnels | |
![]() | |
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 50 du fichier DynamicMeshKindInfos.h.
Définition à la ligne 56 du fichier DynamicMeshKindInfos.h.
|
private |
Définition à la ligne 60 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 49 du fichier DynamicMeshKindInfos.cc.
Références m_compact_infos, m_item_family, m_item_internals_buffer, m_kind, m_kind_name, m_mesh, m_nb_item, Arcane::TraceAccessor::TraceAccessor(), et Arcane::TraceAccessor::traceMng().
Arcane::mesh::DynamicMeshKindInfos::~DynamicMeshKindInfos | ( | ) |
Libère les ressources.
Définition à la ligne 69 du fichier DynamicMeshKindInfos.cc.
Références m_item_internals_buffer.
|
inlineprivate |
Ajoute une entité.
Définition à la ligne 291 du fichier DynamicMeshKindInfos.h.
Références Arcane::ItemBase::localId(), m_free_internals, m_internals, m_item_internals_buffer, et m_nb_item.
Référencé par allocOne(), allocOne(), et findOrAllocOne().
|
private |
Définition à la ligne 878 du fichier DynamicMeshKindInfos.cc.
|
private |
Définition à la ligne 888 du fichier DynamicMeshKindInfos.cc.
|
private |
Définition à la ligne 843 du fichier DynamicMeshKindInfos.cc.
|
private |
Définition à la ligne 854 du fichier DynamicMeshKindInfos.cc.
|
inlineprivate |
Définition à la ligne 387 du fichier DynamicMeshKindInfos.h.
|
private |
Définition à la ligne 940 du fichier DynamicMeshKindInfos.cc.
|
inlineprivate |
Définition à la ligne 382 du fichier DynamicMeshKindInfos.h.
|
private |
Définition à la ligne 929 du fichier DynamicMeshKindInfos.cc.
|
inlineprivate |
Définition à la ligne 369 du fichier DynamicMeshKindInfos.h.
|
inlineprivate |
Définition à la ligne 361 du fichier DynamicMeshKindInfos.h.
|
private |
Définition à la ligne 910 du fichier DynamicMeshKindInfos.cc.
|
inline |
Liste des entitées ajoutées ou retirées depuis le dernier endUpdate()
Définition à la ligne 96 du fichier DynamicMeshKindInfos.h.
|
inline |
Groupe de toutes les entités.
Définition à la ligne 93 du fichier DynamicMeshKindInfos.h.
|
inline |
Ajoute une entité de numéro unique unique_id.
Définition à la ligne 106 du fichier DynamicMeshKindInfos.h.
Références _allocOne(), et m_items_map.
|
inline |
Ajoute une entité de numéro unique unique_id.
Définition à la ligne 120 du fichier DynamicMeshKindInfos.h.
Références _allocOne(), et m_items_map.
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 476 du fichier DynamicMeshKindInfos.cc.
Références ARCANE_FATAL, Arcane::arcaneIsCheck(), checkValid(), Arcane::Array< DataType >::data(), Arcane::TraceAccessor::debug(), Arcane::Array< DataType >::fill(), Arcane::TraceAccessor::info(), Arcane::IMeshCompacter::isSorted(), Arcane::Timer::lastActivationTime(), m_compact_infos, m_internals, m_item_family, m_kind_name, m_mesh, m_nb_item, maxUsedLocalId(), Arcane::IItemInternalSortFunction::name(), Arcane::AbstractArray< T >::size(), Arcane::IItemInternalSortFunction::sortItems(), et Arcane::Timer::TimerReal.
void Arcane::mesh::DynamicMeshKindInfos::build | ( | ) |
Définition à la ligne 78 du fichier DynamicMeshKindInfos.cc.
|
inline |
Définition à la ligne 231 du fichier DynamicMeshKindInfos.h.
void Arcane::mesh::DynamicMeshKindInfos::checkValid | ( | ) |
Vérifie si les structures internes de l'instance sont valides.
Définition à la ligne 344 du fichier DynamicMeshKindInfos.cc.
Références ARCANE_FATAL, Arcane::TraceAccessor::debug(), Arcane::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::ItemBase::owner(), 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 756 du fichier DynamicMeshKindInfos.cc.
Références 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 177 du fichier DynamicMeshKindInfos.h.
Références m_items_map, 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 104 du fichier DynamicMeshKindInfos.cc.
Références Arcane::arcaneIsCheck(), checkValid(), Arcane::IParallelMng::commRank(), Arcane::TraceAccessor::info(), Arcane::IParallelMng::isParallel(), Arcane::ItemBase::isSuppressed(), Arcane::ItemBase::localId(), m_internals, m_item_family, m_kind_name, m_mesh, m_nb_item, maxUsedLocalId(), Arcane::ItemBase::owner(), Arcane::TraceAccessor::traceMng(), et Arcane::ItemBase::uniqueId().
|
inline |
Recherche l'entité de numéro unique uid.
Définition à la ligne 213 du fichier DynamicMeshKindInfos.h.
Références m_items_map.
|
inline |
Recherche l'entité de numéro unique unique_id et la créé si elle n'existe pas.
Définition à la ligne 195 du fichier DynamicMeshKindInfos.h.
Références _allocOne(), et m_items_map.
void Arcane::mesh::DynamicMeshKindInfos::finishCompactItems | ( | ItemFamilyCompactInfos & | compact_infos | ) |
Définition à la ligne 627 du fichier DynamicMeshKindInfos.cc.
|
inline |
Définition à la ligne 274 du fichier DynamicMeshKindInfos.h.
|
inline |
Définition à la ligne 267 du fichier DynamicMeshKindInfos.h.
|
inline |
Définition à la ligne 103 du fichier DynamicMeshKindInfos.h.
EventObservableView< const ItemFamilyItemListChangedEventArgs & > Arcane::mesh::DynamicMeshKindInfos::itemListChangedEvent | ( | ) |
Définition à la ligne 920 du fichier DynamicMeshKindInfos.cc.
|
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 101 du fichier DynamicMeshKindInfos.h.
Références m_internals.
|
inline |
Définition à la ligne 225 du fichier DynamicMeshKindInfos.h.
void Arcane::mesh::DynamicMeshKindInfos::itemsUniqueIdToLocalId | ( | ArrayView< Int64 > | ids, |
bool | do_fatal ) const |
Définition à la ligne 187 du fichier DynamicMeshKindInfos.cc.
void Arcane::mesh::DynamicMeshKindInfos::itemsUniqueIdToLocalId | ( | Int32ArrayView | local_ids, |
ConstArrayView< ItemUniqueId > | unique_ids, | ||
bool | do_fatal ) const |
Définition à la ligne 274 du fichier DynamicMeshKindInfos.cc.
void Arcane::mesh::DynamicMeshKindInfos::itemsUniqueIdToLocalId | ( | Int32ArrayView | local_ids, |
Int64ConstArrayView | unique_ids, | ||
bool | do_fatal ) const |
Définition à la ligne 230 du fichier DynamicMeshKindInfos.cc.
|
inline |
Définition à la ligne 229 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 84 du fichier DynamicMeshKindInfos.h.
Références m_internals.
Référencé par beginCompactItems(), et finalizeMeshChanged().
|
inline |
Définition à la ligne 227 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 453 du fichier DynamicMeshKindInfos.cc.
Références m_compact_infos.
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 442 du fichier DynamicMeshKindInfos.cc.
Références m_compact_infos.
void Arcane::mesh::DynamicMeshKindInfos::prepareForDump | ( | ) |
Prépare les variables pour les sauvegardes.
Définition à la ligne 318 du fichier DynamicMeshKindInfos.cc.
void Arcane::mesh::DynamicMeshKindInfos::printFreeInternals | ( | Integer | max_print | ) |
Définition à la ligne 774 du fichier DynamicMeshKindInfos.cc.
void Arcane::mesh::DynamicMeshKindInfos::readFromDump | ( | ) |
Restaure les infos à partir des dumps.
Définition à la ligne 326 du fichier DynamicMeshKindInfos.cc.
Références 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 153 du fichier DynamicMeshKindInfos.h.
Références Arcane::ItemBase::localId(), m_free_internals, m_items_map, m_nb_item, et Arcane::ItemBase::uniqueId().
|
inline |
Définition à la ligne 97 du fichier DynamicMeshKindInfos.h.
void Arcane::mesh::DynamicMeshKindInfos::removeMany | ( | Int32ConstArrayView | local_ids | ) |
Supprime une liste d'entités.
Définition à la ligne 791 du fichier DynamicMeshKindInfos.cc.
Références Arcane::ConstArrayView< T >::data(), m_free_internals, m_internals, m_item_family, m_items_map, m_nb_item, et Arcane::ConstArrayView< T >::size().
Référencé par clear().
|
inline |
Supprime l'entité item.
Définition à la ligne 133 du fichier DynamicMeshKindInfos.h.
Références Arcane::ItemBase::localId(), m_free_internals, m_items_map, m_nb_item, et Arcane::ItemBase::uniqueId().
void Arcane::mesh::DynamicMeshKindInfos::setHasUniqueIdMap | ( | bool | v | ) |
Définition à la ligne 832 du fichier DynamicMeshKindInfos.cc.
void Arcane::mesh::DynamicMeshKindInfos::setItemFamily | ( | ItemFamily * | item_family | ) |
Définition à la ligne 900 du fichier DynamicMeshKindInfos.cc.
|
private |
Définition à la ligne 333 du fichier DynamicMeshKindInfos.h.
|
private |
Définition à la ligne 330 du fichier DynamicMeshKindInfos.h.
|
private |
Nom du groupe contenant toutes les entités.
Définition à la ligne 328 du fichier DynamicMeshKindInfos.h.
Référencé par readFromDump().
|
private |
Définition à la ligne 340 du fichier DynamicMeshKindInfos.h.
|
private |
Temporaire tant que oldToNewLocalIds() et newToOldLocalIds() existent.
Définition à la ligne 339 du fichier DynamicMeshKindInfos.h.
Référencé par beginCompactItems(), DynamicMeshKindInfos(), 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 346 du fichier DynamicMeshKindInfos.h.
Référencé par _allocOne(), checkValid(), readFromDump(), removeDetachedOne(), removeMany(), et removeOne().
UniqueArray<ItemInternal*> Arcane::mesh::DynamicMeshKindInfos::m_free_internals_in_multi_buffer |
Définition à la ligne 348 du fichier DynamicMeshKindInfos.h.
|
private |
Définition à la ligne 337 du fichier DynamicMeshKindInfos.h.
UniqueArray<ItemInternal*> Arcane::mesh::DynamicMeshKindInfos::m_internals |
ItemInternal des entités.
Définition à la ligne 345 du fichier DynamicMeshKindInfos.h.
Référencé par _allocOne(), beginCompactItems(), checkValid(), finalizeMeshChanged(), itemsInternal(), maxUsedLocalId(), readFromDump(), et removeMany().
|
private |
Définition à la ligne 336 du fichier DynamicMeshKindInfos.h.
|
private |
Définition à la ligne 332 du fichier DynamicMeshKindInfos.h.
|
private |
Famille de maillage associée.
Définition à la ligne 325 du fichier DynamicMeshKindInfos.h.
Référencé par beginCompactItems(), DynamicMeshKindInfos(), finalizeMeshChanged(), et removeMany().
|
private |
Tampon pour stocker une instance de ItemInternal.
Définition à la ligne 357 du fichier DynamicMeshKindInfos.h.
Référencé par _allocOne(), DynamicMeshKindInfos(), readFromDump(), et ~DynamicMeshKindInfos().
|
private |
Définition à la ligne 341 du fichier DynamicMeshKindInfos.h.
|
private |
Table de hachage conversion uniqueId() -> ItemInternal*.
Définition à la ligne 329 du fichier DynamicMeshKindInfos.h.
Référencé par allocOne(), allocOne(), detachOne(), findOne(), findOrAllocOne(), readFromDump(), removeDetachedOne(), removeMany(), et removeOne().
|
private |
Genre correspondant.
Définition à la ligne 326 du fichier DynamicMeshKindInfos.h.
Référencé par DynamicMeshKindInfos().
|
private |
Nom du genre des entités (Node, Cell, ...)
Définition à la ligne 327 du fichier DynamicMeshKindInfos.h.
Référencé par beginCompactItems(), checkValid(), DynamicMeshKindInfos(), et finalizeMeshChanged().
|
private |
Maillage associé
Définition à la ligne 324 du fichier DynamicMeshKindInfos.h.
Référencé par beginCompactItems(), checkValid(), DynamicMeshKindInfos(), finalizeMeshChanged(), et readFromDump().
|
private |
Groupe de toutes les entités.
Nombre d'entités allouées
Définition à la ligne 331 du fichier DynamicMeshKindInfos.h.
Référencé par _allocOne(), beginCompactItems(), checkValid(), DynamicMeshKindInfos(), finalizeMeshChanged(), readFromDump(), removeDetachedOne(), removeMany(), et removeOne().
|
private |
Définition à la ligne 334 du fichier DynamicMeshKindInfos.h.
|
private |
Définition à la ligne 335 du fichier DynamicMeshKindInfos.h.