Arcane  4.1.12.0
User documentation
Loading...
Searching...
No Matches
Arcane::ItemGroupImpl Class Reference

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 ISharedReferencesharedReference ()
const Stringname () const
 Group name.
const StringfullName () const
 Full group name (with mesh + family).
virtual Integer nbRef () const
 Number of references on the group.
ItemGroupImplparent () 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.
ItemGroupImplownGroup ()
 Group of entities owned by the entities of this group.
ItemGroupImplghostGroup ()
 Items in the group not owned by the subdomain.
ItemGroupImplinterfaceGroup ()
ItemGroupImplnodeGroup ()
 Group of nodes of the elements of this group.
ItemGroupImpledgeGroup ()
 Group of edges of the elements of this group.
ItemGroupImplfaceGroup ()
 Group of faces of the elements of this group.
ItemGroupImplcellGroup ()
 Group of cells of the elements of this group.
ItemGroupImplcreateSubGroup (const String &suffix, IItemFamily *family, ItemGroupComputeFunctor *functor)
 Creates a calculated subgroup.
ItemGroupImplfindSubGroup (const String &suffix)
 Accesses a calculated subgroup.
ItemGroupImplinnerFaceGroup ()
 Brief: Group of internal faces of the elements of this group.
ItemGroupImplouterFaceGroup ()
 Brief: Group of external faces of the elements of this group.
ItemGroupImplactiveCellGroup ()
 AMR.
ItemGroupImplownActiveCellGroup ()
 Brief: Group of own active cells of this group.
ItemGroupImpllevelCellGroup (const Integer &level)
 Brief: Group of active cells of this group.
ItemGroupImplownLevelCellGroup (const Integer &level)
 Brief: Group of own active cells of this group.
ItemGroupImplactiveFaceGroup ()
 Brief: Group of domain-specific active faces.
ItemGroupImplownActiveFaceGroup ()
 Brief: Group of active external faces of the elements of this group.
ItemGroupImplinnerActiveFaceGroup ()
 Brief: Group of active internal faces of the elements of this group.
ItemGroupImplouterActiveFaceGroup ()
 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.
IMeshmesh () 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.
IItemFamilyitemFamily () 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< GroupIndexTablelocalIdToIndex ()
 Table of local IDs to a position for all entities in the group.
IVariableSynchronizersynchronizer ()
 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.
