7#include "arcane/mesh/ItemGroupDynamicMeshObserver.h"
12#include "arcane/mesh/DynamicMesh.h"
13#include "arcane/mesh/DynamicMeshIncrementalBuilder.h"
14#include "arcane/mesh/ItemFamily.h"
16#include "arcane/utils/ITraceMng.h"
17#include "arcane/utils/ArgumentException.h"
19#include "arcane/ItemPrinter.h"
33 IItemFamily* parent_family = m_mesh->parentGroup().itemFamily();
36 ARCANE_ASSERT((m_mesh->cellFamily()->parentFamily()->itemKind() == parent_family->
itemKind()),
37 (
"Bad Face parent family %s", m_mesh->cellFamily()->parentFamily()->name().localstr()));
41 m_mesh->incrementalBuilder()->addParentItems(all_group,
IK_Cell);
50 IItemFamily* parent_family = m_mesh->parentGroup().itemFamily();
59 for (
Integer i = 0; i < parent_deleted_lids.
size(); ++i) {
60 Int64 parent_uid = parent_internals[parent_deleted_lids[i]].
uniqueId();
61 if (parent_uid != NULL_ITEM_UNIQUE_ID)
63 parent_uids.
add(parent_uid);
78 <<
" parent item " << parent_uids[i];
82 m_mesh->removeCells(to_delete_lids);
96 ITraceMng* trace_mng = m_mesh->traceMng();
100 for (
Integer i = 0; i < old_to_new_ids.
size(); ++i) {
101 trace_mng->
debug(
Trace::Highest) <<
"OldToNew " << parent_family->
name() <<
" " << i <<
" " << old_to_new_ids[i];
#define ARCANE_CHECK_POINTER(ptr)
Macro returning the pointer ptr if it is not null or throwing an exception if it is null.
#define ARCANE_FATAL(...)
Macro throwing a FatalErrorException.
Integer size() const
Number of elements in the vector.
Exception when an argument is invalid.
void add(ConstReferenceType val)
Adds element val to the end of the array.
void reserve(Int64 new_capacity)
Reserves memory for new_capacity elements.
constexpr Integer size() const noexcept
Number of elements in the array.
Interface of an entity family.
virtual IItemFamily * parentFamily() const =0
IItemFamily parent.
virtual eItemKind itemKind() const =0
Entity kind.
virtual ItemVectorView view(Int32ConstArrayView local_ids)=0
View on the entities.
virtual void itemsUniqueIdToLocalId(Int32ArrayView local_ids, Int64ConstArrayView unique_ids, bool do_fatal=true) const =0
Converts an array of unique numbers to local numbers.
virtual TraceMessageDbg debug(Trace::eDebugLevel=Trace::Medium)=0
Stream for a debug message.
__host__ __device__ ItemUniqueId uniqueId(Int32 local_id) const
uniqueId() of the entity with local ID local_id
View of a list to obtain information about entities.
Utility class for printing information about an entity.
View on a vector of entities.
String name() const override
Family name.
void executeReduce(const Int32ConstArrayView *info)
Execute the action associated with the extension.
void executeExtend(const Int32ConstArrayView *new_items_info)
Execute the action associated with the extension.
void executeInvalidate()
Execute the action associated with invalidation.
void executeCompact(const Int32ConstArrayView *pinfo)
Executes the action associated with compaction.
UniqueArray< Int64 > Int64UniqueArray
Dynamic 1D array of 64-bit integers.
std::int64_t Int64
Signed integer type of 64 bits.
Int32 Integer
Type representing an integer.
ConstArrayView< Int32 > Int32ConstArrayView
C equivalent of a 1D array of 32-bit integers.
bool arcaneIsDebug()
True if the ARCANE_DEBUG macro is defined.
UniqueArray< Int32 > Int32UniqueArray
Dynamic 1D array of 32-bit integers.
@ IK_Cell
Cell mesh entity.