12#ifndef ARCANE_CORE_IITEMFAMILY_H
13#define ARCANE_CORE_IITEMFAMILY_H
84 friend mesh::DynamicMesh;
85 friend mesh::ItemFamily;
93 virtual void build() = 0;
145 virtual void setParentFamily(
IItemFamily* parent) = 0;
158 virtual void addChildFamily(
IItemFamily* family) = 0;
231 virtual void removeNeedRemoveMarkedItems() = 0;
240 ARCANE_DEPRECATED_REASON(
"Use MeshUtils::findOneItem() instead")
341 bool do_fatal = true) const = 0;
359 bool do_fatal = true) const = 0;
387 ARCCORE_DEPRECATED_2020(
"Do not use this method. Try to get 'ISubDomain' from another way")
583 ARCANE_DEPRECATED_REASON(
"Y2024: use findAdjacency() instead")
631 virtual void internalRemoveItems(
Int32ConstArrayView local_ids,
bool keep_ghost =
false) = 0;
Declarations of Arcane's general types.
Declarations of types on entities.
File containing declarations concerning the message passing model.
Constant view of an array of type T.
Class managing observers associated with an event.
Interface of a DoF family.
Interface for connectivity information by entity type.
Interface to manage connectivity.
Interface for entity family policies.
Interface for modifying the topology of entities within a family.
Interface of an entity family.
virtual void partialEndUpdate()=0
Partial update.
virtual void usedVariables(VariableCollection collection)=0
Adds the list of variables used by this family to the collection.
virtual IItemConnectivityInfo * localConnectivityInfos() const =0
Information on local connectivity within the subdomain for this family.
virtual ISubDomain * subDomain() const =0
Associated sub-domain.
virtual ItemGroup findGroup(const String &name) const =0
Searches for a group.
virtual IVariableSynchronizer * allItemsSynchronizer()=0
Synchronizer on all entities of the family.
virtual Integer parentFamilyDepth() const =0
Gives the nesting depth of the current mesh.
virtual EventObservableView< const ItemFamilyItemListChangedEventArgs & > itemListChangedEvent()=0
Event for entity addition and deletion.
virtual IParticleFamily * toParticleFamily()=0
Returns the interface of the particle family for this family.
virtual void notifyItemsUniqueIdChanged()=0
Notifies that the unique IDs of the entities have been modified.
virtual IItemFamilyTopologyModifier * _topologyModifier()=0
Topology modifier interface.
virtual void checkUniqueIds(Int64ConstArrayView unique_ids)=0
Checks that the unique_ids are truly unique for all subdomains.
virtual IItemFamilyPolicyMng * policyMng()=0
Interface of behaviors/policies associated with this family.
virtual void readFromDump()=0
Reads data from a dump.
virtual ItemGroupCollection groups() const =0
Collection of groups in this family.
virtual ItemGroup allItems() const =0
Group of all entities.
virtual void setHasUniqueIdMap(bool v)=0
Indicates whether the family has a conversion table from uniqueId to localId.
virtual void copyItemsValues(Int32ConstArrayView source, Int32ConstArrayView destination)=0
virtual void partialEndUpdateVariable(IVariable *variable)=0
Updates a variable.
virtual ItemInternal * findOneItem(Int64 unique_id)=0
Unique ID entity unique_id.
virtual ItemInternalArrayView itemsInternal()=0
Internal array of entities.
virtual void prepareForDump()=0
Prepares data for dumping.
virtual void synchronize(VariableCollection variables)=0
Synchronizes the variables variables.
virtual ItemGroup createGroup(const String &name, Int32ConstArrayView local_ids, bool do_override=false)=0
Creates an entity group named name containing the entities local_ids.
virtual Int32 maxLocalId() const =0
virtual void computeSynchronizeInfos()=0
Constructs the structures necessary for synchronization.
virtual IItemConnectivityInfo * globalConnectivityInfos() const =0
Information on global connectivity across all subdomains.
virtual void clearItems()=0
Deletes all entities in the family.
virtual void checkValid()=0
Check the validity of internal structures (internal).
virtual bool hasUniqueIdMap() const =0
Indicates if the family has a uniqueId to localId conversion table.
virtual IParallelMng * parallelMng() const =0
Associated parallelism manager.
virtual IItemFamilyCollection childFamilies()=0
Child families of this family.
virtual ItemPairGroup findAdjencyItems(const ItemGroup &group, const ItemGroup &sub_group, eItemKind link_kind, Integer nb_layer)=0
Searches for an adjacency list.
virtual String name() const =0
Family name.
virtual ItemInfoListView itemInfoListView()=0
View on the entity information list.
virtual IItemFamily * parentFamily() const =0
IItemFamily parent.
virtual IItemInternalSortFunction * itemSortFunction() const =0
Entity sorting function.
virtual eItemKind itemKind() const =0
Entity kind.
virtual void checkValidConnectivity()=0
Verification of the validity of internal structures concerning connectivity.
virtual void copyItemsMeanValues(Int32ConstArrayView first_source, Int32ConstArrayView second_source, Int32ConstArrayView destination)=0
virtual IVariable * findVariable(const String &name, bool throw_exception=false)=0
Searches for the variable name name associated with this family.
virtual ItemPairGroup findAdjacencyItems(const ItemGroup &group, const ItemGroup &sub_group, eItemKind link_kind, Integer nb_layer)
Searches for an adjacency list.
virtual ITraceMng * traceMng() const =0
Associated trace manager.
virtual String fullName() const =0
Full family name (with the mesh's name).
virtual void compactItems(bool do_sort)=0
Compresses the entities.
virtual IMesh * mesh() const =0
Associated mesh.
virtual void notifyItemsOwnerChanged()=0
Notifies that the entities specific to the family's subdomain have been modified.
virtual ItemVectorView view(Int32ConstArrayView local_ids)=0
View on the entities.
virtual IItemFamilyInternal * _internalApi()=0
Internal Arcane API.
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 void removeItems2(mesh::ItemDataList &item_data_list)=0
Removes entities.
virtual IDoFFamily * toDoFFamily()
Returns the interface of the particle family for this family.
virtual void reduceFromGhostItems(IVariable *v, IDataOperation *operation)=0
Applies a reduction operation from ghost items.
virtual void resizeVariables(bool force_resize)=0
Resizes the variables of this family.
virtual Properties * properties()=0
Properties associated with this family.
virtual void experimentalChangeUniqueId(ItemLocalId local_id, ItemUniqueId unique_id)=0
Changes the unique number of the entity.
virtual Integer nbItem() const =0
Number of entities.
virtual VariableItemInt32 & itemsNewOwner()=0
Variable containing the number of the new subdomain owning the entity.
virtual void getCommunicatingSubDomains(Int32Array &sub_domains) const =0
List of communicating sub-domains for the entities.
virtual void partialEndUpdateGroup(const ItemGroup &group)=0
Updates a group.
virtual void addGhostItems(Int64ConstArrayView unique_ids, Int32ArrayView items, Int32ConstArrayView owners)=0
Allocates ghost entities.
virtual void setItemSortFunction(IItemInternalSortFunction *sort_function)=0
Positions the entity sorting function.
virtual void destroyGroups()=0
Deletes all groups in this family.
virtual void endUpdate()=0
Notifies the end of modification of the entity list.
virtual ItemVectorView view()=0
View on all entities in the family.
Interface of an entity sorting function.
Interface of the parallelism manager for a subdomain.
Interface of a particle family.
Interface of the subdomain manager.
Interface of a variable synchronization service.
View of a list to obtain information about entities.
Index of an Item in a variable.
Unique identifier of an entity.
View on a vector of entities.
Unicode character string.
ItemVariableScalarRefT< Int32 > VariableItemInt32
32-bit integer type quantity
eReduceType
Supported reduction types.
Concurrency implementation.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
Collection< ItemGroup > ItemGroupCollection
Collection of mesh item groups.
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.
Collection< IItemFamily * > IItemFamilyCollection
Collection of item families.
ConstArrayView< Int64 > Int64ConstArrayView
C equivalent of a 1D array of 64-bit integers.
ArrayView< Int32 > Int32ArrayView
C equivalent of a 1D array of 32-bit integers.
eItemKind
Mesh entity type.
Array< Int32 > Int32Array
Dynamic one-dimensional array of 32-bit integers.
std::int32_t Int32
Signed integer type of 32 bits.