Int32ArrayunguardedItemsLocalId (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 ItemGroupImplcheckSharedNull ()
static void _buildSharedNull ()
 Internal.
static void _destroySharedNull ()
 Internal.

Friends

class ItemGroupSubPartsByType

Detailed Description

Definition at line 72 of file ItemGroupImpl.h.

Constructor & Destructor Documentation

◆ ItemGroupImpl() [1/3]

◆ ItemGroupImpl() [2/3]

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().

◆ ItemGroupImpl() [3/3]

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().

◆ ~ItemGroupImpl()

Arcane::ItemGroupImpl::~ItemGroupImpl ( )
virtual

Releases resources.

Definition at line 156 of file ItemGroupImpl.cc.

Member Function Documentation

◆ _buildSharedNull()

void Arcane::ItemGroupImpl::_buildSharedNull ( )
static

Internal.

Definition at line 1650 of file ItemGroupImpl.cc.

◆ _destroySharedNull()

void Arcane::ItemGroupImpl::_destroySharedNull ( )
static

Internal.

Definition at line 1662 of file ItemGroupImpl.cc.

◆ _internalApi()

ItemGroupImplInternal * Arcane::ItemGroupImpl::_internalApi ( ) const

Internal Arcane API.

Definition at line 1722 of file ItemGroupImpl.cc.

◆ activeCellGroup()

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().

◆ activeFaceGroup()

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().

◆ addItems()

◆ applyOperation()

void Arcane::ItemGroupImpl::applyOperation ( IItemOperationByBasicType * operation)

Applies the operation operation to the group entities.

Definition at line 1226 of file ItemGroupImpl.cc.

◆ attachObserver()

void Arcane::ItemGroupImpl::attachObserver ( const void * ref,
IItemGroupObserver * obs )

Attaches an observer.

Parameters
refreference of the observer emitter
obsObserver

Definition at line 1332 of file ItemGroupImpl.cc.

References Arcane::IItemGroupObserver::needInfo().

Referenced by createSubGroup().

◆ beginTransaction()

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.

◆ capacity()

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().

◆ cellGroup()

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().

◆ changeIds()

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().

◆ checkIsSorted()

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().

◆ checkLocalIdsAreContigous()

void Arcane::ItemGroupImpl::checkLocalIdsAreContigous ( ) const
inline
Deprecated
Use checkLocalIdsAreContiguous() instead

Definition at line 419 of file ItemGroupImpl.h.

References checkLocalIdsAreContiguous().

◆ 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().

◆ checkNeedUpdate()

bool Arcane::ItemGroupImpl::checkNeedUpdate ( )

Updates the group if necessary.

A group must be updated when it becomes invalid, for example after calling invalidate().

Return values
trueif the group was updated,
falseotherwise.

Definition at line 1180 of file ItemGroupImpl.cc.

Referenced by changeIds(), and invalidate().

◆ checkSharedNull()

ItemGroupImpl * Arcane::ItemGroupImpl::checkSharedNull ( )
static

Definition at line 112 of file ItemGroupImpl.cc.

◆ checkValid()

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().

◆ clear()

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().

◆ createSubGroup()

◆ destroy()

void Arcane::ItemGroupImpl::destroy ( )

Destroys the group. After this call, the group becomes a null group.

Warning
This method should only be called with extreme caution even in Arcane's low-level code. If references remain on this group the behavior is undefined.

Definition at line 1542 of file ItemGroupImpl.cc.

References detachObserver().

◆ detachObserver()

void Arcane::ItemGroupImpl::detachObserver ( const void * ref)

Detaches an observer.

Parameters
refreference of the observer emitter

Definition at line 1353 of file ItemGroupImpl.cc.

References Arcane::IItemGroupObserver::needInfo().

Referenced by destroy().

◆ edgeGroup()

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().

◆ empty()

bool Arcane::ItemGroupImpl::empty ( ) const

True if the group is empty.

Definition at line 192 of file ItemGroupImpl.cc.

◆ endTransaction()

void Arcane::ItemGroupImpl::endTransaction ( )

Ends a transaction.

Definition at line 221 of file ItemGroupImpl.cc.

References ARCANE_FATAL.

◆ faceGroup()

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().

◆ findSubGroup()

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().

◆ fullName()

const String & Arcane::ItemGroupImpl::fullName ( ) const

Full group name (with mesh + family).

Definition at line 174 of file ItemGroupImpl.cc.

◆ ghostGroup()

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().

◆ hasComputeFunctor()

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().

◆ hasInfoObserver()

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.

◆ hasSynchronizer()

bool Arcane::ItemGroupImpl::hasSynchronizer ( )

Indicates if this group has a synchronizer.

Definition at line 1598 of file ItemGroupImpl.cc.

◆ innerActiveFaceGroup()

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().

◆ innerFaceGroup()

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().

◆ interfaceGroup()

ItemGroupImpl * Arcane::ItemGroupImpl::interfaceGroup ( )

Definition at line 368 of file ItemGroupImpl.cc.

◆ invalidate()

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().

◆ isAllItems()

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().

◆ isContigousLocalIds()

bool Arcane::ItemGroupImpl::isContigousLocalIds ( ) const
inline
Deprecated
Use isContiguousLocalIds() instead

Definition at line 413 of file ItemGroupImpl.h.

References isContigousLocalIds(), and isContiguousLocalIds().

Referenced by isContigousLocalIds().

◆ isContiguousLocalIds()

bool Arcane::ItemGroupImpl::isContiguousLocalIds ( ) const

Indicates if the group entities have contiguous localIds().

Definition at line 1674 of file ItemGroupImpl.cc.

Referenced by isContigousLocalIds().

◆ isLocalToSubDomain()

bool Arcane::ItemGroupImpl::isLocalToSubDomain ( ) const

AMR OFF.

True if the group is local to the subdomain.

Definition at line 753 of file ItemGroupImpl.cc.

◆ isOwn()

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().

◆ itemFamily()

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()

ItemInfoListView Arcane::ItemGroupImpl::itemInfoListView ( ) const

List of entities that the group relies on.

Definition at line 744 of file ItemGroupImpl.cc.

Referenced by setItems().

◆ itemKind()

◆ itemsInternal()

ItemInternalList Arcane::ItemGroupImpl::itemsInternal ( ) const

List of entities that the group relies on.

Definition at line 735 of file ItemGroupImpl.cc.

Referenced by removeAddItems().

◆ itemsLocalId()

Int32ConstArrayView Arcane::ItemGroupImpl::itemsLocalId ( ) const

List of local IDs of the entities in this group.

Definition at line 201 of file ItemGroupImpl.cc.

◆ levelCellGroup()

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().

◆ localIdToIndex()

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.

◆ mesh()

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().

◆ name()

const String & Arcane::ItemGroupImpl::name ( ) const

◆ nbRef()

virtual Integer Arcane::ItemGroupImpl::nbRef ( ) const
inlinevirtual

Number of references on the group.

Definition at line 120 of file ItemGroupImpl.h.

References Arcane::SharedReference::refCount().

Referenced by Arcane::MeshUtils::printMeshGroupsMemoryUsage().

◆ needSynchronization()

bool Arcane::ItemGroupImpl::needSynchronization ( ) const

Indicates if the group structurally needs parallel synchronization.

Definition at line 1312 of file ItemGroupImpl.cc.

◆ nodeGroup()

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().

◆ null()

bool Arcane::ItemGroupImpl::null ( ) const

Returns true if the group is null.

Definition at line 281 of file ItemGroupImpl.cc.

Referenced by checkIsSorted().

◆ outerActiveFaceGroup()

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().

◆ outerFaceGroup()

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().

◆ ownActiveCellGroup()

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().

◆ ownActiveFaceGroup()

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().

◆ ownGroup()

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().

◆ ownLevelCellGroup()

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().

◆ parent()

ItemGroupImpl * Arcane::ItemGroupImpl::parent ( ) const

Parent group (0 if none).

Definition at line 254 of file ItemGroupImpl.cc.

References ItemGroupImpl().

Referenced by ItemGroupImpl().

◆ parentGroup()

ItemGroup Arcane::ItemGroupImpl::parentGroup ( )

Parent group.

Definition at line 1215 of file ItemGroupImpl.cc.

◆ removeAddItems()

void Arcane::ItemGroupImpl::removeAddItems ( Int32ConstArrayView removed_local_id,
Int32ConstArrayView added_local_id,
bool check_if_present )

◆ removeItems()

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().

◆ removeSuppressedItems()

void Arcane::ItemGroupImpl::removeSuppressedItems ( )

◆ setComputeFunctor()

void Arcane::ItemGroupImpl::setComputeFunctor ( IFunctor * functor)

Defines a group calculation function.

Definition at line 1394 of file ItemGroupImpl.cc.

Referenced by createSubGroup().

◆ setIsAllItems()

void Arcane::ItemGroupImpl::setIsAllItems ( )

Definition at line 998 of file ItemGroupImpl.cc.

◆ setItems() [1/2]

void Arcane::ItemGroupImpl::setItems ( Int32ConstArrayView items_local_id)

◆ setItems() [2/2]

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().

◆ setLocalToSubDomain()

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.

◆ setOwn()

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().

◆ sharedReference()

virtual ISharedReference & Arcane::ItemGroupImpl::sharedReference ( )
inlinevirtual

Definition at line 109 of file ItemGroupImpl.h.

◆ shrinkMemory()

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().

◆ size()

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().

◆ synchronizer()

IVariableSynchronizer * Arcane::ItemGroupImpl::synchronizer ( )

◆ timestamp()

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.

◆ unguardedItemsLocalId()

Int32Array & Arcane::ItemGroupImpl::unguardedItemsLocalId ( const bool self_invalidate = true)

Definition at line 237 of file ItemGroupImpl.cc.

◆ ItemGroupSubPartsByType

friend class ItemGroupSubPartsByType
friend

Definition at line 77 of file ItemGroupImpl.h.


The documentation for this class was generated from the following files: