Implémentation d'un groupe d'entités de maillage. Plus de détails...
#include <arcane/core/ItemGroupImpl.h>
Graphe d'héritage de Arcane::ItemGroupImpl:
Graphe de collaboration de Arcane::ItemGroupImpl:Classes | |
| class | ItemSorter |
Fonctions membres publiques | |
| ItemGroupImpl () | |
| Construit un groupe nul. | |
| ItemGroupImpl (IItemFamily *family, const String &name) | |
| Construit un groupe. Construit un groupe vide de nom name, associé à la famille family. | |
| ItemGroupImpl (IItemFamily *family, ItemGroupImpl *parent, const String &name) | |
| Construit un groupe fils d'un autre groupe. Construit un groupe de nom name fils du groupe parent. Le genre de ce groupe est le même que celui de la famille à laquelle il appartient. | |
| virtual | ~ItemGroupImpl () |
| Libère les ressources. | |
| virtual ISharedReference & | sharedReference () |
| const String & | name () const |
| Nom du groupe. | |
| const String & | fullName () const |
| Nom complet du groupe (avec maillage + famille) | |
| virtual Integer | nbRef () const |
| Nombre de références sur le groupe. | |
| ItemGroupImpl * | parent () const |
| Groupe parent (0 si aucun) | |
| bool | null () const |
| Retourne true si le groupe est nul. | |
| bool | isOwn () const |
| Retourne si le groupe contient uniquement des éléments propres au sous-domaine. | |
| void | setOwn (bool v) |
| Positionne la propriété de groupe local ou non. | |
| ItemGroupImpl * | ownGroup () |
| Groupe des entité propres des entités de ce groupe. | |
| ItemGroupImpl * | ghostGroup () |
| Items in the group not owned by the subdomain. | |
| ItemGroupImpl * | interfaceGroup () |
| ItemGroupImpl * | nodeGroup () |
| Groupe des noeuds des éléments de ce groupe. | |
| ItemGroupImpl * | edgeGroup () |
| Groupe des arêtes des éléments de ce groupe. | |
| ItemGroupImpl * | faceGroup () |
| Groupe des faces des éléments de ce groupe. | |
| ItemGroupImpl * | cellGroup () |
| Groupe des mailles des éléments de ce groupe. | |
| ItemGroupImpl * | createSubGroup (const String &suffix, IItemFamily *family, ItemGroupComputeFunctor *functor) |
| Crée un sous-groupe calculé | |
| ItemGroupImpl * | findSubGroup (const String &suffix) |
| Accède à un sous-groupe calculé | |
| ItemGroupImpl * | innerFaceGroup () |
| Groupe des faces internes des éléments de ce groupe. | |
| ItemGroupImpl * | outerFaceGroup () |
| Groupe des faces externes des éléments de ce groupe. | |
| ItemGroupImpl * | activeCellGroup () |
| AMR. | |
| ItemGroupImpl * | ownActiveCellGroup () |
| Groupe des mailles propres actives de ce groupe. | |
| ItemGroupImpl * | levelCellGroup (const Integer &level) |
| Groupe des mailles actives de ce groupe. | |
| ItemGroupImpl * | ownLevelCellGroup (const Integer &level) |
| Groupe des mailles propres actives de ce groupe. | |
| ItemGroupImpl * | activeFaceGroup () |
| Groupe des faces actives propres au domaine. | |
| ItemGroupImpl * | ownActiveFaceGroup () |
| Groupe des faces externes actives des éléments de ce groupe. | |
| ItemGroupImpl * | innerActiveFaceGroup () |
| Groupe des faces internes actives des éléments de ce groupe. | |
| ItemGroupImpl * | outerActiveFaceGroup () |
| Groupe des faces externes actives des éléments de ce groupe. | |
| bool | isLocalToSubDomain () const |
| AMR OFF. | |
| void | setLocalToSubDomain (bool v) |
| Positionne le booléen indiquant si le groupe est local au sous-domaine. | |
| IMesh * | mesh () const |
| Maillage auquel appartient le groupe (0 pour le groupe nul). | |
| eItemKind | itemKind () const |
| Genre du groupe. Il s'agit du genre de ses éléments. | |
| IItemFamily * | itemFamily () const |
| Familly à laquelle appartient le groupe (ou 0 si aucune) | |
| Integer | size () const |
| Nombre d'entités du groupe. | |
| bool | empty () const |
| Vrai si le groupe est vide. | |
| void | clear () |
| Supprime les entités du groupe. | |
| ItemGroup | parentGroup () |
| Groupe parent. | |
| void | invalidate (bool force_recompute) |
| Invalide le groupe. | |
| void | addItems (Int32ConstArrayView items_local_id, bool check_if_present) |
| Ajoute les entités de numéros locaux items_local_id. | |
| void | setItems (Int32ConstArrayView items_local_id) |
| Positionne les entités du groupe à items_local_id. | |
| void | setItems (Int32ConstArrayView items_local_id, bool do_sort) |
| Positionne les entités du groupe à items_local_id en les triant éventuellement. | |
| void | removeItems (Int32ConstArrayView items_local_id, bool check_if_present) |
| Supprime les entités items_local_id du groupe. | |
| void | removeAddItems (Int32ConstArrayView removed_local_id, Int32ConstArrayView added_local_id, bool check_if_present) |
| Supprime et ajoute les entités removed_local_id et added_local_id du groupe. | |
| void | removeSuppressedItems () |
| Supprime du groupe les entités dont le flag isSuppressed() est vrai. | |
| void | checkValid () |
| Vérifie que le groupe est valide. | |
| bool | checkNeedUpdate () |
| Réactualise le groupe si nécessaire. | |
| Int32ConstArrayView | itemsLocalId () const |
| Liste des numéros locaux des entités de ce groupe. | |
| void | beginTransaction () |
| Débute une transaction. | |
| void | endTransaction () |
| Termine une transaction. | |
| ItemInternalList | itemsInternal () const |
| Liste des entités sur lesquelles s'appuie le groupe. | |
| ItemInfoListView | itemInfoListView () const |
| Liste des entités sur lesquelles s'appuie le groupe. | |
| void | setIsAllItems () |
| Indique à ce groupe qu'il s'agit du groupe de toutes les entités de la famille. | |
| bool | isAllItems () const |
| Indique si le groupe est celui de toutes les entités. | |
| void | changeIds (Int32ConstArrayView old_to_new_ids) |
| Change les indices des entités du groupe. | |
| void | applyOperation (IItemOperationByBasicType *operation) |
| Applique l'opération operation sur les entités du groupe. | |
| bool | needSynchronization () const |
| Indique si le groupe a structurellement besoin d'une synchro parallèle. | |
| Int64 | timestamp () const |
| Retourne le temps du groupe. Ce temps est incrémenté après chaque modification. | |
| void | attachObserver (const void *ref, IItemGroupObserver *obs) |
| Attache un observer. | |
| void | detachObserver (const void *ref) |
| Détache un observer. | |
| bool | hasInfoObserver () const |
| Indique si le contenu de ce groupe est observé. | |
| void | setComputeFunctor (IFunctor *functor) |
| Définit une fonction de calcul de groupe. | |
| bool | hasComputeFunctor () const |
| Indique si le groupe est calculé | |
| void | destroy () |
| Détruit le groupe. Après cet appel, le groupe devient un groupe nul. | |
| SharedPtrT< GroupIndexTable > | localIdToIndex () |
| Table des local ids vers une position pour toutes les entités du groupe. | |
| IVariableSynchronizer * | synchronizer () |
| Synchronizer du groupe. | |
| bool | hasSynchronizer () |
| Indique si ce groupe possède un synchroniser. | |
| bool | checkIsSorted () const |
| Vérifie et retourne si le groupe est trié par uniqueId() croissants. | |
| bool | isContigousLocalIds () const |
| bool | isContiguousLocalIds () const |
| Indique si les entités du groupe ont des localIds() contigüs. | |
| void | checkLocalIdsAreContigous () const |
| void | checkLocalIdsAreContiguous () const |
| Vérifie si les entités du groupe ont des localIds() contigüs. | |
| void | shrinkMemory () |
| Limite au maximum la mémoire utilisée par le groupe. | |
| Int64 | capacity () const |
| Nombre d'éléments alloués. | |
| ItemGroupImplInternal * | _internalApi () const |
| API interne à Arcane. | |
| Int32Array & | unguardedItemsLocalId (const bool self_invalidate=true) |
| Liste des numéros locaux des entités de ce groupe. | |
Fonctions membres publiques hérités de Arcane::SharedReference | |
| void | addRef () override |
| Incrémente le compteur de référence. | |
| void | removeRef () override |
| Décrémente le compteur de référence. | |
| Int32 | refCount () const override |
| Retourne la valeur du compteur de référence. | |
Fonctions membres publiques hérités de Arcane::ISharedReference | |
| virtual | ~ISharedReference ()=default |
| Libère les ressources. | |
Fonctions membres publiques statiques | |
| static ItemGroupImpl * | checkSharedNull () |
| static void | _buildSharedNull () |
| static void | _destroySharedNull () |
Fonctions membres privées | |
| void | _computeChildrenByType () |
| Méthode de calcul des sous-groupes par type. | |
| void | _executeExtend (const Int32ConstArrayView *info) |
| Invalidation des sous-groupes. | |
| void | _executeReduce (const Int32ConstArrayView *info) |
| Invalidation des sous-groupes. | |
| void | _executeCompact (const Int32ConstArrayView *info) |
| Invalidation des sous-groupes. | |
| void | _executeReorder (const Int32ConstArrayView *info) |
| Invalidation des sous-groupes. | |
| void | _executeInvalidate () |
| Invalidation des sous-groupes. | |
| void | _updateNeedInfoFlag (const bool flag) |
| Mise à jour forcée du flag d'information de restructuration. | |
| void | _forceInvalidate (const bool self_invalidate) |
| Invalidate forcée récursive. | |
| void | _checkUpdateSimdPadding () |
| virtual void | deleteMe () |
| Notification de SharedReference indiquant qu'il faut détruire l'instance. | |
| void | _removeItems (SmallSpan< const Int32 > items_local_id) |
| Supprime les entités items_local_id du groupe. | |
| bool | _checkNeedUpdateNoPadding () |
| bool | _checkNeedUpdateWithPadding () |
| bool | _checkNeedUpdate (bool do_padding) |
Attributs privés | |
| friend | ItemGroup |
| ItemGroupInternal * | m_p = nullptr |
| Implémentation du groupe. | |
Attributs privés statiques | |
| static ItemGroupImpl * | shared_null = nullptr |
Amis | |
| class | ItemGroupSubPartsByType |
Implémentation d'un groupe d'entités de maillage.
Un groupe est un ensemble d'entité du maillage (noeuds, faces, mailles,...) de même genre.
Une instance de cette classe ne doit pas s'utiliser directement, mais par l'intermédiaire d'une instance de ItemGroup.
Une entité élément ne peut être présente qu'une seule fois.
Le développeur ne doit pas conserver directement des instances de cette class mais passer par un ItemGroup. Certains groupes étant déterminés dynamiquement suivant le contenu d'un autre groupe (par exemple, les groupes d'entités propres aux sous-domaines sont calculés à partir du groupe de toutes les entités du sous-domaine), ceci garantit que les mises à jour des groupes se font correctement.
Cette instance est géré par un compteur de référence et est détruite automatiquement lorsqu'il arrive à zéro.
Définition à la ligne 71 du fichier ItemGroupImpl.h.
| Arcane::ItemGroupImpl::ItemGroupImpl | ( | ) |
Construit un groupe nul.
Définition à la ligne 142 du fichier ItemGroupImpl.cc.
Références m_p.
Référencé par _updateNeedInfoFlag(), activeCellGroup(), activeFaceGroup(), cellGroup(), createSubGroup(), edgeGroup(), faceGroup(), findSubGroup(), ghostGroup(), innerActiveFaceGroup(), innerFaceGroup(), ItemGroupImpl(), levelCellGroup(), nodeGroup(), outerActiveFaceGroup(), outerFaceGroup(), ownActiveCellGroup(), ownActiveFaceGroup(), ownGroup(), ownLevelCellGroup(), et parent().
Voici le graphe des appelants de cette fonction :| Arcane::ItemGroupImpl::ItemGroupImpl | ( | IItemFamily * | family, |
| const String & | name ) |
Construit un groupe. Construit un groupe vide de nom name, associé à la famille family.
Définition à la ligne 122 du fichier ItemGroupImpl.cc.
Voici le graphe d'appel pour cette fonction :| Arcane::ItemGroupImpl::ItemGroupImpl | ( | IItemFamily * | family, |
| ItemGroupImpl * | parent, | ||
| const String & | name ) |
Construit un groupe fils d'un autre groupe. Construit un groupe de nom name fils du groupe parent. Le genre de ce groupe est le même que celui de la famille à laquelle il appartient.
Définition à la ligne 132 du fichier ItemGroupImpl.cc.
Références ItemGroupImpl(), m_p, name(), et parent().
Voici le graphe d'appel pour cette fonction :
|
virtual |
|
static |
Définition à la ligne 1641 du fichier ItemGroupImpl.cc.
Référencé par Arcane::ArcaneMain::arcaneInitialize().
Voici le graphe des appelants de cette fonction :
|
private |
Définition à la ligne 1108 du fichier ItemGroupImpl.cc.
|
private |
Définition à la ligne 1145 du fichier ItemGroupImpl.cc.
|
private |
Définition à la ligne 1154 du fichier ItemGroupImpl.cc.
|
private |
Définition à la ligne 1172 du fichier ItemGroupImpl.cc.
|
private |
Méthode de calcul des sous-groupes par type.
Définition à la ligne 1397 du fichier ItemGroupImpl.cc.
Références m_p.
|
static |
Définition à la ligne 1653 du fichier ItemGroupImpl.cc.
Référencé par Arcane::ArcaneMain::arcaneFinalize().
Voici le graphe des appelants de cette fonction :
|
private |
Invalidation des sous-groupes.
Définition à la ligne 1466 du fichier ItemGroupImpl.cc.
Références m_p.
Référencé par _updateNeedInfoFlag().
Voici le graphe des appelants de cette fonction :
|
private |
Invalidation des sous-groupes.
Définition à la ligne 1442 du fichier ItemGroupImpl.cc.
Références m_p.
Référencé par _updateNeedInfoFlag().
Voici le graphe des appelants de cette fonction :
|
private |
Invalidation des sous-groupes.
Définition à la ligne 1478 du fichier ItemGroupImpl.cc.
Références m_p.
Référencé par _executeReorder(), _updateNeedInfoFlag(), et createSubGroup().
Voici le graphe des appelants de cette fonction :
|
private |
Invalidation des sous-groupes.
Définition à la ligne 1454 du fichier ItemGroupImpl.cc.
Références m_p.
Référencé par _updateNeedInfoFlag().
Voici le graphe des appelants de cette fonction :
|
private |
Invalidate forcée récursive.
Ne notifie pas les observers. Devra être suivi d'un invalidate() normal
Définition à la ligne 1514 du fichier ItemGroupImpl.cc.
Références m_p.
Référencé par _executeReorder(), et unguardedItemsLocalId().
Voici le graphe des appelants de cette fonction :| ItemGroupImplInternal * Arcane::ItemGroupImpl::_internalApi | ( | ) | const |
|
private |
Mise à jour forcée du flag d'information de restructuration.
Définition à la ligne 1488 du fichier ItemGroupImpl.cc.
Références _executeCompact(), _executeExtend(), _executeInvalidate(), _executeReduce(), ItemGroupImpl(), m_p, Arcane::newItemGroupObserverT(), et parent().
Référencé par _executeReorder(), attachObserver(), et detachObserver().
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :| ItemGroupImpl * Arcane::ItemGroupImpl::activeCellGroup | ( | ) |
AMR.
Groupe des mailles actives de ce groupe
Une maille active est une maille feuille dans l'arbre AMR.
Définition à la ligne 480 du fichier ItemGroupImpl.cc.
Références createSubGroup(), Arcane::IK_Cell, ItemGroupImpl(), itemKind(), et m_p.
Voici le graphe d'appel pour cette fonction :| ItemGroupImpl * Arcane::ItemGroupImpl::activeFaceGroup | ( | ) |
Groupe des faces actives propres au domaine.
Ce groupe n'existe que pour un groupe de maille (itemKind()==IK_Cell). Une face est interne active si elle connectée à deux mailles actives de ce groupe.
Définition à la ligne 553 du fichier ItemGroupImpl.cc.
Références createSubGroup(), Arcane::IK_Cell, ItemGroupImpl(), itemKind(), et m_p.
Voici le graphe d'appel pour cette fonction :| void Arcane::ItemGroupImpl::addItems | ( | Int32ConstArrayView | items_local_id, |
| bool | check_if_present ) |
Ajoute les entités de numéros locaux items_local_id.
Définition à la ligne 766 du fichier ItemGroupImpl.cc.
Références Arcane::Array< DataType >::add(), ARCANE_FATAL, Arcane::arcaneIsCheck(), Arcane::MemoryUtils::checkResizeArrayWithCapacity(), checkValid(), Arcane::MemoryUtils::copy(), Arcane::Array< DataType >::fill(), Arcane::ITraceMng::info(), isAllItems(), m_p, mesh(), name(), Arcane::AbstractArray< T >::size(), Arcane::ConstArrayView< T >::size(), Arcane::Array< DataType >::subView(), Arcane::IMeshBase::traceMng(), et Arcane::Array< DataType >::unguardedBasePointer().
Référencé par removeAddItems().
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :| void Arcane::ItemGroupImpl::applyOperation | ( | IItemOperationByBasicType * | operation | ) |
Applique l'opération operation sur les entités du groupe.
Définition à la ligne 1209 du fichier ItemGroupImpl.cc.
Références m_p.
| void Arcane::ItemGroupImpl::attachObserver | ( | const void * | ref, |
| IItemGroupObserver * | obs ) |
Attache un observer.
| ref | référence de l'émetteur de l'observer |
| obs | Observer |
Définition à la ligne 1315 du fichier ItemGroupImpl.cc.
Références _updateNeedInfoFlag(), m_p, et Arcane::IItemGroupObserver::needInfo().
Référencé par createSubGroup(), et Arcane::AnyItem::FamilyInternal::operator<<().
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :| void Arcane::ItemGroupImpl::beginTransaction | ( | ) |
Débute une transaction.
Une transaction permet d'accèder en écriture à des groupes protégés. L'utilisation de ce mécanisme indique a Arcane que l'utilisateur a conscience qu'il modifie 'à ses risques' un groupe.
Définition à la ligne 206 du fichier ItemGroupImpl.cc.
Références ARCANE_FATAL, et m_p.
| Int64 Arcane::ItemGroupImpl::capacity | ( | ) | const |
Nombre d'éléments alloués.
Définition à la ligne 1683 du fichier ItemGroupImpl.cc.
Références Arcane::AbstractArray< T >::capacity(), et m_p.
Référencé par Arcane::MeshUtils::printMeshGroupsMemoryUsage().
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :| ItemGroupImpl * Arcane::ItemGroupImpl::cellGroup | ( | ) |
Groupe des mailles des éléments de ce groupe.
Définition à la ligne 427 du fichier ItemGroupImpl.cc.
Références createSubGroup(), Arcane::IK_Cell, ItemGroupImpl(), itemKind(), et m_p.
Voici le graphe d'appel pour cette fonction :| void Arcane::ItemGroupImpl::changeIds | ( | Int32ConstArrayView | old_to_new_ids | ) |
Change les indices des entités du groupe.
Définition à la ligne 660 du fichier ItemGroupImpl.cc.
Références checkNeedUpdate(), Arcane::ITraceMng::debug(), Arcane::Trace::High, isAllItems(), m_p, name(), et Arcane::ArrayView< T >::size().
Référencé par Arcane::mesh::ItemFamily::compactVariablesAndGroups().
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :| bool Arcane::ItemGroupImpl::checkIsSorted | ( | ) | const |
Vérifie et retourne si le groupe est trié par uniqueId() croissants.
Définition à la ligne 1598 du fichier ItemGroupImpl.cc.
Références m_p, null(), et Arcane::ConstArrayView< T >::size().
Voici le graphe d'appel pour cette fonction :
|
inline |
Définition à la ligne 415 du fichier ItemGroupImpl.h.
Références checkLocalIdsAreContiguous().
Voici le graphe d'appel pour cette fonction :| void Arcane::ItemGroupImpl::checkLocalIdsAreContiguous | ( | ) | const |
Vérifie si les entités du groupe ont des localIds() contigüs.
Si c'est le cas, alors isContiguousLocalIds() retournera vrai.
Définition à la ligne 1674 du fichier ItemGroupImpl.cc.
Références m_p.
Référencé par checkLocalIdsAreContigous().
Voici le graphe des appelants de cette fonction :| bool Arcane::ItemGroupImpl::checkNeedUpdate | ( | ) |
Réactualise le groupe si nécessaire.
Un groupe doit être réactualisée lorsqu'il est devenu invalide, par exemple suite à un appel à invalidate().
| true | si le groupe a été réactualisé, |
| false | sinon. |
Définition à la ligne 1163 du fichier ItemGroupImpl.cc.
Référencé par changeIds(), et invalidate().
Voici le graphe des appelants de cette fonction :
|
static |
Définition à la ligne 108 du fichier ItemGroupImpl.cc.
| void Arcane::ItemGroupImpl::checkValid | ( | ) |
Vérifie que le groupe est valide.
Définition à la ligne 1099 du fichier ItemGroupImpl.cc.
Références m_p.
Référencé par addItems(), removeAddItems(), removeSuppressedItems(), et setItems().
Voici le graphe des appelants de cette fonction :| void Arcane::ItemGroupImpl::clear | ( | ) |
Supprime les entités du groupe.
Définition à la ligne 1181 du fichier ItemGroupImpl.cc.
Références Arcane::Array< DataType >::clear(), Arcane::AbstractArray< T >::empty(), et m_p.
Voici le graphe d'appel pour cette fonction :| ItemGroupImpl * Arcane::ItemGroupImpl::createSubGroup | ( | const String & | suffix, |
| IItemFamily * | family, | ||
| ItemGroupComputeFunctor * | functor ) |
Crée un sous-groupe calculé
Le gestion mémoire du functor est alors délégué au groupe
Définition à la ligne 619 du fichier ItemGroupImpl.cc.
Références _executeInvalidate(), ARCANE_FATAL, attachObserver(), Arcane::IItemFamily::createGroup(), Arcane::ItemGroup::internal(), invalidate(), ItemGroupImpl(), m_p, name(), Arcane::newItemGroupObserverT(), et setComputeFunctor().
Référencé par activeCellGroup(), activeFaceGroup(), cellGroup(), edgeGroup(), faceGroup(), ghostGroup(), innerActiveFaceGroup(), innerFaceGroup(), levelCellGroup(), nodeGroup(), outerActiveFaceGroup(), outerFaceGroup(), ownActiveCellGroup(), ownActiveFaceGroup(), ownGroup(), et ownLevelCellGroup().
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :
|
privatevirtual |
Notification de SharedReference indiquant qu'il faut détruire l'instance.
Implémente Arcane::SharedReference.
Définition à la ligne 1627 du fichier ItemGroupImpl.cc.
Référencé par _executeReorder().
Voici le graphe des appelants de cette fonction :| void Arcane::ItemGroupImpl::destroy | ( | ) |
Détruit le groupe. Après cet appel, le groupe devient un groupe nul.
Définition à la ligne 1531 du fichier ItemGroupImpl.cc.
Références detachObserver(), et m_p.
Référencé par Arcane::mesh::ItemFamily::destroyGroups().
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :| void Arcane::ItemGroupImpl::detachObserver | ( | const void * | ref | ) |
Détache un observer.
| ref | référence de l'émetteur de l'observer |
Définition à la ligne 1336 du fichier ItemGroupImpl.cc.
Références _updateNeedInfoFlag(), m_p, et Arcane::IItemGroupObserver::needInfo().
Référencé par destroy(), et Arcane::VariableMng::removeVariable().
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :| ItemGroupImpl * Arcane::ItemGroupImpl::edgeGroup | ( | ) |
Groupe des arêtes des éléments de ce groupe.
Définition à la ligne 395 du fichier ItemGroupImpl.cc.
Références createSubGroup(), Arcane::IK_Edge, ItemGroupImpl(), itemKind(), et m_p.
Voici le graphe d'appel pour cette fonction :| bool Arcane::ItemGroupImpl::empty | ( | ) | const |
| void Arcane::ItemGroupImpl::endTransaction | ( | ) |
Termine une transaction.
Définition à la ligne 217 du fichier ItemGroupImpl.cc.
Références ARCANE_FATAL, et m_p.
| ItemGroupImpl * Arcane::ItemGroupImpl::faceGroup | ( | ) |
Groupe des faces des éléments de ce groupe.
Définition à la ligne 411 du fichier ItemGroupImpl.cc.
Références createSubGroup(), Arcane::IK_Face, ItemGroupImpl(), itemKind(), et m_p.
Voici le graphe d'appel pour cette fonction :| ItemGroupImpl * Arcane::ItemGroupImpl::findSubGroup | ( | const String & | suffix | ) |
Accède à un sous-groupe calculé
Le gestion mémoire du functor est alors délégué au groupe
Définition à la ligne 643 du fichier ItemGroupImpl.cc.
Références ItemGroupImpl(), m_p, et name().
Voici le graphe d'appel pour cette fonction :| const String & Arcane::ItemGroupImpl::fullName | ( | ) | const |
Nom complet du groupe (avec maillage + famille)
Définition à la ligne 170 du fichier ItemGroupImpl.cc.
Références m_p.
| ItemGroupImpl * Arcane::ItemGroupImpl::ghostGroup | ( | ) |
Items in the group not owned by the subdomain.
Définition à la ligne 349 du fichier ItemGroupImpl.cc.
Références createSubGroup(), ItemGroupImpl(), et m_p.
Voici le graphe d'appel pour cette fonction :| bool Arcane::ItemGroupImpl::hasComputeFunctor | ( | ) | const |
Indique si le groupe est calculé
Définition à la ligne 1388 du fichier ItemGroupImpl.cc.
Références m_p.
Référencé par Arcane::mesh::ItemFamily::notifyItemsOwnerChanged(), Arcane::mesh::ItemFamily::prepareForDump(), Arcane::MeshUtils::printMeshGroupsMemoryUsage(), et shrinkMemory().
Voici le graphe des appelants de cette fonction :| bool Arcane::ItemGroupImpl::hasInfoObserver | ( | ) | const |
Indique si le contenu de ce groupe est observé.
Ceci a pour effet d'embrayer des mécanismes de modification incrémentaux.
Un groupe peut n'être observé que pour sa structure par des objets recalculés non incrémentalement.
Définition à la ligne 1369 du fichier ItemGroupImpl.cc.
Références m_p.
Référencé par Arcane::ItemGroupsSynchronize::synchronize().
Voici le graphe des appelants de cette fonction :| bool Arcane::ItemGroupImpl::hasSynchronizer | ( | ) |
Indique si ce groupe possède un synchroniser.
Définition à la ligne 1589 du fichier ItemGroupImpl.cc.
Références m_p.
| ItemGroupImpl * Arcane::ItemGroupImpl::innerActiveFaceGroup | ( | ) |
Groupe des faces internes actives des éléments de ce groupe.
Ce groupe n'existe que pour un groupe de maille (itemKind()==IK_Cell). Une face est interne active si elle connectée à deux mailles actives de ce groupe.
Définition à la ligne 586 du fichier ItemGroupImpl.cc.
Références createSubGroup(), Arcane::IK_Cell, ItemGroupImpl(), itemKind(), et m_p.
Voici le graphe d'appel pour cette fonction :| ItemGroupImpl * Arcane::ItemGroupImpl::innerFaceGroup | ( | ) |
Groupe des faces internes des éléments de ce groupe.
Ce groupe n'existe que pour un groupe de maille (itemKind()==IK_Cell). Une face est interne si elle connectée à deux mailles de ce groupe.
Définition à la ligne 443 du fichier ItemGroupImpl.cc.
Références createSubGroup(), Arcane::IK_Cell, ItemGroupImpl(), itemKind(), et m_p.
Voici le graphe d'appel pour cette fonction :| ItemGroupImpl * Arcane::ItemGroupImpl::interfaceGroup | ( | ) |
Définition à la ligne 363 du fichier ItemGroupImpl.cc.
| void Arcane::ItemGroupImpl::invalidate | ( | bool | force_recompute | ) |
Invalide le groupe.
Opération très violente qui induit une invalidation de toutes les dépendances autant des observers que des sous-groupes construits.
Définition à la ligne 709 du fichier ItemGroupImpl.cc.
Références checkNeedUpdate(), Arcane::ITraceMng::debug(), Arcane::Trace::High, m_p, et name().
Référencé par createSubGroup(), et shrinkMemory().
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :| bool Arcane::ItemGroupImpl::isAllItems | ( | ) | const |
Indique si le groupe est celui de toutes les entités.
Définition à la ligne 996 du fichier ItemGroupImpl.cc.
Références m_p.
Référencé par addItems(), changeIds(), removeAddItems(), et setOwn().
Voici le graphe des appelants de cette fonction :
|
inline |
Définition à la ligne 409 du fichier ItemGroupImpl.h.
Références isContigousLocalIds(), et isContiguousLocalIds().
Référencé par isContigousLocalIds().
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :| bool Arcane::ItemGroupImpl::isContiguousLocalIds | ( | ) | const |
Indique si les entités du groupe ont des localIds() contigüs.
Définition à la ligne 1665 du fichier ItemGroupImpl.cc.
Références m_p.
Référencé par isContigousLocalIds().
Voici le graphe des appelants de cette fonction :| bool Arcane::ItemGroupImpl::isLocalToSubDomain | ( | ) | const |
AMR OFF.
Vrai si le groupe est local au sous-domaine
Définition à la ligne 748 du fichier ItemGroupImpl.cc.
Références m_p.
| bool Arcane::ItemGroupImpl::isOwn | ( | ) | const |
Retourne si le groupe contient uniquement des éléments propres au sous-domaine.
Définition à la ligne 286 du fichier ItemGroupImpl.cc.
Références m_p.
Référencé par removeAddItems().
Voici le graphe des appelants de cette fonction :| IItemFamily * Arcane::ItemGroupImpl::itemFamily | ( | ) | const |
Familly à laquelle appartient le groupe (ou 0 si aucune)
Définition à la ligne 268 du fichier ItemGroupImpl.cc.
Références m_p.
Référencé par setItems().
Voici le graphe des appelants de cette fonction :| ItemInfoListView Arcane::ItemGroupImpl::itemInfoListView | ( | ) | const |
Liste des entités sur lesquelles s'appuie le groupe.
Définition à la ligne 739 du fichier ItemGroupImpl.cc.
Références m_p.
Référencé par setItems().
Voici le graphe des appelants de cette fonction :| eItemKind Arcane::ItemGroupImpl::itemKind | ( | ) | const |
Genre du groupe. Il s'agit du genre de ses éléments.
Définition à la ligne 319 du fichier ItemGroupImpl.cc.
Références m_p.
Référencé par Arcane::ItemGroup::_check(), activeCellGroup(), activeFaceGroup(), cellGroup(), edgeGroup(), faceGroup(), innerActiveFaceGroup(), innerFaceGroup(), levelCellGroup(), nodeGroup(), outerActiveFaceGroup(), outerFaceGroup(), ownActiveCellGroup(), ownActiveFaceGroup(), et ownLevelCellGroup().
Voici le graphe des appelants de cette fonction :| ItemInternalList Arcane::ItemGroupImpl::itemsInternal | ( | ) | const |
Liste des entités sur lesquelles s'appuie le groupe.
Définition à la ligne 730 du fichier ItemGroupImpl.cc.
Références m_p.
Référencé par removeAddItems().
Voici le graphe des appelants de cette fonction :| Int32ConstArrayView Arcane::ItemGroupImpl::itemsLocalId | ( | ) | const |
Liste des numéros locaux des entités de ce groupe.
Définition à la ligne 197 du fichier ItemGroupImpl.cc.
Références m_p.
| ItemGroupImpl * Arcane::ItemGroupImpl::levelCellGroup | ( | const Integer & | level | ) |
Groupe des mailles actives de ce groupe.
Une maille active est une maille feuille dans l'arbre AMR.
Définition à la ligne 516 du fichier ItemGroupImpl.cc.
Références createSubGroup(), Arcane::IK_Cell, ItemGroupImpl(), itemKind(), et m_p.
Voici le graphe d'appel pour cette fonction :| SharedPtrT< GroupIndexTable > Arcane::ItemGroupImpl::localIdToIndex | ( | ) |
Table des local ids vers une position pour toutes les entités du groupe.
Définition à la ligne 1557 du fichier ItemGroupImpl.cc.
Références Arcane::ITraceMng::debug(), Arcane::Trace::High, et m_p.
Voici le graphe d'appel pour cette fonction :| IMesh * Arcane::ItemGroupImpl::mesh | ( | ) | const |
Maillage auquel appartient le groupe (0 pour le groupe nul).
Définition à la ligne 259 du fichier ItemGroupImpl.cc.
Références m_p.
Référencé par addItems(), et removeAddItems().
Voici le graphe des appelants de cette fonction :| const String & Arcane::ItemGroupImpl::name | ( | ) | const |
Nom du groupe.
Définition à la ligne 161 du fichier ItemGroupImpl.cc.
Références m_p.
Référencé par Arcane::GeometryServiceBase::_checkItemGroupProperty(), addItems(), changeIds(), createSubGroup(), findSubGroup(), invalidate(), ItemGroupImpl(), ItemGroupImpl(), removeAddItems(), removeSuppressedItems(), setItems(), et unguardedItemsLocalId().
Voici le graphe des appelants de cette fonction :
|
inlinevirtual |
Nombre de références sur le groupe.
Définition à la ligne 119 du fichier ItemGroupImpl.h.
Références Arcane::SharedReference::refCount().
Référencé par Arcane::MeshUtils::printMeshGroupsMemoryUsage().
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :| bool Arcane::ItemGroupImpl::needSynchronization | ( | ) | const |
Indique si le groupe a structurellement besoin d'une synchro parallèle.
Définition à la ligne 1295 du fichier ItemGroupImpl.cc.
Références m_p.
| ItemGroupImpl * Arcane::ItemGroupImpl::nodeGroup | ( | ) |
Groupe des noeuds des éléments de ce groupe.
Définition à la ligne 379 du fichier ItemGroupImpl.cc.
Références createSubGroup(), Arcane::IK_Node, ItemGroupImpl(), itemKind(), et m_p.
Voici le graphe d'appel pour cette fonction :| bool Arcane::ItemGroupImpl::null | ( | ) | const |
Retourne true si le groupe est nul.
Définition à la ligne 277 du fichier ItemGroupImpl.cc.
Références m_p.
Référencé par checkIsSorted().
Voici le graphe des appelants de cette fonction :| ItemGroupImpl * Arcane::ItemGroupImpl::outerActiveFaceGroup | ( | ) |
Groupe des faces externes actives des éléments de ce groupe.
Ce groupe n'existe que pour un groupe de maille (itemKind()==IK_Cell). Une face est externe active si elle n'est connectée qu'à une maille de ce groupe et est active.
Définition à la ligne 603 du fichier ItemGroupImpl.cc.
Références createSubGroup(), Arcane::IK_Cell, ItemGroupImpl(), itemKind(), et m_p.
Voici le graphe d'appel pour cette fonction :| ItemGroupImpl * Arcane::ItemGroupImpl::outerFaceGroup | ( | ) |
Groupe des faces externes des éléments de ce groupe.
Ce groupe n'existe que pour un groupe de maille (itemKind()==IK_Cell). Une face est externe si elle n'est connectée qu'à une maille de ce groupe.
Définition à la ligne 460 du fichier ItemGroupImpl.cc.
Références createSubGroup(), Arcane::IK_Cell, ItemGroupImpl(), itemKind(), et m_p.
Voici le graphe d'appel pour cette fonction :| ItemGroupImpl * Arcane::ItemGroupImpl::ownActiveCellGroup | ( | ) |
Groupe des mailles propres actives de ce groupe.
Définition à la ligne 498 du fichier ItemGroupImpl.cc.
Références createSubGroup(), Arcane::IK_Cell, ItemGroupImpl(), itemKind(), m_p, et setOwn().
Voici le graphe d'appel pour cette fonction :| ItemGroupImpl * Arcane::ItemGroupImpl::ownActiveFaceGroup | ( | ) |
Groupe des faces externes actives des éléments de ce groupe.
Ce groupe n'existe que pour un groupe de maille (itemKind()==IK_Cell). Une face est externe active si elle n'est connectée qu'à une maille de ce groupe et est active.
Définition à la ligne 570 du fichier ItemGroupImpl.cc.
Références createSubGroup(), Arcane::IK_Cell, ItemGroupImpl(), itemKind(), et m_p.
Voici le graphe d'appel pour cette fonction :| ItemGroupImpl * Arcane::ItemGroupImpl::ownGroup | ( | ) |
Groupe des entité propres des entités de ce groupe.
Définition à la ligne 328 du fichier ItemGroupImpl.cc.
Références createSubGroup(), ItemGroupImpl(), m_p, et setOwn().
Voici le graphe d'appel pour cette fonction :| ItemGroupImpl * Arcane::ItemGroupImpl::ownLevelCellGroup | ( | const Integer & | level | ) |
Groupe des mailles propres actives de ce groupe.
Définition à la ligne 534 du fichier ItemGroupImpl.cc.
Références createSubGroup(), Arcane::IK_Cell, ItemGroupImpl(), itemKind(), m_p, et setOwn().
Voici le graphe d'appel pour cette fonction :| ItemGroupImpl * Arcane::ItemGroupImpl::parent | ( | ) | const |
Groupe parent (0 si aucun)
Définition à la ligne 250 du fichier ItemGroupImpl.cc.
Références ItemGroupImpl(), et m_p.
Référencé par _updateNeedInfoFlag(), et ItemGroupImpl().
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :| ItemGroup Arcane::ItemGroupImpl::parentGroup | ( | ) |
Groupe parent.
Définition à la ligne 1198 du fichier ItemGroupImpl.cc.
Références m_p.
Référencé par Arcane::mesh::ItemFamily::createGroup().
Voici le graphe des appelants de cette fonction :| void Arcane::ItemGroupImpl::removeAddItems | ( | Int32ConstArrayView | removed_local_id, |
| Int32ConstArrayView | added_local_id, | ||
| bool | check_if_present ) |
Supprime et ajoute les entités removed_local_id et added_local_id du groupe.
Définition à la ligne 851 du fichier ItemGroupImpl.cc.
Références addItems(), ARCANE_FATAL, ARCANE_THROW, Arcane::arcaneIsCheck(), checkValid(), Arcane::ITraceMng::info(), isAllItems(), isOwn(), Arcane::ItemBase::isSuppressed(), itemsInternal(), Arcane::ItemBase::localId(), m_p, mesh(), Arcane::IMesh::meshPartInfo(), name(), removeItems(), Arcane::Array< DataType >::resize(), Arcane::ConstArrayView< T >::size(), size(), et Arcane::IMeshBase::traceMng().
Voici le graphe d'appel pour cette fonction :| void Arcane::ItemGroupImpl::removeItems | ( | Int32ConstArrayView | items_local_id, |
| bool | check_if_present ) |
Supprime les entités items_local_id du groupe.
Définition à la ligne 842 du fichier ItemGroupImpl.cc.
Références m_p.
Référencé par removeAddItems().
Voici le graphe des appelants de cette fonction :| void Arcane::ItemGroupImpl::removeSuppressedItems | ( | ) |
Supprime du groupe les entités dont le flag isSuppressed() est vrai.
Définition à la ligne 1024 du fichier ItemGroupImpl.cc.
Références Arcane::Array< DataType >::add(), Arcane::arcaneIsCheck(), checkValid(), Arcane::ITraceMng::debug(), Arcane::ITraceMng::fatal(), Arcane::Trace::High, m_p, name(), Arcane::Array< DataType >::reserve(), Arcane::Array< DataType >::resize(), Arcane::AbstractArray< T >::size(), Arcane::ConstArrayView< T >::size(), et Arcane::Array< DataType >::unguardedBasePointer().
Voici le graphe d'appel pour cette fonction :| void Arcane::ItemGroupImpl::setComputeFunctor | ( | IFunctor * | functor | ) |
Définit une fonction de calcul de groupe.
Définition à la ligne 1378 du fichier ItemGroupImpl.cc.
Références m_p.
Référencé par createSubGroup().
Voici le graphe des appelants de cette fonction :| void Arcane::ItemGroupImpl::setIsAllItems | ( | ) |
Indique à ce groupe qu'il s'agit du groupe de toutes les entités de la famille.
Définition à la ligne 987 du fichier ItemGroupImpl.cc.
Références m_p.
| void Arcane::ItemGroupImpl::setItems | ( | Int32ConstArrayView | items_local_id | ) |
Positionne les entités du groupe à items_local_id.
Définition à la ligne 923 du fichier ItemGroupImpl.cc.
Références ARCANE_FATAL, Arcane::arcaneIsCheck(), checkValid(), Arcane::ArrayView< T >::copy(), Arcane::ITraceMng::debug(), Arcane::Trace::High, m_p, name(), Arcane::Array< DataType >::resize(), Arcane::ConstArrayView< T >::size(), et size().
Référencé par setItems().
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :| void Arcane::ItemGroupImpl::setItems | ( | Int32ConstArrayView | items_local_id, |
| bool | do_sort ) |
Positionne les entités du groupe à items_local_id en les triant éventuellement.
Définition à la ligne 971 du fichier ItemGroupImpl.cc.
Références itemFamily(), itemInfoListView(), et setItems().
Voici le graphe d'appel pour cette fonction :| void Arcane::ItemGroupImpl::setLocalToSubDomain | ( | bool | v | ) |
Positionne le booléen indiquant si le groupe est local au sous-domaine.
Définition à la ligne 757 du fichier ItemGroupImpl.cc.
Références m_p.
| void Arcane::ItemGroupImpl::setOwn | ( | bool | v | ) |
Positionne la propriété de groupe local ou non.
Définition à la ligne 295 du fichier ItemGroupImpl.cc.
Références ARCANE_THROW, isAllItems(), et m_p.
Référencé par ownActiveCellGroup(), ownGroup(), et ownLevelCellGroup().
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :
|
inlinevirtual |
Définition à la ligne 108 du fichier ItemGroupImpl.h.
| void Arcane::ItemGroupImpl::shrinkMemory | ( | ) |
Limite au maximum la mémoire utilisée par le groupe.
Si le groupe est un groupe calculé, il est invalidé et toute sa mémoire allouée est libérée.
Si le groupe est un groupe créé par l'utilisateur (donc persistant), s'assure que la mémoire consommée est minimale. Normalement Arcane alloue un peu plus d'éléments que nécessaire pour éviter de faire des réallocations trop souvent.
Définition à la ligne 1693 du fichier ItemGroupImpl.cc.
Références hasComputeFunctor(), invalidate(), et m_p.
Voici le graphe d'appel pour cette fonction :| Integer Arcane::ItemGroupImpl::size | ( | ) | const |
Nombre d'entités du groupe.
Définition à la ligne 179 du fichier ItemGroupImpl.cc.
Références m_p.
Référencé par Arcane::MeshUtils::printMeshGroupsMemoryUsage(), removeAddItems(), et setItems().
Voici le graphe des appelants de cette fonction :| IVariableSynchronizer * Arcane::ItemGroupImpl::synchronizer | ( | ) |
Synchronizer du groupe.
Définition à la ligne 1572 du fichier ItemGroupImpl.cc.
Références Arcane::ParallelMngUtils::createSynchronizerRef(), Arcane::ITraceMng::debug(), Arcane::Trace::High, et m_p.
Voici le graphe d'appel pour cette fonction :| Int64 Arcane::ItemGroupImpl::timestamp | ( | ) | const |
Retourne le temps du groupe. Ce temps est incrémenté après chaque modification.
Définition à la ligne 1306 du fichier ItemGroupImpl.cc.
Références m_p.
| Int32Array & Arcane::ItemGroupImpl::unguardedItemsLocalId | ( | const bool | self_invalidate = true | ) |
Liste des numéros locaux des entités de ce groupe.
Définition à la ligne 233 du fichier ItemGroupImpl.cc.
Références _forceInvalidate(), ARCANE_FATAL, Arcane::ITraceMng::debug(), m_p, Arcane::Trace::Medium, et name().
Voici le graphe d'appel pour cette fonction :
|
friend |
Définition à la ligne 76 du fichier ItemGroupImpl.h.
|
private |
Définition à la ligne 77 du fichier ItemGroupImpl.h.
|
private |
Implémentation du groupe.
Définition à la ligne 488 du fichier ItemGroupImpl.h.
Référencé par _computeChildrenByType(), _executeCompact(), _executeExtend(), _executeInvalidate(), _executeReduce(), _forceInvalidate(), _internalApi(), _updateNeedInfoFlag(), activeCellGroup(), activeFaceGroup(), addItems(), applyOperation(), attachObserver(), beginTransaction(), capacity(), cellGroup(), changeIds(), checkIsSorted(), checkLocalIdsAreContiguous(), checkValid(), clear(), createSubGroup(), destroy(), detachObserver(), edgeGroup(), empty(), endTransaction(), faceGroup(), findSubGroup(), fullName(), ghostGroup(), hasComputeFunctor(), hasInfoObserver(), hasSynchronizer(), innerActiveFaceGroup(), innerFaceGroup(), invalidate(), isAllItems(), isContiguousLocalIds(), isLocalToSubDomain(), isOwn(), itemFamily(), ItemGroupImpl(), ItemGroupImpl(), ItemGroupImpl(), itemInfoListView(), itemKind(), itemsInternal(), itemsLocalId(), levelCellGroup(), localIdToIndex(), mesh(), name(), needSynchronization(), nodeGroup(), null(), outerActiveFaceGroup(), outerFaceGroup(), ownActiveCellGroup(), ownActiveFaceGroup(), ownGroup(), ownLevelCellGroup(), parent(), parentGroup(), removeAddItems(), removeItems(), removeSuppressedItems(), setComputeFunctor(), setIsAllItems(), setItems(), setLocalToSubDomain(), setOwn(), shrinkMemory(), size(), synchronizer(), timestamp(), unguardedItemsLocalId(), et ~ItemGroupImpl().
|
staticprivate |
Définition à la ligne 100 du fichier ItemGroupImpl.h.