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 () |
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 |
Indique si les entités du groupe ont des localIds() contigüs. | |
void | checkLocalIdsAreContigous () 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) |
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 () |
Libère les ressources. | |
Fonctions membres publiques statiques | |
static ItemGroupImpl * | checkSharedNull () |
static void | _buildSharedNull () |
static void | _destroySharedNull () |
Définition à la ligne 71 du fichier ItemGroupImpl.h.
Arcane::ItemGroupImpl::ItemGroupImpl | ( | ) |
Construit un groupe nul.
Définition à la ligne 146 du fichier ItemGroupImpl.cc.
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 128 du fichier ItemGroupImpl.cc.
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 137 du fichier ItemGroupImpl.cc.
|
virtual |
Libère les ressources.
Définition à la ligne 155 du fichier ItemGroupImpl.cc.
|
static |
Définition à la ligne 1727 du fichier ItemGroupImpl.cc.
|
static |
Définition à la ligne 1739 du fichier ItemGroupImpl.cc.
ItemGroupImplInternal * Arcane::ItemGroupImpl::_internalApi | ( | ) | const |
API interne à Arcane.
Définition à la ligne 1799 du fichier ItemGroupImpl.cc.
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 483 du fichier ItemGroupImpl.cc.
Références createSubGroup(), Arcane::IK_Cell, et itemKind().
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 556 du fichier ItemGroupImpl.cc.
Références createSubGroup(), Arcane::IK_Cell, et itemKind().
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 769 du fichier ItemGroupImpl.cc.
Références Arccore::Array< T >::add(), ARCANE_FATAL, Arcane::arcaneIsCheck(), checkValid(), Arccore::Array< T >::fill(), Arccore::ITraceMng::info(), isAllItems(), mesh(), name(), Arccore::AbstractArray< T >::size(), Arccore::ConstArrayView< T >::size(), Arccore::Array< T >::subView(), et Arcane::IMeshBase::traceMng().
Référencé par removeAddItems().
void Arcane::ItemGroupImpl::applyOperation | ( | IItemOperationByBasicType * | operation | ) |
Applique l'opération operation sur les entités du groupe.
Définition à la ligne 1206 du fichier ItemGroupImpl.cc.
Références Arccore::ITraceMng::info(), name(), et size().
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 1306 du fichier ItemGroupImpl.cc.
Références Arcane::IItemGroupObserver::needInfo().
Référencé par createSubGroup().
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 209 du fichier ItemGroupImpl.cc.
Références ARCANE_FATAL.
Référencé par Arcane::OwnItemGroupComputeFunctor::executeFunctor(), Arcane::GhostItemGroupComputeFunctor::executeFunctor(), Arcane::InterfaceItemGroupComputeFunctor::executeFunctor(), Arcane::InnerFaceItemGroupComputeFunctor::executeFunctor(), Arcane::OuterFaceItemGroupComputeFunctor::executeFunctor(), Arcane::ActiveCellGroupComputeFunctor::executeFunctor(), Arcane::OwnActiveCellGroupComputeFunctor::executeFunctor(), Arcane::LevelCellGroupComputeFunctor::executeFunctor(), Arcane::OwnLevelCellGroupComputeFunctor::executeFunctor(), Arcane::ActiveFaceItemGroupComputeFunctor::executeFunctor(), Arcane::OwnActiveFaceItemGroupComputeFunctor::executeFunctor(), Arcane::InnerActiveFaceItemGroupComputeFunctor::executeFunctor(), et Arcane::OuterActiveFaceItemGroupComputeFunctor::executeFunctor().
Int64 Arcane::ItemGroupImpl::capacity | ( | ) | const |
Nombre d'éléments alloués.
Définition à la ligne 1769 du fichier ItemGroupImpl.cc.
Références Arccore::AbstractArray< T >::capacity().
Référencé par Arcane::MeshUtils::printMeshGroupsMemoryUsage().
ItemGroupImpl * Arcane::ItemGroupImpl::cellGroup | ( | ) |
Groupe des mailles des éléments de ce groupe.
Définition à la ligne 430 du fichier ItemGroupImpl.cc.
Références createSubGroup(), Arcane::IK_Cell, et itemKind().
void Arcane::ItemGroupImpl::changeIds | ( | Int32ConstArrayView | old_to_new_ids | ) |
Change les indices des entités du groupe.
Définition à la ligne 663 du fichier ItemGroupImpl.cc.
Références checkNeedUpdate(), Arccore::ITraceMng::debug(), Arccore::Trace::High, isAllItems(), name(), et Arccore::ArrayView< T >::size().
bool Arcane::ItemGroupImpl::checkIsSorted | ( | ) | const |
Vérifie et retourne si le groupe est trié par uniqueId() croissants.
Définition à la ligne 1684 du fichier ItemGroupImpl.cc.
Références null(), et Arccore::ConstArrayView< T >::size().
void Arcane::ItemGroupImpl::checkLocalIdsAreContigous | ( | ) | const |
Vérifie si les entités du groupe ont des localIds() contigüs.
Si c'est le cas, alors isContigousLocalIds() retournera vrai.
Définition à la ligne 1760 du fichier ItemGroupImpl.cc.
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 1160 du fichier ItemGroupImpl.cc.
Référencé par changeIds(), et invalidate().
|
static |
Définition à la ligne 114 du fichier ItemGroupImpl.cc.
void Arcane::ItemGroupImpl::checkValid | ( | ) |
Vérifie que le groupe est valide.
Définition à la ligne 1102 du fichier ItemGroupImpl.cc.
Référencé par addItems(), removeAddItems(), removeSuppressedItems(), et setItems().
void Arcane::ItemGroupImpl::clear | ( | ) |
Supprime les entités du groupe.
Définition à la ligne 1178 du fichier ItemGroupImpl.cc.
Références Arccore::Array< T >::clear(), et Arccore::AbstractArray< T >::empty().
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 622 du fichier ItemGroupImpl.cc.
Références ARCANE_FATAL, attachObserver(), Arcane::IItemFamily::createGroup(), invalidate(), 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().
void Arcane::ItemGroupImpl::destroy | ( | ) |
Détruit le groupe. Après cet appel, le groupe devient un groupe nul.
Définition à la ligne 1617 du fichier ItemGroupImpl.cc.
Références detachObserver().
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 1327 du fichier ItemGroupImpl.cc.
Références Arcane::IItemGroupObserver::needInfo().
Référencé par destroy(), et Arcane::ItemPairGroupImpl::~ItemPairGroupImpl().
ItemGroupImpl * Arcane::ItemGroupImpl::edgeGroup | ( | ) |
Groupe des arêtes des éléments de ce groupe.
Définition à la ligne 398 du fichier ItemGroupImpl.cc.
Références createSubGroup(), Arcane::IK_Edge, et itemKind().
bool Arcane::ItemGroupImpl::empty | ( | ) | const |
Vrai si le groupe est vide.
Définition à la ligne 191 du fichier ItemGroupImpl.cc.
void Arcane::ItemGroupImpl::endTransaction | ( | ) |
Termine une transaction.
Définition à la ligne 220 du fichier ItemGroupImpl.cc.
Références ARCANE_FATAL.
Référencé par Arcane::OwnItemGroupComputeFunctor::executeFunctor(), Arcane::GhostItemGroupComputeFunctor::executeFunctor(), Arcane::InterfaceItemGroupComputeFunctor::executeFunctor(), Arcane::InnerFaceItemGroupComputeFunctor::executeFunctor(), Arcane::OuterFaceItemGroupComputeFunctor::executeFunctor(), Arcane::ActiveCellGroupComputeFunctor::executeFunctor(), Arcane::OwnActiveCellGroupComputeFunctor::executeFunctor(), Arcane::LevelCellGroupComputeFunctor::executeFunctor(), Arcane::OwnLevelCellGroupComputeFunctor::executeFunctor(), Arcane::ActiveFaceItemGroupComputeFunctor::executeFunctor(), Arcane::OwnActiveFaceItemGroupComputeFunctor::executeFunctor(), Arcane::InnerActiveFaceItemGroupComputeFunctor::executeFunctor(), et Arcane::OuterActiveFaceItemGroupComputeFunctor::executeFunctor().
ItemGroupImpl * Arcane::ItemGroupImpl::faceGroup | ( | ) |
Groupe des faces des éléments de ce groupe.
Définition à la ligne 414 du fichier ItemGroupImpl.cc.
Références createSubGroup(), Arcane::IK_Face, et itemKind().
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 646 du fichier ItemGroupImpl.cc.
Références name().
const String & Arcane::ItemGroupImpl::fullName | ( | ) | const |
Nom complet du groupe (avec maillage + famille)
Définition à la ligne 173 du fichier ItemGroupImpl.cc.
ItemGroupImpl * Arcane::ItemGroupImpl::ghostGroup | ( | ) |
Items in the group not owned by the subdomain.
Définition à la ligne 352 du fichier ItemGroupImpl.cc.
Références createSubGroup().
bool Arcane::ItemGroupImpl::hasComputeFunctor | ( | ) | const |
Indique si le groupe est calculé
Définition à la ligne 1379 du fichier ItemGroupImpl.cc.
Référencé par Arcane::MeshUtils::printMeshGroupsMemoryUsage(), et shrinkMemory().
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 1360 du fichier ItemGroupImpl.cc.
bool Arcane::ItemGroupImpl::hasSynchronizer | ( | ) |
Indique si ce groupe possède un synchroniser.
Définition à la ligne 1675 du fichier ItemGroupImpl.cc.
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 589 du fichier ItemGroupImpl.cc.
Références createSubGroup(), Arcane::IK_Cell, et itemKind().
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 446 du fichier ItemGroupImpl.cc.
Références createSubGroup(), Arcane::IK_Cell, et itemKind().
ItemGroupImpl * Arcane::ItemGroupImpl::interfaceGroup | ( | ) |
Définition à la ligne 366 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 712 du fichier ItemGroupImpl.cc.
Références checkNeedUpdate(), Arccore::ITraceMng::debug(), Arccore::Trace::High, et name().
Référencé par createSubGroup(), et shrinkMemory().
bool Arcane::ItemGroupImpl::isAllItems | ( | ) | const |
Indique si le groupe est celui de toutes les entités.
Définition à la ligne 999 du fichier ItemGroupImpl.cc.
Référencé par addItems(), changeIds(), removeAddItems(), et setOwn().
bool Arcane::ItemGroupImpl::isContigousLocalIds | ( | ) | const |
Indique si les entités du groupe ont des localIds() contigüs.
Définition à la ligne 1751 du fichier ItemGroupImpl.cc.
bool Arcane::ItemGroupImpl::isLocalToSubDomain | ( | ) | const |
AMR OFF.
Vrai si le groupe est local au sous-domaine
Définition à la ligne 751 du fichier ItemGroupImpl.cc.
bool Arcane::ItemGroupImpl::isOwn | ( | ) | const |
Retourne si le groupe contient uniquement des éléments propres au sous-domaine.
Définition à la ligne 289 du fichier ItemGroupImpl.cc.
Référencé par removeAddItems().
IItemFamily * Arcane::ItemGroupImpl::itemFamily | ( | ) | const |
Familly à laquelle appartient le groupe (ou 0 si aucune)
Définition à la ligne 271 du fichier ItemGroupImpl.cc.
Référencé par Arcane::InterfaceItemGroupComputeFunctor::executeFunctor(), Arcane::InnerFaceItemGroupComputeFunctor::executeFunctor(), Arcane::OuterFaceItemGroupComputeFunctor::executeFunctor(), Arcane::ActiveCellGroupComputeFunctor::executeFunctor(), Arcane::OwnActiveCellGroupComputeFunctor::executeFunctor(), Arcane::LevelCellGroupComputeFunctor::executeFunctor(), Arcane::OwnLevelCellGroupComputeFunctor::executeFunctor(), Arcane::ActiveFaceItemGroupComputeFunctor::executeFunctor(), Arcane::OwnActiveFaceItemGroupComputeFunctor::executeFunctor(), Arcane::InnerActiveFaceItemGroupComputeFunctor::executeFunctor(), Arcane::OuterActiveFaceItemGroupComputeFunctor::executeFunctor(), et setItems().
ItemInfoListView Arcane::ItemGroupImpl::itemInfoListView | ( | ) | const |
Liste des entités sur lesquelles s'appuie le groupe.
Définition à la ligne 742 du fichier ItemGroupImpl.cc.
Référencé par setItems().
eItemKind Arcane::ItemGroupImpl::itemKind | ( | ) | const |
Genre du groupe. Il s'agit du genre de ses éléments.
Définition à la ligne 322 du fichier ItemGroupImpl.cc.
Référencé par Arcane::ItemGroup::_check(), activeCellGroup(), activeFaceGroup(), cellGroup(), edgeGroup(), faceGroup(), innerActiveFaceGroup(), innerFaceGroup(), levelCellGroup(), nodeGroup(), outerActiveFaceGroup(), outerFaceGroup(), ownActiveCellGroup(), ownActiveFaceGroup(), et ownLevelCellGroup().
ItemInternalList Arcane::ItemGroupImpl::itemsInternal | ( | ) | const |
Liste des entités sur lesquelles s'appuie le groupe.
Définition à la ligne 733 du fichier ItemGroupImpl.cc.
Référencé par removeAddItems().
Int32ConstArrayView Arcane::ItemGroupImpl::itemsLocalId | ( | ) | const |
Liste des numéros locaux des entités de ce groupe.
Définition à la ligne 200 du fichier ItemGroupImpl.cc.
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 519 du fichier ItemGroupImpl.cc.
Références createSubGroup(), Arcane::IK_Cell, et itemKind().
SharedPtrT< GroupIndexTable > Arcane::ItemGroupImpl::localIdToIndex | ( | ) |
Table des local ids vers une position pour toutes les entités du groupe.
Définition à la ligne 1643 du fichier ItemGroupImpl.cc.
Références Arccore::ITraceMng::debug(), et Arccore::Trace::High.
IMesh * Arcane::ItemGroupImpl::mesh | ( | ) | const |
Maillage auquel appartient le groupe (0 pour le groupe nul).
Définition à la ligne 262 du fichier ItemGroupImpl.cc.
Référencé par addItems(), Arcane::OwnItemGroupComputeFunctor::executeFunctor(), Arcane::GhostItemGroupComputeFunctor::executeFunctor(), Arcane::InterfaceItemGroupComputeFunctor::executeFunctor(), Arcane::InnerFaceItemGroupComputeFunctor::executeFunctor(), Arcane::OuterFaceItemGroupComputeFunctor::executeFunctor(), Arcane::ActiveCellGroupComputeFunctor::executeFunctor(), Arcane::OwnActiveCellGroupComputeFunctor::executeFunctor(), Arcane::LevelCellGroupComputeFunctor::executeFunctor(), Arcane::OwnLevelCellGroupComputeFunctor::executeFunctor(), Arcane::ActiveFaceItemGroupComputeFunctor::executeFunctor(), Arcane::OwnActiveFaceItemGroupComputeFunctor::executeFunctor(), Arcane::InnerActiveFaceItemGroupComputeFunctor::executeFunctor(), Arcane::OuterActiveFaceItemGroupComputeFunctor::executeFunctor(), et removeAddItems().
const String & Arcane::ItemGroupImpl::name | ( | ) | const |
Nom du groupe.
Définition à la ligne 164 du fichier ItemGroupImpl.cc.
Référencé par addItems(), applyOperation(), changeIds(), createSubGroup(), Arcane::OwnItemGroupComputeFunctor::executeFunctor(), Arcane::GhostItemGroupComputeFunctor::executeFunctor(), Arcane::InterfaceItemGroupComputeFunctor::executeFunctor(), Arcane::InnerFaceItemGroupComputeFunctor::executeFunctor(), Arcane::OuterFaceItemGroupComputeFunctor::executeFunctor(), Arcane::ActiveCellGroupComputeFunctor::executeFunctor(), Arcane::OwnActiveCellGroupComputeFunctor::executeFunctor(), Arcane::LevelCellGroupComputeFunctor::executeFunctor(), Arcane::OwnLevelCellGroupComputeFunctor::executeFunctor(), Arcane::ActiveFaceItemGroupComputeFunctor::executeFunctor(), Arcane::OwnActiveFaceItemGroupComputeFunctor::executeFunctor(), Arcane::InnerActiveFaceItemGroupComputeFunctor::executeFunctor(), Arcane::OuterActiveFaceItemGroupComputeFunctor::executeFunctor(), findSubGroup(), invalidate(), removeAddItems(), removeSuppressedItems(), et setItems().
|
inlinevirtual |
Nombre de références sur le groupe.
Définition à la ligne 118 du fichier ItemGroupImpl.h.
Référencé par Arcane::MeshUtils::printMeshGroupsMemoryUsage().
bool Arcane::ItemGroupImpl::needSynchronization | ( | ) | const |
Indique si le groupe a structurellement besoin d'une synchro parallèle.
Définition à la ligne 1286 du fichier ItemGroupImpl.cc.
ItemGroupImpl * Arcane::ItemGroupImpl::nodeGroup | ( | ) |
Groupe des noeuds des éléments de ce groupe.
Définition à la ligne 382 du fichier ItemGroupImpl.cc.
Références createSubGroup(), Arcane::IK_Node, et itemKind().
bool Arcane::ItemGroupImpl::null | ( | ) | const |
Retourne true si le groupe est nul.
Définition à la ligne 280 du fichier ItemGroupImpl.cc.
Référencé par checkIsSorted().
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 606 du fichier ItemGroupImpl.cc.
Références createSubGroup(), Arcane::IK_Cell, et itemKind().
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 463 du fichier ItemGroupImpl.cc.
Références createSubGroup(), Arcane::IK_Cell, et itemKind().
ItemGroupImpl * Arcane::ItemGroupImpl::ownActiveCellGroup | ( | ) |
Groupe des mailles propres actives de ce groupe.
Définition à la ligne 501 du fichier ItemGroupImpl.cc.
Références createSubGroup(), Arcane::IK_Cell, itemKind(), et setOwn().
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 573 du fichier ItemGroupImpl.cc.
Références createSubGroup(), Arcane::IK_Cell, et itemKind().
ItemGroupImpl * Arcane::ItemGroupImpl::ownGroup | ( | ) |
Groupe des entité propres des entités de ce groupe.
Définition à la ligne 331 du fichier ItemGroupImpl.cc.
Références createSubGroup(), et setOwn().
ItemGroupImpl * Arcane::ItemGroupImpl::ownLevelCellGroup | ( | const Integer & | level | ) |
Groupe des mailles propres actives de ce groupe.
Définition à la ligne 537 du fichier ItemGroupImpl.cc.
Références createSubGroup(), Arcane::IK_Cell, itemKind(), et setOwn().
ItemGroupImpl * Arcane::ItemGroupImpl::parent | ( | ) | const |
Groupe parent (0 si aucun)
Définition à la ligne 253 du fichier ItemGroupImpl.cc.
Référencé par Arcane::OwnItemGroupComputeFunctor::executeFunctor(), Arcane::GhostItemGroupComputeFunctor::executeFunctor(), Arcane::InterfaceItemGroupComputeFunctor::executeFunctor(), Arcane::InnerFaceItemGroupComputeFunctor::executeFunctor(), Arcane::OuterFaceItemGroupComputeFunctor::executeFunctor(), Arcane::ActiveCellGroupComputeFunctor::executeFunctor(), Arcane::OwnActiveCellGroupComputeFunctor::executeFunctor(), Arcane::LevelCellGroupComputeFunctor::executeFunctor(), Arcane::OwnLevelCellGroupComputeFunctor::executeFunctor(), Arcane::ActiveFaceItemGroupComputeFunctor::executeFunctor(), Arcane::OwnActiveFaceItemGroupComputeFunctor::executeFunctor(), Arcane::InnerActiveFaceItemGroupComputeFunctor::executeFunctor(), et Arcane::OuterActiveFaceItemGroupComputeFunctor::executeFunctor().
ItemGroup Arcane::ItemGroupImpl::parentGroup | ( | ) |
Groupe parent.
Définition à la ligne 1195 du fichier ItemGroupImpl.cc.
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 854 du fichier ItemGroupImpl.cc.
Références addItems(), ARCANE_FATAL, ARCANE_THROW, Arcane::arcaneIsCheck(), checkValid(), Arccore::ITraceMng::info(), isAllItems(), isOwn(), Arcane::ItemBase::isSuppressed(), itemsInternal(), Arcane::ItemBase::localId(), mesh(), Arcane::IMesh::meshPartInfo(), name(), removeItems(), Arccore::Array< T >::resize(), size(), Arccore::ConstArrayView< T >::size(), et Arcane::IMeshBase::traceMng().
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 845 du fichier ItemGroupImpl.cc.
Référencé par removeAddItems().
void Arcane::ItemGroupImpl::removeSuppressedItems | ( | ) |
Supprime du groupe les entités dont le flag isSuppressed() est vrai.
Définition à la ligne 1027 du fichier ItemGroupImpl.cc.
Références Arccore::Array< T >::add(), Arcane::arcaneIsCheck(), checkValid(), Arccore::ITraceMng::debug(), Arccore::ITraceMng::fatal(), Arccore::Trace::High, name(), Arccore::Array< T >::reserve(), Arccore::Array< T >::resize(), Arccore::AbstractArray< T >::size(), et Arccore::ConstArrayView< T >::size().
void Arcane::ItemGroupImpl::setComputeFunctor | ( | IFunctor * | functor | ) |
Définit une fonction de calcul de groupe.
Définition à la ligne 1369 du fichier ItemGroupImpl.cc.
Référencé par createSubGroup().
void Arcane::ItemGroupImpl::setIsAllItems | ( | ) |
Définition à la ligne 990 du fichier ItemGroupImpl.cc.
void Arcane::ItemGroupImpl::setItems | ( | Int32ConstArrayView | items_local_id | ) |
Positionne les entités du groupe à items_local_id.
Définition à la ligne 926 du fichier ItemGroupImpl.cc.
Références ARCANE_FATAL, Arcane::arcaneIsCheck(), checkValid(), Arccore::ArrayView< T >::copy(), Arccore::ITraceMng::debug(), Arccore::Trace::High, name(), Arccore::Array< T >::resize(), size(), et Arccore::ConstArrayView< T >::size().
Référencé par Arcane::OwnItemGroupComputeFunctor::executeFunctor(), Arcane::GhostItemGroupComputeFunctor::executeFunctor(), Arcane::InterfaceItemGroupComputeFunctor::executeFunctor(), Arcane::InnerFaceItemGroupComputeFunctor::executeFunctor(), Arcane::OuterFaceItemGroupComputeFunctor::executeFunctor(), Arcane::ActiveCellGroupComputeFunctor::executeFunctor(), Arcane::OwnActiveCellGroupComputeFunctor::executeFunctor(), Arcane::LevelCellGroupComputeFunctor::executeFunctor(), Arcane::OwnLevelCellGroupComputeFunctor::executeFunctor(), Arcane::ActiveFaceItemGroupComputeFunctor::executeFunctor(), Arcane::OwnActiveFaceItemGroupComputeFunctor::executeFunctor(), Arcane::InnerActiveFaceItemGroupComputeFunctor::executeFunctor(), Arcane::OuterActiveFaceItemGroupComputeFunctor::executeFunctor(), et setItems().
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 974 du fichier ItemGroupImpl.cc.
Références itemFamily(), itemInfoListView(), et setItems().
void Arcane::ItemGroupImpl::setLocalToSubDomain | ( | bool | v | ) |
Positionne le booléen indiquant si le groupe est local au sous-domaine.
Définition à la ligne 760 du fichier ItemGroupImpl.cc.
void Arcane::ItemGroupImpl::setOwn | ( | bool | v | ) |
Positionne la propriété de groupe local ou non.
Définition à la ligne 298 du fichier ItemGroupImpl.cc.
Références ARCANE_THROW, et isAllItems().
Référencé par ownActiveCellGroup(), ownGroup(), et ownLevelCellGroup().
|
inlinevirtual |
Définition à la ligne 107 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 1779 du fichier ItemGroupImpl.cc.
Références hasComputeFunctor(), et invalidate().
Integer Arcane::ItemGroupImpl::size | ( | ) | const |
Nombre d'entités du groupe.
Définition à la ligne 182 du fichier ItemGroupImpl.cc.
Référencé par applyOperation(), Arcane::OwnItemGroupComputeFunctor::executeFunctor(), Arcane::GhostItemGroupComputeFunctor::executeFunctor(), Arcane::InterfaceItemGroupComputeFunctor::executeFunctor(), Arcane::InnerFaceItemGroupComputeFunctor::executeFunctor(), Arcane::OuterFaceItemGroupComputeFunctor::executeFunctor(), Arcane::ActiveCellGroupComputeFunctor::executeFunctor(), Arcane::OwnActiveCellGroupComputeFunctor::executeFunctor(), Arcane::LevelCellGroupComputeFunctor::executeFunctor(), Arcane::OwnLevelCellGroupComputeFunctor::executeFunctor(), Arcane::ActiveFaceItemGroupComputeFunctor::executeFunctor(), Arcane::OwnActiveFaceItemGroupComputeFunctor::executeFunctor(), Arcane::InnerActiveFaceItemGroupComputeFunctor::executeFunctor(), Arcane::OuterActiveFaceItemGroupComputeFunctor::executeFunctor(), Arcane::MeshUtils::printMeshGroupsMemoryUsage(), removeAddItems(), et setItems().
IVariableSynchronizer * Arcane::ItemGroupImpl::synchronizer | ( | ) |
Synchronizer du groupe.
Définition à la ligne 1658 du fichier ItemGroupImpl.cc.
Références Arcane::ParallelMngUtils::createSynchronizerRef(), Arccore::ITraceMng::debug(), et Arccore::Trace::High.
Int64 Arcane::ItemGroupImpl::timestamp | ( | ) | const |
Retourne le temps du groupe. Ce temps est incrémenté après chaque modification.
Définition à la ligne 1297 du fichier ItemGroupImpl.cc.
Int32Array & Arcane::ItemGroupImpl::unguardedItemsLocalId | ( | const bool | self_invalidate = true | ) |
Définition à la ligne 236 du fichier ItemGroupImpl.cc.