Classes | |
| class | ItemSorter |
Public Member Functions | |
| ItemGroupImpl () | |
| Constructs a null group. | |
| ItemGroupImpl (IItemFamily *family, const String &name) | |
| Brief: Constructs a group. Constructs an empty group named name, associated with the family family. | |
| ItemGroupImpl (IItemFamily *family, ItemGroupImpl *parent, const String &name) | |
| Brief: Constructs a child group of another group. Constructs a group named name which is a child of group parent. The type of this group is the same as that of the family it belongs to. | |
| virtual | ~ItemGroupImpl () |
| Releases resources. | |
| virtual ISharedReference & | sharedReference () |
| const String & | name () const |
| Group name. | |
| const String & | fullName () const |
| Full group name (with mesh + family). | |
| virtual Integer | nbRef () const |
| Number of references on the group. | |
| ItemGroupImpl * | parent () const |
| Parent group (0 if none). | |
| bool | null () const |
| Returns true if the group is null. | |
| bool | isOwn () const |
| Returns whether the group contains only elements specific to the subdomain. | |
| void | setOwn (bool v) |
| Sets whether the group property is local or not. | |
| ItemGroupImpl * | ownGroup () |
| Group of entities owned by the entities of this group. | |
| ItemGroupImpl * | ghostGroup () |
| Items in the group not owned by the subdomain. | |
| ItemGroupImpl * | interfaceGroup () |
| ItemGroupImpl * | nodeGroup () |
| Group of nodes of the elements of this group. | |
| ItemGroupImpl * | edgeGroup () |
| Group of edges of the elements of this group. | |
| ItemGroupImpl * | faceGroup () |
| Group of faces of the elements of this group. | |
| ItemGroupImpl * | cellGroup () |
| Group of cells of the elements of this group. | |
| ItemGroupImpl * | createSubGroup (const String &suffix, IItemFamily *family, ItemGroupComputeFunctor *functor) |
| Creates a calculated subgroup. | |
| ItemGroupImpl * | findSubGroup (const String &suffix) |
| Accesses a calculated subgroup. | |
| ItemGroupImpl * | innerFaceGroup () |
| Brief: Group of internal faces of the elements of this group. | |
| ItemGroupImpl * | outerFaceGroup () |
| Brief: Group of external faces of the elements of this group. | |
| ItemGroupImpl * | activeCellGroup () |
| AMR. | |
| ItemGroupImpl * | ownActiveCellGroup () |
| Brief: Group of own active cells of this group. | |
| ItemGroupImpl * | levelCellGroup (const Integer &level) |
| Brief: Group of active cells of this group. | |
| ItemGroupImpl * | ownLevelCellGroup (const Integer &level) |
| Brief: Group of own active cells of this group. | |
| ItemGroupImpl * | activeFaceGroup () |
| Brief: Group of domain-specific active faces. | |
| ItemGroupImpl * | ownActiveFaceGroup () |
| Brief: Group of active external faces of the elements of this group. | |
| ItemGroupImpl * | innerActiveFaceGroup () |
| Brief: Group of active internal faces of the elements of this group. | |
| ItemGroupImpl * | outerActiveFaceGroup () |
| Brief: Group of active external faces of the elements of this group. | |
| bool | isLocalToSubDomain () const |
| AMR OFF. | |
| void | setLocalToSubDomain (bool v) |
| Sets the boolean indicating if the group is local to the subdomain. | |
| IMesh * | mesh () const |
| Mesh to which the group belongs (0 for the null group). | |
| eItemKind | itemKind () const |
| Type of the group. It is the type of its elements. | |
| IItemFamily * | itemFamily () const |
| Family to which the group belongs (or 0 if none). | |
| Integer | size () const |
| Number of entities in the group. | |
| bool | empty () const |
| True if the group is empty. | |
| void | clear () |
| Removes the entities from the group. | |
| ItemGroup | parentGroup () |
| Parent group. | |
| void | invalidate (bool force_recompute) |
| Invalidates the group. | |
| void | addItems (Int32ConstArrayView items_local_id, bool check_if_present) |
| Adds entities with local IDs items_local_id. | |
| void | setItems (Int32ConstArrayView items_local_id) |
| Positions the group entities at items_local_id. | |
| void | setItems (Int32ConstArrayView items_local_id, bool do_sort) |
| Positions the group entities at items_local_id, optionally sorting them. | |
| void | removeItems (Int32ConstArrayView items_local_id, bool check_if_present) |
| Removes the entities items_local_id from the group. | |
| void | removeAddItems (Int32ConstArrayView removed_local_id, Int32ConstArrayView added_local_id, bool check_if_present) |
| Removes and adds the entities removed_local_id and added_local_id from the group. | |
| void | removeSuppressedItems () |
| Removes entities from the group whose isSuppressed() flag is true. | |
| void | checkValid () |
| Checks that the group is valid. | |
| bool | checkNeedUpdate () |
| Updates the group if necessary. | |
| Int32ConstArrayView | itemsLocalId () const |
| List of local IDs of the entities in this group. | |
| void | beginTransaction () |
| Starts a transaction. | |
| void | endTransaction () |
| Ends a transaction. | |
| ItemInternalList | itemsInternal () const |
| List of entities that the group relies on. | |
| ItemInfoListView | itemInfoListView () const |
| List of entities that the group relies on. | |
| void | setIsAllItems () |
| bool | isAllItems () const |
| Indicates if the group is the group of all entities. | |
| void | changeIds (Int32ConstArrayView old_to_new_ids) |
| Changes the indices of the group entities. | |
| void | applyOperation (IItemOperationByBasicType *operation) |
| Applies the operation operation to the group entities. | |
| bool | needSynchronization () const |
| Indicates if the group structurally needs parallel synchronization. | |
| Int64 | timestamp () const |
| Returns the group's timestamp. This time is incremented after every modification. | |
| void | attachObserver (const void *ref, IItemGroupObserver *obs) |
| Attaches an observer. | |
| void | detachObserver (const void *ref) |
| Detaches an observer. | |
| bool | hasInfoObserver () const |
| Indicates if the content of this group is observed. | |
| void | setComputeFunctor (IFunctor *functor) |
| Defines a group calculation function. | |
| bool | hasComputeFunctor () const |
| Indicates if the group is calculated. | |
| void | destroy () |
| Destroys the group. After this call, the group becomes a null group. | |
| SharedPtrT< GroupIndexTable > | localIdToIndex () |
| Table of local IDs to a position for all entities in the group. | |
| IVariableSynchronizer * | synchronizer () |
| Group synchronizer. | |
| bool | hasSynchronizer () |
| Indicates if this group has a synchronizer. | |
| bool | checkIsSorted () const |
| Checks and returns whether the group is sorted by increasing uniqueId(). | |
| bool | isContigousLocalIds () const |
| bool | isContiguousLocalIds () const |
| Indicates if the group entities have contiguous localIds(). | |
| void | checkLocalIdsAreContigous () const |
| void | checkLocalIdsAreContiguous () const |
| Checks if the group entities have contiguous localIds(). | |
| void | shrinkMemory () |
| Limits the maximum memory used by the group. | |
| Int64 | capacity () const |
| Number of allocated elements. | |
| ItemGroupImplInternal * | _internalApi () const |
| Internal Arcane API. | |
| Int32Array & | unguardedItemsLocalId (const bool self_invalidate=true) |
| Public Member Functions inherited from Arcane::SharedReference | |
| void | addRef () override |
| Increments the reference counter. | |
| void | removeRef () override |
| Decrements the reference counter. | |
| Int32 | refCount () const override |
| Returns the value of the reference counter. | |
| Public Member Functions inherited from Arcane::ISharedReference | |
| virtual | ~ISharedReference ()=default |
| Releases resources. | |
Static Public Member Functions | |
| static ItemGroupImpl * | checkSharedNull () |
| static void | _buildSharedNull () |
| Internal. | |
| static void | _destroySharedNull () |
| Internal. | |
Friends | |
| class | ItemGroupSubPartsByType |
Definition at line 72 of file ItemGroupImpl.h.
| Arcane::ItemGroupImpl::ItemGroupImpl | ( | ) |
Constructs a null group.
Definition at line 146 of file ItemGroupImpl.cc.
Referenced by activeCellGroup(), activeFaceGroup(), cellGroup(), createSubGroup(), edgeGroup(), faceGroup(), findSubGroup(), ghostGroup(), innerActiveFaceGroup(), innerFaceGroup(), ItemGroupImpl(), levelCellGroup(), nodeGroup(), outerActiveFaceGroup(), outerFaceGroup(), ownActiveCellGroup(), ownActiveFaceGroup(), ownGroup(), ownLevelCellGroup(), and parent().
| Arcane::ItemGroupImpl::ItemGroupImpl | ( | IItemFamily * | family, |
| const String & | name ) |
Brief: Constructs a group. Constructs an empty group named name, associated with the family family.
Definition at line 126 of file ItemGroupImpl.cc.
References name().
| Arcane::ItemGroupImpl::ItemGroupImpl | ( | IItemFamily * | family, |
| ItemGroupImpl * | parent, | ||
| const String & | name ) |
Brief: Constructs a child group of another group. Constructs a group named name which is a child of group parent. The type of this group is the same as that of the family it belongs to.
Definition at line 136 of file ItemGroupImpl.cc.
References ItemGroupImpl(), name(), and parent().
|
virtual |
Releases resources.
Definition at line 156 of file ItemGroupImpl.cc.
|
static |
Definition at line 1650 of file ItemGroupImpl.cc.
|
static |
Definition at line 1662 of file ItemGroupImpl.cc.
| ItemGroupImplInternal * Arcane::ItemGroupImpl::_internalApi | ( | ) | const |
Definition at line 1722 of file ItemGroupImpl.cc.
| ItemGroupImpl * Arcane::ItemGroupImpl::activeCellGroup | ( | ) |
AMR.
Brief: Group of active cells of this group.
An active cell is a leaf cell in the AMR tree.
Definition at line 485 of file ItemGroupImpl.cc.
References createSubGroup(), Arcane::IK_Cell, ItemGroupImpl(), and itemKind().
| ItemGroupImpl * Arcane::ItemGroupImpl::activeFaceGroup | ( | ) |
Brief: Group of domain-specific active faces.
This group only exists for a cell group (itemKind()==IK_Cell). An active face is internal if it is connected to two active cells of this group.
Definition at line 558 of file ItemGroupImpl.cc.
References createSubGroup(), Arcane::IK_Cell, ItemGroupImpl(), and itemKind().
| void Arcane::ItemGroupImpl::addItems | ( | Int32ConstArrayView | items_local_id, |
| bool | check_if_present ) |
Adds entities with local IDs items_local_id.
Definition at line 771 of file ItemGroupImpl.cc.
References Arcane::Array< T >::add(), ARCANE_FATAL, Arcane::arcaneIsCheck(), Arcane::MemoryUtils::checkResizeArrayWithCapacity(), checkValid(), Arcane::MemoryUtils::copy(), Arcane::Array< T >::fill(), Arcane::ITraceMng::info(), isAllItems(), mesh(), name(), Arcane::AbstractArray< T >::size(), Arcane::ConstArrayView< T >::size(), Arcane::Array< T >::subView(), and Arcane::IMeshBase::traceMng().
Referenced by removeAddItems().
| void Arcane::ItemGroupImpl::applyOperation | ( | IItemOperationByBasicType * | operation | ) |
Applies the operation operation to the group entities.
Definition at line 1226 of file ItemGroupImpl.cc.
| void Arcane::ItemGroupImpl::attachObserver | ( | const void * | ref, |
| IItemGroupObserver * | obs ) |
Attaches an observer.
| ref | reference of the observer emitter |
| obs | Observer |
Definition at line 1332 of file ItemGroupImpl.cc.
References Arcane::IItemGroupObserver::needInfo().
Referenced by createSubGroup().
| void Arcane::ItemGroupImpl::beginTransaction | ( | ) |
Starts a transaction.
A transaction allows write access to protected groups. Using this mechanism indicates to Arcane that the user is aware that they are modifying a group 'at their own risk'.
Definition at line 210 of file ItemGroupImpl.cc.
References ARCANE_FATAL.
| Int64 Arcane::ItemGroupImpl::capacity | ( | ) | const |
Number of allocated elements.
Definition at line 1692 of file ItemGroupImpl.cc.
References Arcane::AbstractArray< T >::capacity().
Referenced by Arcane::MeshUtils::printMeshGroupsMemoryUsage().
| ItemGroupImpl * Arcane::ItemGroupImpl::cellGroup | ( | ) |
Group of cells of the elements of this group.
Definition at line 432 of file ItemGroupImpl.cc.
References createSubGroup(), Arcane::IK_Cell, ItemGroupImpl(), and itemKind().
| void Arcane::ItemGroupImpl::changeIds | ( | Int32ConstArrayView | old_to_new_ids | ) |
Changes the indices of the group entities.
Definition at line 664 of file ItemGroupImpl.cc.
References checkNeedUpdate(), Arcane::ITraceMng::debug(), Arcane::Trace::High, isAllItems(), name(), and Arcane::ArrayView< T >::size().
| bool Arcane::ItemGroupImpl::checkIsSorted | ( | ) | const |
Checks and returns whether the group is sorted by increasing uniqueId().
Definition at line 1607 of file ItemGroupImpl.cc.
References null(), and Arcane::ConstArrayView< T >::size().
|
inline |
Definition at line 419 of file ItemGroupImpl.h.
References checkLocalIdsAreContiguous().
| void Arcane::ItemGroupImpl::checkLocalIdsAreContiguous | ( | ) | const |
Checks if the group entities have contiguous localIds().
If so, isContiguousLocalIds() will return true.
Definition at line 1683 of file ItemGroupImpl.cc.
Referenced by checkLocalIdsAreContigous().
| bool Arcane::ItemGroupImpl::checkNeedUpdate | ( | ) |
Updates the group if necessary.
A group must be updated when it becomes invalid, for example after calling invalidate().
| true | if the group was updated, |
| false | otherwise. |
Definition at line 1180 of file ItemGroupImpl.cc.
Referenced by changeIds(), and invalidate().
|
static |
Definition at line 112 of file ItemGroupImpl.cc.
| void Arcane::ItemGroupImpl::checkValid | ( | ) |
Checks that the group is valid.
Definition at line 1116 of file ItemGroupImpl.cc.
Referenced by addItems(), removeAddItems(), removeSuppressedItems(), and setItems().
| void Arcane::ItemGroupImpl::clear | ( | ) |
Removes the entities from the group.
Definition at line 1198 of file ItemGroupImpl.cc.
References Arcane::Array< T >::clear(), and Arcane::AbstractArray< T >::empty().
| ItemGroupImpl * Arcane::ItemGroupImpl::createSubGroup | ( | const String & | suffix, |
| IItemFamily * | family, | ||
| ItemGroupComputeFunctor * | functor ) |
Creates a calculated subgroup.
The memory management of the functor is then delegated to the group
Definition at line 624 of file ItemGroupImpl.cc.
References ARCANE_FATAL, attachObserver(), Arcane::IItemFamily::createGroup(), invalidate(), ItemGroupImpl(), name(), Arcane::newItemGroupObserverT(), and setComputeFunctor().
Referenced by activeCellGroup(), activeFaceGroup(), cellGroup(), edgeGroup(), faceGroup(), ghostGroup(), innerActiveFaceGroup(), innerFaceGroup(), levelCellGroup(), nodeGroup(), outerActiveFaceGroup(), outerFaceGroup(), ownActiveCellGroup(), ownActiveFaceGroup(), ownGroup(), and ownLevelCellGroup().
| void Arcane::ItemGroupImpl::destroy | ( | ) |
Destroys the group. After this call, the group becomes a null group.
Definition at line 1542 of file ItemGroupImpl.cc.
References detachObserver().
| void Arcane::ItemGroupImpl::detachObserver | ( | const void * | ref | ) |
Detaches an observer.
| ref | reference of the observer emitter |
Definition at line 1353 of file ItemGroupImpl.cc.
References Arcane::IItemGroupObserver::needInfo().
Referenced by destroy().
| ItemGroupImpl * Arcane::ItemGroupImpl::edgeGroup | ( | ) |
Group of edges of the elements of this group.
Definition at line 400 of file ItemGroupImpl.cc.
References createSubGroup(), Arcane::IK_Edge, ItemGroupImpl(), and itemKind().
| bool Arcane::ItemGroupImpl::empty | ( | ) | const |
True if the group is empty.
Definition at line 192 of file ItemGroupImpl.cc.
| void Arcane::ItemGroupImpl::endTransaction | ( | ) |
| ItemGroupImpl * Arcane::ItemGroupImpl::faceGroup | ( | ) |
Group of faces of the elements of this group.
Definition at line 416 of file ItemGroupImpl.cc.
References createSubGroup(), Arcane::IK_Face, ItemGroupImpl(), and itemKind().
| ItemGroupImpl * Arcane::ItemGroupImpl::findSubGroup | ( | const String & | suffix | ) |
Accesses a calculated subgroup.
The memory management of the functor is then delegated to the group
Definition at line 647 of file ItemGroupImpl.cc.
References ItemGroupImpl(), and name().
| const String & Arcane::ItemGroupImpl::fullName | ( | ) | const |
Full group name (with mesh + family).
Definition at line 174 of file ItemGroupImpl.cc.
| ItemGroupImpl * Arcane::ItemGroupImpl::ghostGroup | ( | ) |
Items in the group not owned by the subdomain.
Definition at line 354 of file ItemGroupImpl.cc.
References createSubGroup(), and ItemGroupImpl().
| bool Arcane::ItemGroupImpl::hasComputeFunctor | ( | ) | const |
Indicates if the group is calculated.
Definition at line 1404 of file ItemGroupImpl.cc.
Referenced by Arcane::MeshUtils::printMeshGroupsMemoryUsage(), and shrinkMemory().
| bool Arcane::ItemGroupImpl::hasInfoObserver | ( | ) | const |
Indicates if the content of this group is observed.
This has the effect of enabling incremental modification mechanisms.
A group may only be observed for its structure by non-incrementally recalculated objects.
Definition at line 1385 of file ItemGroupImpl.cc.
| bool Arcane::ItemGroupImpl::hasSynchronizer | ( | ) |
Indicates if this group has a synchronizer.
Definition at line 1598 of file ItemGroupImpl.cc.
| ItemGroupImpl * Arcane::ItemGroupImpl::innerActiveFaceGroup | ( | ) |
Brief: Group of active internal faces of the elements of this group.
This group only exists for a cell group (itemKind()==IK_Cell). An active face is internal if it is connected to two active cells of this group.
Definition at line 591 of file ItemGroupImpl.cc.
References createSubGroup(), Arcane::IK_Cell, ItemGroupImpl(), and itemKind().
| ItemGroupImpl * Arcane::ItemGroupImpl::innerFaceGroup | ( | ) |
Brief: Group of internal faces of the elements of this group.
This group only exists for a cell group (itemKind()==IK_Cell). A face is internal if it is connected to two cells of this group.
Definition at line 448 of file ItemGroupImpl.cc.
References createSubGroup(), Arcane::IK_Cell, ItemGroupImpl(), and itemKind().
| ItemGroupImpl * Arcane::ItemGroupImpl::interfaceGroup | ( | ) |
Definition at line 368 of file ItemGroupImpl.cc.
| void Arcane::ItemGroupImpl::invalidate | ( | bool | force_recompute | ) |
Invalidates the group.
A very aggressive operation that causes the invalidation of all dependencies, both of observers and constructed sub-groups.
Definition at line 714 of file ItemGroupImpl.cc.
References checkNeedUpdate(), Arcane::ITraceMng::debug(), Arcane::Trace::High, and name().
Referenced by createSubGroup(), and shrinkMemory().
| bool Arcane::ItemGroupImpl::isAllItems | ( | ) | const |
Indicates if the group is the group of all entities.
Definition at line 1007 of file ItemGroupImpl.cc.
Referenced by addItems(), changeIds(), removeAddItems(), and setOwn().
|
inline |
Definition at line 413 of file ItemGroupImpl.h.
References isContigousLocalIds(), and isContiguousLocalIds().
Referenced by isContigousLocalIds().
| bool Arcane::ItemGroupImpl::isContiguousLocalIds | ( | ) | const |
Indicates if the group entities have contiguous localIds().
Definition at line 1674 of file ItemGroupImpl.cc.
Referenced by isContigousLocalIds().
| bool Arcane::ItemGroupImpl::isLocalToSubDomain | ( | ) | const |
AMR OFF.
True if the group is local to the subdomain.
Definition at line 753 of file ItemGroupImpl.cc.
| bool Arcane::ItemGroupImpl::isOwn | ( | ) | const |
Returns whether the group contains only elements specific to the subdomain.
Definition at line 290 of file ItemGroupImpl.cc.
Referenced by removeAddItems().
| IItemFamily * Arcane::ItemGroupImpl::itemFamily | ( | ) | const |
Family to which the group belongs (or 0 if none).
Definition at line 272 of file ItemGroupImpl.cc.
Referenced by setItems().
| ItemInfoListView Arcane::ItemGroupImpl::itemInfoListView | ( | ) | const |
List of entities that the group relies on.
Definition at line 744 of file ItemGroupImpl.cc.
Referenced by setItems().
| eItemKind Arcane::ItemGroupImpl::itemKind | ( | ) | const |
Type of the group. It is the type of its elements.
Definition at line 323 of file ItemGroupImpl.cc.
Referenced by Arcane::ItemGroup::_check(), activeCellGroup(), activeFaceGroup(), cellGroup(), edgeGroup(), faceGroup(), innerActiveFaceGroup(), innerFaceGroup(), levelCellGroup(), nodeGroup(), outerActiveFaceGroup(), outerFaceGroup(), ownActiveCellGroup(), ownActiveFaceGroup(), and ownLevelCellGroup().
| ItemInternalList Arcane::ItemGroupImpl::itemsInternal | ( | ) | const |
List of entities that the group relies on.
Definition at line 735 of file ItemGroupImpl.cc.
Referenced by removeAddItems().
| Int32ConstArrayView Arcane::ItemGroupImpl::itemsLocalId | ( | ) | const |
List of local IDs of the entities in this group.
Definition at line 201 of file ItemGroupImpl.cc.
| ItemGroupImpl * Arcane::ItemGroupImpl::levelCellGroup | ( | const Integer & | level | ) |
Brief: Group of active cells of this group.
An active cell is a leaf cell in the AMR tree.
Definition at line 521 of file ItemGroupImpl.cc.
References createSubGroup(), Arcane::IK_Cell, ItemGroupImpl(), and itemKind().
| SharedPtrT< GroupIndexTable > Arcane::ItemGroupImpl::localIdToIndex | ( | ) |
Table of local IDs to a position for all entities in the group.
Definition at line 1566 of file ItemGroupImpl.cc.
References Arcane::ITraceMng::debug(), and Arcane::Trace::High.
| IMesh * Arcane::ItemGroupImpl::mesh | ( | ) | const |
Mesh to which the group belongs (0 for the null group).
Definition at line 263 of file ItemGroupImpl.cc.
Referenced by addItems(), and removeAddItems().
| const String & Arcane::ItemGroupImpl::name | ( | ) | const |
Group name.
Definition at line 165 of file ItemGroupImpl.cc.
Referenced by addItems(), changeIds(), createSubGroup(), findSubGroup(), invalidate(), ItemGroupImpl(), ItemGroupImpl(), removeAddItems(), removeSuppressedItems(), and setItems().
|
inlinevirtual |
Number of references on the group.
Definition at line 120 of file ItemGroupImpl.h.
References Arcane::SharedReference::refCount().
Referenced by Arcane::MeshUtils::printMeshGroupsMemoryUsage().
| bool Arcane::ItemGroupImpl::needSynchronization | ( | ) | const |
Indicates if the group structurally needs parallel synchronization.
Definition at line 1312 of file ItemGroupImpl.cc.
| ItemGroupImpl * Arcane::ItemGroupImpl::nodeGroup | ( | ) |
Group of nodes of the elements of this group.
Definition at line 384 of file ItemGroupImpl.cc.
References createSubGroup(), Arcane::IK_Node, ItemGroupImpl(), and itemKind().
| bool Arcane::ItemGroupImpl::null | ( | ) | const |
Returns true if the group is null.
Definition at line 281 of file ItemGroupImpl.cc.
Referenced by checkIsSorted().
| ItemGroupImpl * Arcane::ItemGroupImpl::outerActiveFaceGroup | ( | ) |
Brief: Group of active external faces of the elements of this group.
This group only exists for a cell group (itemKind()==IK_Cell). An active face is external if it is connected to only one cell of this group and is active.
Definition at line 608 of file ItemGroupImpl.cc.
References createSubGroup(), Arcane::IK_Cell, ItemGroupImpl(), and itemKind().
| ItemGroupImpl * Arcane::ItemGroupImpl::outerFaceGroup | ( | ) |
Brief: Group of external faces of the elements of this group.
This group only exists for a cell group (itemKind()==IK_Cell). A face is external if it is connected to only one cell of this group.
Definition at line 465 of file ItemGroupImpl.cc.
References createSubGroup(), Arcane::IK_Cell, ItemGroupImpl(), and itemKind().
| ItemGroupImpl * Arcane::ItemGroupImpl::ownActiveCellGroup | ( | ) |
Brief: Group of own active cells of this group.
Definition at line 503 of file ItemGroupImpl.cc.
References createSubGroup(), Arcane::IK_Cell, ItemGroupImpl(), itemKind(), and setOwn().
| ItemGroupImpl * Arcane::ItemGroupImpl::ownActiveFaceGroup | ( | ) |
Brief: Group of active external faces of the elements of this group.
This group only exists for a cell group (itemKind()==IK_Cell). An active face is external if it is connected to only one cell of this group and is active.
Definition at line 575 of file ItemGroupImpl.cc.
References createSubGroup(), Arcane::IK_Cell, ItemGroupImpl(), and itemKind().
| ItemGroupImpl * Arcane::ItemGroupImpl::ownGroup | ( | ) |
Group of entities owned by the entities of this group.
Definition at line 332 of file ItemGroupImpl.cc.
References createSubGroup(), ItemGroupImpl(), and setOwn().
| ItemGroupImpl * Arcane::ItemGroupImpl::ownLevelCellGroup | ( | const Integer & | level | ) |
Brief: Group of own active cells of this group.
Definition at line 539 of file ItemGroupImpl.cc.
References createSubGroup(), Arcane::IK_Cell, ItemGroupImpl(), itemKind(), and setOwn().
| ItemGroupImpl * Arcane::ItemGroupImpl::parent | ( | ) | const |
Parent group (0 if none).
Definition at line 254 of file ItemGroupImpl.cc.
References ItemGroupImpl().
Referenced by ItemGroupImpl().
| ItemGroup Arcane::ItemGroupImpl::parentGroup | ( | ) |
Parent group.
Definition at line 1215 of file ItemGroupImpl.cc.
| void Arcane::ItemGroupImpl::removeAddItems | ( | Int32ConstArrayView | removed_local_id, |
| Int32ConstArrayView | added_local_id, | ||
| bool | check_if_present ) |
Removes and adds the entities removed_local_id and added_local_id from the group.
Definition at line 856 of file ItemGroupImpl.cc.
References addItems(), ARCANE_FATAL, ARCANE_THROW, Arcane::arcaneIsCheck(), checkValid(), Arcane::ITraceMng::info(), isAllItems(), isOwn(), Arcane::ItemBase::isSuppressed(), itemsInternal(), Arcane::ItemBase::localId(), mesh(), Arcane::IMesh::meshPartInfo(), name(), removeItems(), Arcane::Array< T >::resize(), Arcane::ConstArrayView< T >::size(), size(), and Arcane::IMeshBase::traceMng().
| void Arcane::ItemGroupImpl::removeItems | ( | Int32ConstArrayView | items_local_id, |
| bool | check_if_present ) |
Removes the entities items_local_id from the group.
Definition at line 847 of file ItemGroupImpl.cc.
Referenced by removeAddItems().
| void Arcane::ItemGroupImpl::removeSuppressedItems | ( | ) |
Removes entities from the group whose isSuppressed() flag is true.
Definition at line 1040 of file ItemGroupImpl.cc.
References Arcane::Array< T >::add(), Arcane::arcaneIsCheck(), checkValid(), Arcane::ITraceMng::debug(), Arcane::ITraceMng::fatal(), Arcane::Trace::High, name(), Arcane::Array< T >::reserve(), Arcane::Array< T >::resize(), Arcane::AbstractArray< T >::size(), and Arcane::ConstArrayView< T >::size().
| void Arcane::ItemGroupImpl::setComputeFunctor | ( | IFunctor * | functor | ) |
Defines a group calculation function.
Definition at line 1394 of file ItemGroupImpl.cc.
Referenced by createSubGroup().
| void Arcane::ItemGroupImpl::setIsAllItems | ( | ) |
Definition at line 998 of file ItemGroupImpl.cc.
| void Arcane::ItemGroupImpl::setItems | ( | Int32ConstArrayView | items_local_id | ) |
Positions the group entities at items_local_id.
Definition at line 927 of file ItemGroupImpl.cc.
References ARCANE_FATAL, Arcane::arcaneIsCheck(), checkValid(), Arcane::ArrayView< T >::copy(), Arcane::ITraceMng::debug(), Arcane::Trace::High, name(), Arcane::Array< T >::resize(), Arcane::ConstArrayView< T >::size(), and size().
Referenced by setItems().
| void Arcane::ItemGroupImpl::setItems | ( | Int32ConstArrayView | items_local_id, |
| bool | do_sort ) |
Positions the group entities at items_local_id, optionally sorting them.
Definition at line 982 of file ItemGroupImpl.cc.
References itemFamily(), itemInfoListView(), and setItems().
| void Arcane::ItemGroupImpl::setLocalToSubDomain | ( | bool | v | ) |
Sets the boolean indicating if the group is local to the subdomain.
Definition at line 762 of file ItemGroupImpl.cc.
| void Arcane::ItemGroupImpl::setOwn | ( | bool | v | ) |
Sets whether the group property is local or not.
Definition at line 299 of file ItemGroupImpl.cc.
References ARCANE_THROW, and isAllItems().
Referenced by ownActiveCellGroup(), ownGroup(), and ownLevelCellGroup().
|
inlinevirtual |
Definition at line 109 of file ItemGroupImpl.h.
| void Arcane::ItemGroupImpl::shrinkMemory | ( | ) |
Limits the maximum memory used by the group.
If the group is a calculated group, it is invalidated and all its allocated memory is released.
If the group is a user-created group (i.e., persistent), it ensures that the consumed memory is minimal. Normally, Arcane allocates a few more elements than necessary to avoid frequent reallocations.
Definition at line 1702 of file ItemGroupImpl.cc.
References hasComputeFunctor(), and invalidate().
| Integer Arcane::ItemGroupImpl::size | ( | ) | const |
Number of entities in the group.
Definition at line 183 of file ItemGroupImpl.cc.
Referenced by Arcane::MeshUtils::printMeshGroupsMemoryUsage(), removeAddItems(), and setItems().
| IVariableSynchronizer * Arcane::ItemGroupImpl::synchronizer | ( | ) |
Group synchronizer.
Definition at line 1581 of file ItemGroupImpl.cc.
References Arcane::ParallelMngUtils::createSynchronizerRef(), Arcane::ITraceMng::debug(), and Arcane::Trace::High.
| Int64 Arcane::ItemGroupImpl::timestamp | ( | ) | const |
Returns the group's timestamp. This time is incremented after every modification.
Definition at line 1323 of file ItemGroupImpl.cc.
| Int32Array & Arcane::ItemGroupImpl::unguardedItemsLocalId | ( | const bool | self_invalidate = true | ) |
Definition at line 237 of file ItemGroupImpl.cc.
|
friend |
Definition at line 77 of file ItemGroupImpl.h.