Arcane  4.1.11.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::mesh::ItemFamily

Entity Family. Plus de détails...

#include <arcane/mesh/ItemFamily.h>

Graphe d'héritage de Arcane::mesh::ItemFamily:
Graphe de collaboration de Arcane::mesh::ItemFamily:

Classes

class  AdjacencyInfo
class  InternalApi
class  Variables

Types publics

using ItemInternalMap = ::Arcane::mesh::ItemInternalMap

Fonctions membres publiques

 ItemFamily (IMesh *mesh, eItemKind ik, const String &name)
void build () override
String name () const override
 Nom de la famille.
String fullName () const override
 Nom complet de la famille (avec celui du maillage).
eItemKind itemKind () const override
 Genre des entités.
Integer nbItem () const override
 Nombre d'entités.
Int32 maxLocalId () const override
ItemInternalList itemsInternal () override
 Tableau interne des entités.
ItemInfoListView itemInfoListView () override
 Vue sur la liste d'informations sur les entités.
VariableItemInt32itemsNewOwner () override
 Variable contenant le numéro du nouveau sous-domaine propriétaire de l'entité.
IItemFamilyparentFamily () const override
 IItemFamily parent.
void setParentFamily (IItemFamily *parent) override
 Positionne l'IItemFamily parent.
Integer parentFamilyDepth () const override
 Donne la profondeur d'imbrication du maillage courant.
void addChildFamily (IItemFamily *family) override
 Ajoute d'une famile en dépendance.
IItemFamilyCollection childFamilies () override
 Familles enfantes de cette famille.
void checkValid () override
 Vérification de la validité des structures internes (interne).
void checkValidConnectivity () override
 Vérification de la validité des structures internes concernant la connectivité.
void checkUniqueIds (Int64ConstArrayView unique_ids) override
 Vérifie que les identifiants unique_ids sont bien uniques pour tous les sous-domaines.
ItemInternalMap & itemsMap ()
void endUpdate () override
 Notifie la fin de modification de la liste des entités.
void partialEndUpdate () override
 Mise à jour partielle.
void partialEndUpdateGroup (const ItemGroup &group) override
 Met à jour un groupe.
void partialEndUpdateVariable (IVariable *variable) override
 Met à jour une variable.
void itemsUniqueIdToLocalId (ArrayView< Int64 > ids, bool do_fatal=true) const
void itemsUniqueIdToLocalId (Int32ArrayView local_ids, Int64ConstArrayView unique_ids, bool do_fatal) const override
 Converti un tableau de numéros uniques en numéros locaux.
void itemsUniqueIdToLocalId (Int32ArrayView local_ids, ConstArrayView< ItemUniqueId > unique_ids, bool do_fatal) const override
 Converti un tableau de numéros uniques en numéros locaux.
ISubDomainsubDomain () const override
 Sous-domaine associé
ITraceMngtraceMng () const override
 Gestionnaire de trace associé
IMeshmesh () const override
 Maillage associé
IParallelMngparallelMng () const override
 Gestionnaire de parallélisme associé
IItemConnectivityInfolocalConnectivityInfos () const override
 Informations sur la connectivité locale au sous-domaine pour à cette famille.
IItemConnectivityInfoglobalConnectivityInfos () const override
 Informations sur la connectivité globales à tous les sous-domaines.
void internalRemoveItems (Int32ConstArrayView local_ids, bool keep_ghost=false) override
 Supprime les entités donnés par local_ids.
void removeItems2 (ItemDataList &item_data_list) override
 Supprime des entités.
void removeNeedRemoveMarkedItems () override
 Supprime des entités et met a jour les connectivites.
ItemVectorView view (Int32ConstArrayView local_ids) override
 Vue sur les entités.
ItemVectorView view () override
 Vue sur toutes les entités de la famille.
ItemInternalfindOneItem (Int64 uid) override
 Entité de numéro unique unique_id.
ItemGroup allItems () const override
 Groupe de toutes les entités.
void notifyItemsOwnerChanged () override
 Notifie que les entités propres au sous-domaine de la famille ont été modifiées.
ItemGroup findGroup (const String &name) const override
 Recherche un groupe.
ItemGroup findGroup (const String &name, bool create_if_needed) override
 Recherche un groupe.
ItemGroup createGroup (const String &name, Int32ConstArrayView elements, bool do_override=false) override
 Créé un groupe d'entités de nom name contenant les entités local_ids.
ItemGroup createGroup (const String &name) override
 Créé un groupe d'entités de nom name.
ItemGroup createGroup (const String &name, const ItemGroup &parent, bool do_override=false) override
ItemGroupCollection groups () const override
 Liste des groupes de cette famille.
void notifyItemsUniqueIdChanged () override
 Notifie que les numéros uniques des entités ont été modifiées.
void destroyGroups () override
 Supprime tous les groupes de cette famille.
IVariablefindVariable (const String &name, bool throw_exception) override
 Recherche la variable de nom name associée à cette famille.
void usedVariables (VariableCollection collection) override
 Ajoute à la collection collection la liste des variables utilisés de cette famille.
void prepareForDump () override
 Prépare les données pour une protection.
void readFromDump () override
 Relit les données à partir d'une protection.
void copyItemsValues (Int32ConstArrayView source, Int32ConstArrayView destination) override
void copyItemsMeanValues (Int32ConstArrayView first_source, Int32ConstArrayView second_source, Int32ConstArrayView destination) override
void compactItems (bool do_sort) override
 Compresses the entities.
void clearItems () override
 Supprime toutes les entités de la famille.
Int64ArrayViewuniqueIds ()
ItemSharedInfocommonItemSharedInfo ()
const DynamicMeshKindInfosinfos () const
void setHasUniqueIdMap (bool v) override
 Indique si la famille possède une table de conversion uniqueId vers localId.
bool hasUniqueIdMap () const override
 Indique si la famille possède une table de conversion uniqueId vers localId.
void computeSynchronizeInfos () override
 Construit les structures nécessaires à la synchronisation.
void getCommunicatingSubDomains (Int32Array &sub_domains) const override
 Liste des sous-domaines communiquants pour les entités.
void synchronize (VariableCollection variables) override
 Synchronise les variables variables.
void synchronize (VariableCollection variables, Int32ConstArrayView local_ids) override
 Synchronise les variables variables sur une liste d'entités.
IVariableSynchronizerallItemsSynchronizer () override
 Synchroniseur sur toutes les entités de la famille.
void reduceFromGhostItems (IVariable *v, IDataOperation *operation) override
 Applique une opération de réduction depuis les entités fantômes.
void reduceFromGhostItems (IVariable *v, Parallel::eReduceType operation) override
 Applique une opération de réduction depuis les entités fantômes.
ItemPairGroup findAdjencyItems (const ItemGroup &group, const ItemGroup &sub_group, eItemKind link_kind, Integer layer) override
 Cherche une liste d'adjacence.
ItemPairGroup findAdjacencyItems (const ItemGroup &group, const ItemGroup &sub_group, eItemKind link_kind, Integer layer) override
 Cherche une liste d'adjacence.
IParticleFamilytoParticleFamily () override
 Retourne l'interface de la famille de particule de cette famille.
void setItemSortFunction (IItemInternalSortFunction *sort_function) override
 Positionne la fonction de tri des entités.
IItemInternalSortFunctionitemSortFunction () const override
 Fonction de tri des entités.
void addSourceConnectivity (IItemConnectivity *connectivity) override
void addTargetConnectivity (IItemConnectivity *connectivity) override
void removeSourceConnectivity (IItemConnectivity *connectivity) override
void removeTargetConnectivity (IItemConnectivity *connectivity) override
void setConnectivityMng (IItemConnectivityMng *connectivity_mng) override
void addGhostItems (Int64ConstArrayView unique_ids, Int32ArrayView items, Int32ConstArrayView owners) override
 Alloue des entités fantômes.
EventObservableView< const ItemFamilyItemListChangedEventArgs & > itemListChangedEvent () override
 Evènement pour l'ajout et la suppression d'entité
void experimentalChangeUniqueId (ItemLocalId local_id, ItemUniqueId unique_id) override
 Change le numéro unique de l'entité.
IItemFamilyPolicyMngpolicyMng () override
 Interface des comportements/politiques associées à cette famille.
Propertiesproperties () override
 Propriétés associées à cette famille.
IItemFamilyInternal_internalApi () override
 API interne à Arcane.
virtual void setPolicyMng (IItemFamilyPolicyMng *policy_mng)
void beginCompactItems (ItemFamilyCompactInfos &compact_infos)
void compactVariablesAndGroups (const ItemFamilyCompactInfos &compact_infos)
 Compresses the variables and groups.
void finishCompactItems (ItemFamilyCompactInfos &compact_infos)
void removeItem (Item item)
ItemInternalConnectivityListitemInternalConnectivityList ()
 Accessor for connectivities via Item and ItemInternal.
IItemFamilyTopologyModifier_topologyModifier () override
 Interface du modificateur de topologie.
void resizeVariables (bool force_resize) override
 Redimensionne les variables de cette famille.
Fonctions membres publiques hérités de Arcane::TraceAccessor
 TraceAccessor (ITraceMng *m)
 Construit un accesseur via le gestionnaire de trace m.
 TraceAccessor (const TraceAccessor &rhs)
 Constructeur par recopie.
TraceAccessoroperator= (const TraceAccessor &rhs)
 Opérateur de recopie.
virtual ~TraceAccessor ()
 Libère les ressources.
ITraceMngtraceMng () const
 Gestionnaire de trace.
TraceMessage info () const
 Flot pour un message d'information.
TraceMessage pinfo () const
 Flot pour un message d'information en parallèle.
TraceMessage info (char category) const
 Flot pour un message d'information d'une catégorie donnée.
TraceMessage pinfo (char category) const
 Flot pour un message d'information parallèle d'une catégorie donnée.
TraceMessage info (bool v) const
 Flot pour un message d'information.
TraceMessage warning () const
 Flot pour un message d'avertissement.
TraceMessage pwarning () const
TraceMessage error () const
 Flot pour un message d'erreur.
TraceMessage perror () const
TraceMessage log () const
 Flot pour un message de log.
TraceMessage plog () const
 Flot pour un message de log.
TraceMessage logdate () const
 Flot pour un message de log précédé de la date.
TraceMessage fatal () const
 Flot pour un message d'erreur fatale.
TraceMessage pfatal () const
 Flot pour un message d'erreur fatale en parallèle.
TraceMessageDbg debug (Trace::eDebugLevel=Trace::Medium) const
 Flot pour un message de debug.
Trace::eDebugLevel configDbgLevel () const
 Niveau debug du fichier de configuration.
TraceMessage info (Int32 verbose_level) const
 Flot pour un message d'information d'un niveau donné
TraceMessage linfo () const
 Flot pour un message d'information avec le niveau d'information local à cette instance.
TraceMessage linfo (Int32 relative_level) const
 Flot pour un message d'information avec le niveau d'information local à cette instance.
void fatalMessage (const StandaloneTraceMessage &o) const
Fonctions membres publiques hérités de Arcane::IItemFamily
virtual IDoFFamilytoDoFFamily ()
 Retourne l'interface de la famille de particule de cette famille.

Types protégés

typedef std::set< IItemConnectivity * > ItemConnectivitySet

Fonctions membres protégées

void _removeOne (Item item)
void _detachOne (Item item)
ItemInternalList _itemsInternal ()
ItemInternal_itemInternal (Int32 local_id)
ItemInternal_allocOne (Int64 unique_id)
ItemInternal_allocOne (Int64 unique_id, bool &need_alloc)
ItemInternal_findOrAllocOne (Int64 uid, bool &is_alloc)
void _setHasUniqueIdMap (bool v)
void _removeMany (Int32ConstArrayView local_ids)
void _removeDetachedOne (Item item)
const DynamicMeshKindInfos_infos () const
void _detachCells2 (Int32ConstArrayView local_ids)
virtual void _endAllocate ()
virtual void _notifyEndUpdateFromMesh ()
void _checkNeedEndUpdate () const
void _updateSharedInfo ()
void _allocateInfos (ItemInternal *item, Int64 uid, ItemSharedInfoWithType *isi)
void _allocateInfos (ItemInternal *item, Int64 uid, ItemTypeInfo *type)
void _endUpdate (bool need_check_remove)
bool _partialEndUpdate ()
void _updateGroup (ItemGroup group, bool need_check_remove)
void _updateVariable (IVariable *var)
void _addConnectivitySelector (ItemConnectivitySelector *selector)
void _buildConnectivitySelectors ()
void _preAllocate (Int32 nb_item, bool pre_alloc_connectivity)
ItemInternalConnectivityList_unstructuredItemInternalConnectivityList ()
ItemTypeMng_itemTypeMng () const
virtual IItemInternalSortFunction_defaultItemSortFunction ()
void _reserveInfosMemory (Integer memory)
void _resizeInfos (Integer memory)
ItemSharedInfoWithType_findSharedInfo (ItemTypeInfo *type)
Integer _allocMany (Integer memory)
void _setSharedInfosPtr (Integer *ptr)
void _checkValid ()
void _checkValidConnectivity ()
void _notifyDataIndexChanged ()
void _processNewGroup (ItemGroup group)
String _variableName (const String &base_name) const
template<class Type>
void _synchronizeVariable (IVariable *var, Type *var_value, Integer nb_elem)
void _updateGroups (bool check_need_remove)
void _compactFromParentFamily (const ItemFamilyCompactInfos &compact_infos)
 Compresses the connectivities.
void _checkComputeSynchronizeInfos (Int32 changed)
 Test collectif permettant de savoir s'il faut mettre à jour les infos de synchro.
void _readGroups ()
 Relit les groupes depuis une protection et les recréer si besoin.
void _invalidateComputedGroups ()
void _compactItems (bool do_sort)
 Compresses the entities.
void _compactOnlyItems (bool do_sort)
 Compresses the entities without updating references.
void _applyCheckNeedUpdateOnGroups ()
void _setTopologyModifier (IItemFamilyTopologyModifier *tm)
void _checkValidItem (ItemInternal *item)
void _checkValidSourceTargetItems (ItemInternal *source, ItemInternal *target)
void _checkValidItem (Item item)
void _checkValidSourceTargetItems (Item source, Item target)
Fonctions membres protégées hérités de Arcane::TraceAccessor
void _setLocalVerboseLevel (Int32 v)
Int32 _localVerboseLevel () const

Attributs protégés

String m_name
String m_full_name
IMeshm_mesh = nullptr
InternalApim_internal_api = nullptr
ISubDomainm_sub_domain = nullptr
IItemFamilym_parent_family = nullptr
Integer m_parent_family_depth = 0
ItemGroupList m_item_groups
bool m_need_prepare_dump = true
MeshItemInternalListm_item_internal_list = nullptr
ItemSharedInfoListm_item_shared_infos = nullptr
ObserverPool m_observers
Ref< IVariableSynchronizerm_variable_synchronizer
Integer m_current_variable_item_size = 0
IItemInternalSortFunctionm_item_sort_function = nullptr
std::set< IVariable *, decltype(&_cmpIVariablePtr)> m_used_variables
std::set< IVariable *, decltype(&_cmpIVariablePtr)> m_used_shmem_variables
UniqueArray< ItemFamily * > m_child_families
ItemConnectivityInfom_local_connectivity_info = nullptr
ItemConnectivityInfom_global_connectivity_info = nullptr
Propertiesm_properties = nullptr
ItemConnectivitySet m_source_item_connectivities
ItemConnectivitySet m_target_item_connectivities
 connectivite ou ItemFamily == SourceFamily
IItemConnectivityMngm_connectivity_mng = nullptr
 connectivite ou ItemFamily == TargetFamily
IItemFamilyPolicyMngm_policy_mng = nullptr
Int32 m_sub_domain_id = A_NULL_RANK

Types privés

using AdjacencyGroupMap = std::map<AdjacencyInfo, ItemPairGroup>
using AdjencyGroupMap = AdjacencyGroupMap

Fonctions membres privées

void _updateItemsSharedFlag ()
 Positions Item::isShared() info for the entities of the family.
void _getConnectedItems (IIncrementalItemConnectivity *parent_connectivity, ItemVector &target_family_connected_items)
void _fillHasExtraParentProperty (ItemScalarProperty< bool > &child_families_has_extra_parent, ItemVectorView connected_items)
void _computeConnectivityInfo (ItemConnectivityInfo *ici)
void _updateItemViews ()
void _resizeItemVariables (Int32 new_size, bool force_resize)
void _handleOldCheckpoint ()
void _addSourceConnectivity (IIncrementalItemSourceConnectivity *c)
void _addTargetConnectivity (IIncrementalItemTargetConnectivity *c)
void _addVariable (IVariable *var)
void _removeVariable (IVariable *var)
void _resizeVariables (bool force_resize)
void _resizeShMemVariables ()
void _shrinkConnectivityAndPrintInfos ()
void _addOnSizeChangedObservable (VariableRef &var_ref)

Fonctions membres privées statiques

static bool _cmpIVariablePtr (const IVariable *a, const IVariable *b)
 Function to compare two variable names (strcmp).

Attributs privés

std::unique_ptr< DynamicMeshKindInfosm_infos
ItemSharedInfom_common_item_shared_info = nullptr
UniqueArray< Ref< IIncrementalItemSourceConnectivity > > m_source_incremental_item_connectivities
UniqueArray< Ref< IIncrementalItemTargetConnectivity > > m_target_incremental_item_connectivities
Int64Arraym_items_unique_id = nullptr
Int32Arraym_items_owner = nullptr
Int32Arraym_items_flags = nullptr
Int16Arraym_items_type_id = nullptr
Int32Arraym_items_nb_parent = nullptr
Int64ArrayView m_items_unique_id_view
Variablesm_internal_variables = nullptr
Int32 m_default_sub_domain_owner = A_NULL_RANK
bool m_is_parallel = false
Integer m_current_id = 0
 Family identifier.
bool m_item_need_prepare_dump = false
Int64 m_nb_allocate_info = 0
AdjacencyGroupMap m_adjacency_groups
UniqueArray< ItemConnectivitySelector * > m_connectivity_selector_list
IItemFamilyTopologyModifierm_topology_modifier = nullptr
ItemInternalConnectivityList m_item_connectivity_list
 Accessor for connectivities via Item and ItemInternal.
UniqueArray< ItemConnectivitySelector * > m_connectivity_selector_list_by_item_kind
bool m_use_legacy_compact_item = false
ItemTypeMngm_item_type_mng = nullptr
bool m_do_shrink_after_allocate = false

Description détaillée

Entity Family.

This class is the base class for classes that manage everything related to a set of entities of the same type, for example, nodes.

For each family, it manages:

Définition à la ligne 73 du fichier ItemFamily.h.

Documentation des définitions de type membres

◆ AdjacencyGroupMap

using Arcane::mesh::ItemFamily::AdjacencyGroupMap = std::map<AdjacencyInfo, ItemPairGroup>
private

Définition à la ligne 114 du fichier ItemFamily.h.

◆ AdjencyGroupMap

using Arcane::mesh::ItemFamily::AdjencyGroupMap = AdjacencyGroupMap
private

Définition à la ligne 117 du fichier ItemFamily.h.

◆ ItemConnectivitySet

typedef std::set<IItemConnectivity*> Arcane::mesh::ItemFamily::ItemConnectivitySet
protected

Définition à la ligne 366 du fichier ItemFamily.h.

◆ ItemInternalMap

using Arcane::mesh::ItemFamily::ItemInternalMap = ::Arcane::mesh::ItemInternalMap

Définition à la ligne 127 du fichier ItemFamily.h.

Documentation des constructeurs et destructeur

◆ ItemFamily()

Arcane::mesh::ItemFamily::ItemFamily ( IMesh * mesh,
eItemKind ik,
const String & name )

Définition à la ligne 266 du fichier ItemFamily.cc.

◆ ~ItemFamily()

Arcane::mesh::ItemFamily::~ItemFamily ( )
override

Définition à la ligne 290 du fichier ItemFamily.cc.

Documentation des fonctions membres

◆ _addConnectivitySelector()

void Arcane::mesh::ItemFamily::_addConnectivitySelector ( ItemConnectivitySelector * selector)
protected

Définition à la ligne 2659 du fichier ItemFamily.cc.

◆ _addOnSizeChangedObservable()

void Arcane::mesh::ItemFamily::_addOnSizeChangedObservable ( VariableRef & var_ref)
private

Définition à la ligne 2781 du fichier ItemFamily.cc.

◆ _addSourceConnectivity()

void Arcane::mesh::ItemFamily::_addSourceConnectivity ( IIncrementalItemSourceConnectivity * c)
private

Définition à la ligne 2565 du fichier ItemFamily.cc.

◆ _addTargetConnectivity()

void Arcane::mesh::ItemFamily::_addTargetConnectivity ( IIncrementalItemTargetConnectivity * c)
private

Définition à la ligne 2574 du fichier ItemFamily.cc.

◆ _addVariable()

void Arcane::mesh::ItemFamily::_addVariable ( IVariable * var)
private

Définition à la ligne 2123 du fichier ItemFamily.cc.

◆ _allocateInfos() [1/2]

void Arcane::mesh::ItemFamily::_allocateInfos ( ItemInternal * item,
Int64 uid,
ItemSharedInfoWithType * isi )
protected

Définition à la ligne 1870 du fichier ItemFamily.cc.

◆ _allocateInfos() [2/2]

void Arcane::mesh::ItemFamily::_allocateInfos ( ItemInternal * item,
Int64 uid,
ItemTypeInfo * type )
protected

Définition à la ligne 1837 du fichier ItemFamily.cc.

◆ _allocMany()

Integer Arcane::mesh::ItemFamily::_allocMany ( Integer memory)
protected

Définition à la ligne 1808 du fichier ItemFamily.cc.

◆ _allocOne() [1/2]

ItemInternal * Arcane::mesh::ItemFamily::_allocOne ( Int64 unique_id)
protected

Définition à la ligne 457 du fichier ItemFamily.cc.

◆ _allocOne() [2/2]

ItemInternal * Arcane::mesh::ItemFamily::_allocOne ( Int64 unique_id,
bool & need_alloc )
protected

Définition à la ligne 462 du fichier ItemFamily.cc.

◆ _applyCheckNeedUpdateOnGroups()

void Arcane::mesh::ItemFamily::_applyCheckNeedUpdateOnGroups ( )
protected

Définition à la ligne 1410 du fichier ItemFamily.cc.

◆ _buildConnectivitySelectors()

void Arcane::mesh::ItemFamily::_buildConnectivitySelectors ( )
protected

Définition à la ligne 2668 du fichier ItemFamily.cc.

◆ _checkComputeSynchronizeInfos()

void Arcane::mesh::ItemFamily::_checkComputeSynchronizeInfos ( Int32 changed)
protected

Test collectif permettant de savoir s'il faut mettre à jour les infos de synchro.

changed is 0 if no update, 1 otherwise.

Définition à la ligne 1474 du fichier ItemFamily.cc.

Références computeSynchronizeInfos(), parallelMng(), Arcane::IParallelMng::reduce(), et Arcane::MessagePassing::ReduceMax.

Référencé par readFromDump().

Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ _checkNeedEndUpdate()

void Arcane::mesh::ItemFamily::_checkNeedEndUpdate ( ) const
protected

Définition à la ligne 1123 du fichier ItemFamily.cc.

◆ _checkValid()

void Arcane::mesh::ItemFamily::_checkValid ( )
protected

Définition à la ligne 1775 du fichier ItemFamily.cc.

◆ _checkValidConnectivity()

void Arcane::mesh::ItemFamily::_checkValidConnectivity ( )
protected

Définition à la ligne 2583 du fichier ItemFamily.cc.

◆ _checkValidItem() [1/2]

void Arcane::mesh::ItemFamily::_checkValidItem ( Item item)
inlineprotected

Définition à la ligne 519 du fichier ItemFamily.h.

◆ _checkValidItem() [2/2]

void Arcane::mesh::ItemFamily::_checkValidItem ( ItemInternal * item)
inlineprotected

Définition à la ligne 501 du fichier ItemFamily.h.

◆ _checkValidSourceTargetItems() [1/2]

void Arcane::mesh::ItemFamily::_checkValidSourceTargetItems ( Item source,
Item target )
inlineprotected

Définition à la ligne 520 du fichier ItemFamily.h.

◆ _checkValidSourceTargetItems() [2/2]

void Arcane::mesh::ItemFamily::_checkValidSourceTargetItems ( ItemInternal * source,
ItemInternal * target )
inlineprotected

Définition à la ligne 509 du fichier ItemFamily.h.

◆ _cmpIVariablePtr()

bool Arcane::mesh::ItemFamily::_cmpIVariablePtr ( const IVariable * a,
const IVariable * b )
staticprivate

Function to compare two variable names (strcmp).

Renvoie
True if the name of a is lexicographically less than the name of b.

Définition à la ligne 254 du fichier ItemFamily.cc.

Références Arcane::CStringUtils::isLess(), Arcane::String::localstr(), et Arcane::IVariable::name().

Voici le graphe d'appel pour cette fonction :

◆ _compactFromParentFamily()

void Arcane::mesh::ItemFamily::_compactFromParentFamily ( const ItemFamilyCompactInfos & compact_infos)
protected

Compresses the connectivities.

Avertissement
: This method must be called during a compaction (between a call to m_infos.beginCompactItems() and m_infos.endCompactItems()).

Définition à la ligne 1739 du fichier ItemFamily.cc.

Références Arcane::TraceAccessor::debug(), Arcane::ConstArrayView< T >::empty(), fullName(), itemsInternal(), nbItem(), Arcane::ItemFamilyCompactInfos::oldToNewLocalIds(), Arcane::MutableItemBase::setParent(), et Arcane::ConstArrayView< T >::size().

Référencé par compactVariablesAndGroups().

Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ _compactItems()

void Arcane::mesh::ItemFamily::_compactItems ( bool do_sort)
protected

Compresses the entities.

Définition à la ligne 1531 du fichier ItemFamily.cc.

Références Arcane::IMesh::_compactMng(), Arcane::IMeshCompactMng::beginCompact(), Arcane::IMeshCompacter::doAllActions(), Arcane::IMeshCompactMng::endCompact(), mesh(), et Arcane::IMeshCompacter::setSorted().

Référencé par _compactOnlyItems().

Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ _compactOnlyItems()

void Arcane::mesh::ItemFamily::_compactOnlyItems ( bool do_sort)
protected

Compresses the entities without updating references.

If this method is called, you must ensure that compactReference() is called afterward, otherwise the itemsData() array will grow over time.

Définition à la ligne 1491 du fichier ItemFamily.cc.

Références _compactItems().

Référencé par compactItems(), et prepareForDump().

Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ _computeConnectivityInfo()

void Arcane::mesh::ItemFamily::_computeConnectivityInfo ( ItemConnectivityInfo * ici)
private

Définition à la ligne 2725 du fichier ItemFamily.cc.

◆ _defaultItemSortFunction()

IItemInternalSortFunction * Arcane::mesh::ItemFamily::_defaultItemSortFunction ( )
protectedvirtual

Définition à la ligne 2467 du fichier ItemFamily.cc.

◆ _detachCells2()

void Arcane::mesh::ItemFamily::_detachCells2 ( Int32ConstArrayView local_ids)
protected

Définition à la ligne 2347 du fichier ItemFamily.cc.

◆ _detachOne()

void Arcane::mesh::ItemFamily::_detachOne ( Item item)
protected

Définition à la ligne 442 du fichier ItemFamily.cc.

◆ _endAllocate()

void Arcane::mesh::ItemFamily::_endAllocate ( )
protectedvirtual

Définition à la ligne 648 du fichier ItemFamily.cc.

◆ _endUpdate()

void Arcane::mesh::ItemFamily::_endUpdate ( bool need_check_remove)
protected

Définition à la ligne 735 du fichier ItemFamily.cc.

◆ _fillHasExtraParentProperty()

void Arcane::mesh::ItemFamily::_fillHasExtraParentProperty ( ItemScalarProperty< bool > & child_families_has_extra_parent,
ItemVectorView connected_items )
private

Définition à la ligne 2336 du fichier ItemFamily.cc.

◆ _findOrAllocOne()

ItemInternal * Arcane::mesh::ItemFamily::_findOrAllocOne ( Int64 uid,
bool & is_alloc )
protected

Définition à la ligne 467 du fichier ItemFamily.cc.

◆ _findSharedInfo()

ItemSharedInfoWithType * Arcane::mesh::ItemFamily::_findSharedInfo ( ItemTypeInfo * type)
protected

Définition à la ligne 1818 du fichier ItemFamily.cc.

◆ _getConnectedItems()

void Arcane::mesh::ItemFamily::_getConnectedItems ( IIncrementalItemConnectivity * parent_connectivity,
ItemVector & target_family_connected_items )
private

Définition à la ligne 2322 du fichier ItemFamily.cc.

◆ _handleOldCheckpoint()

void Arcane::mesh::ItemFamily::_handleOldCheckpoint ( )
private

Définition à la ligne 2737 du fichier ItemFamily.cc.

◆ _infos()

const DynamicMeshKindInfos & Arcane::mesh::ItemFamily::_infos ( ) const
protected

Définition à la ligne 429 du fichier ItemFamily.cc.

◆ _internalApi()

IItemFamilyInternal * Arcane::mesh::ItemFamily::_internalApi ( )
overridevirtual

API interne à Arcane.

Implémente Arcane::IItemFamily.

Définition à la ligne 2791 du fichier ItemFamily.cc.

◆ _invalidateComputedGroups()

void Arcane::mesh::ItemFamily::_invalidateComputedGroups ( )
protected

Définition à la ligne 1425 du fichier ItemFamily.cc.

◆ _itemInternal()

ItemInternal * Arcane::mesh::ItemFamily::_itemInternal ( Int32 local_id)
protected

Définition à la ligne 452 du fichier ItemFamily.cc.

◆ _itemsInternal()

ItemInternalList Arcane::mesh::ItemFamily::_itemsInternal ( )
protected

Définition à la ligne 447 du fichier ItemFamily.cc.

◆ _itemTypeMng()

ItemTypeMng * Arcane::mesh::ItemFamily::_itemTypeMng ( ) const
inlineprotected

Définition à la ligne 465 du fichier ItemFamily.h.

◆ _notifyDataIndexChanged()

void Arcane::mesh::ItemFamily::_notifyDataIndexChanged ( )
protected

Définition à la ligne 1907 du fichier ItemFamily.cc.

◆ _notifyEndUpdateFromMesh()

void Arcane::mesh::ItemFamily::_notifyEndUpdateFromMesh ( )
protectedvirtual

Method called by the mesh at the end of an IMesh::endUpdate(). This method is collective and therefore allows collective operations once mesh modifications are finished.

Définition à la ligne 623 du fichier ItemFamily.cc.

Références parallelMng().

Voici le graphe d'appel pour cette fonction :

◆ _partialEndUpdate()

bool Arcane::mesh::ItemFamily::_partialEndUpdate ( )
protected

Définition à la ligne 702 du fichier ItemFamily.cc.

◆ _preAllocate()

void Arcane::mesh::ItemFamily::_preAllocate ( Int32 nb_item,
bool pre_alloc_connectivity )
protected

Définition à la ligne 1894 du fichier ItemFamily.cc.

◆ _processNewGroup()

void Arcane::mesh::ItemFamily::_processNewGroup ( ItemGroup group)
protected

Définition à la ligne 1058 du fichier ItemFamily.cc.

◆ _readGroups()

void Arcane::mesh::ItemFamily::_readGroups ( )
protected

Relit les groupes depuis une protection et les recréer si besoin.

Définition à la ligne 1445 du fichier ItemFamily.cc.

Références createGroup(), Arcane::TraceAccessor::debug(), findGroup(), name(), Arcane::ItemGroup::null(), et Arcane::ArrayView< T >::size().

Référencé par readFromDump().

Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ _removeDetachedOne()

void Arcane::mesh::ItemFamily::_removeDetachedOne ( Item item)
protected

Définition à la ligne 482 du fichier ItemFamily.cc.

◆ _removeMany()

void Arcane::mesh::ItemFamily::_removeMany ( Int32ConstArrayView local_ids)
protected

Définition à la ligne 477 du fichier ItemFamily.cc.

◆ _removeOne()

void Arcane::mesh::ItemFamily::_removeOne ( Item item)
protected

Définition à la ligne 435 du fichier ItemFamily.cc.

◆ _removeVariable()

void Arcane::mesh::ItemFamily::_removeVariable ( IVariable * var)
private

Définition à la ligne 2139 du fichier ItemFamily.cc.

◆ _reserveInfosMemory()

void Arcane::mesh::ItemFamily::_reserveInfosMemory ( Integer memory)
protected

Définition à la ligne 1790 du fichier ItemFamily.cc.

◆ _resizeInfos()

void Arcane::mesh::ItemFamily::_resizeInfos ( Integer memory)
protected

Définition à la ligne 1799 du fichier ItemFamily.cc.

◆ _resizeItemVariables()

void Arcane::mesh::ItemFamily::_resizeItemVariables ( Int32 new_size,
bool force_resize )
private

Définition à la ligne 1847 du fichier ItemFamily.cc.

◆ _resizeShMemVariables()

void Arcane::mesh::ItemFamily::_resizeShMemVariables ( )
private

Définition à la ligne 847 du fichier ItemFamily.cc.

◆ _resizeVariables()

void Arcane::mesh::ItemFamily::_resizeVariables ( bool force_resize)
private

Définition à la ligne 821 du fichier ItemFamily.cc.

◆ _setHasUniqueIdMap()

void Arcane::mesh::ItemFamily::_setHasUniqueIdMap ( bool v)
protected

Définition à la ligne 472 du fichier ItemFamily.cc.

◆ _setTopologyModifier()

void Arcane::mesh::ItemFamily::_setTopologyModifier ( IItemFamilyTopologyModifier * tm)
protected

Définition à la ligne 2689 du fichier ItemFamily.cc.

◆ _shrinkConnectivityAndPrintInfos()

void Arcane::mesh::ItemFamily::_shrinkConnectivityAndPrintInfos ( )
private

Définition à la ligne 663 du fichier ItemFamily.cc.

◆ _topologyModifier()

IItemFamilyTopologyModifier * Arcane::mesh::ItemFamily::_topologyModifier ( )
inlineoverridevirtual

Interface du modificateur de topologie.

Implémente Arcane::IItemFamily.

Définition à la ligne 402 du fichier ItemFamily.h.

Référencé par Arcane::mesh::FaceFamily::replaceBackCellToFace().

Voici le graphe des appelants de cette fonction :

◆ _unstructuredItemInternalConnectivityList()

ItemInternalConnectivityList * Arcane::mesh::ItemFamily::_unstructuredItemInternalConnectivityList ( )
inlineprotected

Définition à la ligne 395 du fichier ItemFamily.h.

◆ _updateGroup()

void Arcane::mesh::ItemFamily::_updateGroup ( ItemGroup group,
bool need_check_remove )
protected

Définition à la ligne 771 du fichier ItemFamily.cc.

◆ _updateGroups()

void Arcane::mesh::ItemFamily::_updateGroups ( bool check_need_remove)
protected

Définition à la ligne 791 du fichier ItemFamily.cc.

◆ _updateItemsSharedFlag()

void Arcane::mesh::ItemFamily::_updateItemsSharedFlag ( )
private

Positions Item::isShared() info for the entities of the family.

This method is only valid if the connectivity info of m_variable_synchronizer is up to date.

Définition à la ligne 2705 du fichier ItemFamily.cc.

Références Arcane::ItemFlags::II_Shared, et Arcane::ConstArrayView< T >::size().

Référencé par computeSynchronizeInfos().

Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ _updateItemViews()

void Arcane::mesh::ItemFamily::_updateItemViews ( )
private

Définition à la ligne 2766 du fichier ItemFamily.cc.

◆ _updateSharedInfo()

void Arcane::mesh::ItemFamily::_updateSharedInfo ( )
protected

Définition à la ligne 1827 du fichier ItemFamily.cc.

◆ _updateVariable()

void Arcane::mesh::ItemFamily::_updateVariable ( IVariable * var)
protected

Définition à la ligne 812 du fichier ItemFamily.cc.

◆ _variableName()

String Arcane::mesh::ItemFamily::_variableName ( const String & base_name) const
protected

Définition à la ligne 312 du fichier ItemFamily.cc.

◆ addChildFamily()

void Arcane::mesh::ItemFamily::addChildFamily ( IItemFamily * family)
overridevirtual

Ajoute d'une famile en dépendance.

Opération en symétrie de setParentFamily

TODO: A mettre dans l'API interne

Implémente Arcane::IItemFamily.

Définition à la ligne 568 du fichier ItemFamily.cc.

Références ARCANE_CHECK_POINTER.

◆ addGhostItems()

void Arcane::mesh::ItemFamily::addGhostItems ( Int64ConstArrayView unique_ids,
Int32ArrayView items,
Int32ConstArrayView owners )
overridevirtual

Alloue des entités fantômes.

Après appel à cette opération, il faut appeler endUpdate() pour notifier à l'instance la fin des modifications. Il est possible d'enchaîner plusieurs allocations avant d'appeler endUpdate().

Les unique_ids sont ceux d'items présents sur un autre sous-domaine, dont le numéro est dans le tableau owners (de même taille que le tableau unique_ids). items doit avoir le même nombre d'éléments que unique_ids et sera remplit en retour avec les numéros locaux des entités créées.

Implémente Arcane::IItemFamily.

Définition à la ligne 2216 du fichier ItemFamily.cc.

Références ARCANE_THROW.

◆ addSourceConnectivity()

void Arcane::mesh::ItemFamily::addSourceConnectivity ( IItemConnectivity * connectivity)
overridevirtual

Implémente Arcane::IItemFamily.

Définition à la ligne 2489 du fichier ItemFamily.cc.

◆ addTargetConnectivity()

void Arcane::mesh::ItemFamily::addTargetConnectivity ( IItemConnectivity * connectivity)
overridevirtual

Implémente Arcane::IItemFamily.

Définition à la ligne 2498 du fichier ItemFamily.cc.

◆ allItems()

ItemGroup Arcane::mesh::ItemFamily::allItems ( ) const
overridevirtual

Groupe de toutes les entités.

Implémente Arcane::IItemFamily.

Réimplémentée dans Arcane::mesh::ParticleFamily.

Définition à la ligne 925 du fichier ItemFamily.cc.

Référencé par Arcane::mesh::DoFFamily::allItems(), Arcane::mesh::ParticleFamily::allItems(), destroyGroups(), et view().

Voici le graphe des appelants de cette fonction :

◆ allItemsSynchronizer()

IVariableSynchronizer * Arcane::mesh::ItemFamily::allItemsSynchronizer ( )
overridevirtual

Synchroniseur sur toutes les entités de la famille.

Implémente Arcane::IItemFamily.

Définition à la ligne 2166 du fichier ItemFamily.cc.

◆ beginCompactItems()

void Arcane::mesh::ItemFamily::beginCompactItems ( ItemFamilyCompactInfos & compact_infos)

Définition à la ligne 1551 du fichier ItemFamily.cc.

◆ build()

void Arcane::mesh::ItemFamily::build ( )
overridevirtual

Implémente Arcane::IItemFamily.

Définition à la ligne 321 du fichier ItemFamily.cc.

◆ checkUniqueIds()

void Arcane::mesh::ItemFamily::checkUniqueIds ( Int64ConstArrayView unique_ids)
overridevirtual

Vérifie que les identifiants unique_ids sont bien uniques pour tous les sous-domaines.

Cette méthode NE vérifie PAS que les unique_ids sont identiques à ceux des entités déjà créées. Elle vérifie uniquement l'ensemble des unique_ids passés en argument par tous les sous-domaines.

Cette opération est collective et doit être appelée par tous les sous-domaines.

Implémente Arcane::IItemFamily.

Définition à la ligne 2010 du fichier ItemFamily.cc.

Références Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::add(), Arcane::IParallelMng::allGatherVariable(), Arcane::TraceAccessor::fatal(), Arcane::TraceAccessor::info(), Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::lookup(), name(), Arcane::AbstractArray< T >::size(), et Arcane::ConstArrayView< T >::size().

Voici le graphe d'appel pour cette fonction :

◆ checkValid()

void Arcane::mesh::ItemFamily::checkValid ( )
overridevirtual

Vérification de la validité des structures internes (interne).

Implémente Arcane::IItemFamily.

Définition à la ligne 600 du fichier ItemFamily.cc.

◆ checkValidConnectivity()

void Arcane::mesh::ItemFamily::checkValidConnectivity ( )
overridevirtual

Vérification de la validité des structures internes concernant la connectivité.

Implémente Arcane::IItemFamily.

Réimplémentée dans Arcane::mesh::ParticleFamily.

Définition à la ligne 610 du fichier ItemFamily.cc.

Référencé par Arcane::mesh::ParticleFamily::checkValidConnectivity().

Voici le graphe des appelants de cette fonction :

◆ childFamilies()

IItemFamilyCollection Arcane::mesh::ItemFamily::childFamilies ( )
overridevirtual

Familles enfantes de cette famille.

Implémente Arcane::IItemFamily.

Définition à la ligne 578 du fichier ItemFamily.cc.

◆ clearItems()

void Arcane::mesh::ItemFamily::clearItems ( )
overridevirtual

Supprime toutes les entités de la famille.

Avertissement
attention à ne pas détruire des entités qui sont utilisées dans par une autre famille. En général, il est plus prudent d'utiliser IMesh::clearItems() si on souhaite supprimer tous les éléments du maillage.

Implémente Arcane::IItemFamily.

Définition à la ligne 1999 du fichier ItemFamily.cc.

Références endUpdate().

Voici le graphe d'appel pour cette fonction :

◆ commonItemSharedInfo()

ItemSharedInfo * Arcane::mesh::ItemFamily::commonItemSharedInfo ( )
inline

Définition à la ligne 236 du fichier ItemFamily.h.

◆ compactItems()

void Arcane::mesh::ItemFamily::compactItems ( bool do_sort)
overridevirtual

Compresses the entities.

Implémente Arcane::IItemFamily.

Définition à la ligne 1514 du fichier ItemFamily.cc.

Références _compactOnlyItems().

Voici le graphe d'appel pour cette fonction :

◆ compactVariablesAndGroups()

void Arcane::mesh::ItemFamily::compactVariablesAndGroups ( const ItemFamilyCompactInfos & compact_infos)

Compresses the variables and groups.

Effective compaction of variables, groups, and child families from the data of DynamicMeshKindInfos

Avertissement
: This method must be called during a compaction (between a call to m_infos->beginCompactItems() and m_info->endCompactItems()).

Définition à la ligne 1673 du fichier ItemFamily.cc.

Références _compactFromParentFamily(), Arcane::ItemGroupImpl::changeIds(), Arcane::IVariableSynchronizer::changeLocalIds(), Arcane::IVariable::compact(), Arcane::TraceAccessor::debug(), Arcane::IVariable::fullName(), fullName(), Arcane::ItemGroup::hasSynchronizer(), Arcane::Trace::High, Arcane::TraceAccessor::info(), Arcane::ItemGroup::internal(), maxLocalId(), Arcane::ItemGroup::name(), nbItem(), Arcane::ItemFamilyCompactInfos::newToOldLocalIds(), Arcane::ItemFamilyCompactInfos::oldToNewLocalIds(), et Arcane::ItemGroup::synchronizer().

Voici le graphe d'appel pour cette fonction :

◆ computeSynchronizeInfos()

void Arcane::mesh::ItemFamily::computeSynchronizeInfos ( )
overridevirtual

Construit les structures nécessaires à la synchronisation.

Cette opération doit être effectuée à chaque fois que les entités du maillage changent de propriétaire (par exemple lors d'un équilibrage de charge).

Cette opération est collective.

Implémente Arcane::IItemFamily.

Réimplémentée dans Arcane::mesh::NodeFamily, et Arcane::mesh::ParticleFamily.

Définition à la ligne 1928 du fichier ItemFamily.cc.

Références _updateItemsSharedFlag(), et parallelMng().

Référencé par _checkComputeSynchronizeInfos(), Arcane::mesh::CellFamily::computeSynchronizeInfos(), Arcane::mesh::DoFFamily::computeSynchronizeInfos(), Arcane::mesh::EdgeFamily::computeSynchronizeInfos(), Arcane::mesh::FaceFamily::computeSynchronizeInfos(), Arcane::mesh::NodeFamily::computeSynchronizeInfos(), et Arcane::mesh::ParticleFamily::computeSynchronizeInfos().

Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ copyItemsMeanValues()

void Arcane::mesh::ItemFamily::copyItemsMeanValues ( Int32ConstArrayView first_source,
Int32ConstArrayView second_source,
Int32ConstArrayView destination )
overridevirtual

Copies the average values of entities numbered first_source and second_source into the entities numbered destination

Paramètres
first_sourcelist of localIds of the 1st source
second_sourcelist of localIds of the 2nd source
destinationlist of destination localIds

Implémente Arcane::IItemFamily.

Définition à la ligne 1641 du fichier ItemFamily.cc.

Références Arcane::IVariable::copyItemsMeanValues(), Arcane::IVariable::PNoRestore, Arcane::IVariable::property(), Arcane::IVariable::PTemporary, et Arcane::ConstArrayView< T >::size().

Voici le graphe d'appel pour cette fonction :

◆ copyItemsValues()

void Arcane::mesh::ItemFamily::copyItemsValues ( Int32ConstArrayView source,
Int32ConstArrayView destination )
overridevirtual

Copies the values of entities numbered source into the entities numbered destination

Paramètres
sourcelist of source localIds
destinationlist of destination localIds

Implémente Arcane::IItemFamily.

Définition à la ligne 1610 du fichier ItemFamily.cc.

Références Arcane::IVariable::copyItemsValues(), et Arcane::ConstArrayView< T >::size().

Voici le graphe d'appel pour cette fonction :

◆ createGroup() [1/3]

ItemGroup Arcane::mesh::ItemFamily::createGroup ( const String & name)
overridevirtual

Créé un groupe d'entités de nom name.

Le groupe ne doit pas déjà exister sinon une exception est levée.

Paramètres
namenom du groupe
Renvoie
le groupe créé

Implémente Arcane::IItemFamily.

Définition à la ligne 963 du fichier ItemFamily.cc.

Références Arcane::TraceAccessor::debug(), Arcane::TraceAccessor::fatal(), findGroup(), name(), et Arcane::ItemGroup::null().

Voici le graphe d'appel pour cette fonction :

◆ createGroup() [2/3]

ItemGroup Arcane::mesh::ItemFamily::createGroup ( const String & name,
const ItemGroup & parent,
bool do_override = false )
overridevirtual

For Internal Use Only

Implémente Arcane::IItemFamily.

Définition à la ligne 984 du fichier ItemFamily.cc.

Références Arcane::TraceAccessor::debug(), Arcane::TraceAccessor::fatal(), findGroup(), Arcane::ItemGroup::internal(), Arcane::ItemGroup::name(), name(), Arcane::ItemGroup::null(), et Arcane::ItemGroupImpl::parentGroup().

Voici le graphe d'appel pour cette fonction :

◆ createGroup() [3/3]

ItemGroup Arcane::mesh::ItemFamily::createGroup ( const String & name,
Int32ConstArrayView local_ids,
bool do_override = false )
overridevirtual

Créé un groupe d'entités de nom name contenant les entités local_ids.

Paramètres
namenom du groupe
local_idsliste des localId() des entités composant le groupe.
do_overridesi true et q'un groupe de même nom existe déjà, ses éléments sont remplacés par ceux donnés dans local_ids. Si false, alors une exception est levée.
Renvoie
le groupe créé

Implémente Arcane::IItemFamily.

Définition à la ligne 935 du fichier ItemFamily.cc.

Références createGroup(), Arcane::TraceAccessor::debug(), findGroup(), Arcane::Trace::High, name(), Arcane::ItemGroup::null(), Arcane::ItemGroup::setItems(), et Arcane::ConstArrayView< T >::size().

Référencé par _readGroups(), createGroup(), et findGroup().

Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ destroyGroups()

void Arcane::mesh::ItemFamily::destroyGroups ( )
overridevirtual

Supprime tous les groupes de cette famille.

Implémente Arcane::IItemFamily.

Définition à la ligne 1011 du fichier ItemFamily.cc.

Références allItems(), Arcane::ItemGroupImpl::destroy(), Arcane::ItemGroup::internal(), et Arcane::ItemGroup::isAllItems().

Voici le graphe d'appel pour cette fonction :

◆ endUpdate()

void Arcane::mesh::ItemFamily::endUpdate ( )
overridevirtual

Notifie la fin de modification de la liste des entités.

Cette méthode doit être appelée après modification de la liste des entités (après ajout ou suppression). Elle met à jour les groupes et redimensionne les variables sur cette famille.

Implémente Arcane::IItemFamily.

Réimplémentée dans Arcane::mesh::ParticleFamily.

Définition à la ligne 635 du fichier ItemFamily.cc.

Référencé par clearItems(), Arcane::mesh::DoFFamily::endUpdate(), Arcane::mesh::ParticleFamily::endUpdate(), et removeItems2().

Voici le graphe des appelants de cette fonction :

◆ experimentalChangeUniqueId()

void Arcane::mesh::ItemFamily::experimentalChangeUniqueId ( ItemLocalId local_id,
ItemUniqueId unique_id )
overridevirtual

Change le numéro unique de l'entité.

Avertissement
Cette méthode est expérimentale.
Modifier le uniqueId d'une entité peut engendrer des incohérences dans le maillage et la numérotation. Il est préférable de n'appeler cette méthode que sur les entités qui ne sont pas associées à d'autres (par exemple les noeuds qu'on vient de créer).

Implémente Arcane::IItemFamily.

Définition à la ligne 2545 du fichier ItemFamily.cc.

Références Arcane::mesh::ItemInternalMap::add(), Arcane::mesh::ItemInternalMap::remove(), et Arcane::ItemBase::uniqueId().

Voici le graphe d'appel pour cette fonction :

◆ findAdjacencyItems()

ItemPairGroup Arcane::mesh::ItemFamily::findAdjacencyItems ( const ItemGroup & group,
const ItemGroup & sub_group,
eItemKind link_kind,
Integer nb_layer )
overridevirtual

Cherche une liste d'adjacence.

Cherche la liste d'entités de type sub_kind, liées par le type d'entité link_kind du groupe group, sur un nombre de couche nb_layer.

Si group et sub_group sont de même genre, une entité est toujours dans sa liste d'adjacence, en tant que premier élément.

Si la liste n'existe pas, elle est créée.

Note
pour l'instant une seule couche est autorisée.

Réimplémentée à partir de Arcane::IItemFamily.

Définition à la ligne 2045 du fichier ItemFamily.cc.

Références Arcane::IMeshUtilities::computeAdjacency(), Arcane::TraceAccessor::debug(), mesh(), Arcane::ItemGroup::name(), et Arcane::IMesh::utilities().

Référencé par findAdjencyItems().

Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ findAdjencyItems()

ItemPairGroup Arcane::mesh::ItemFamily::findAdjencyItems ( const ItemGroup & group,
const ItemGroup & sub_group,
eItemKind link_kind,
Integer nb_layer )
overridevirtual

Cherche une liste d'adjacence.

Implémente Arcane::IItemFamily.

Définition à la ligne 2038 du fichier ItemFamily.cc.

Références findAdjacencyItems().

Voici le graphe d'appel pour cette fonction :

◆ findGroup() [1/2]

ItemGroup Arcane::mesh::ItemFamily::findGroup ( const String & name) const
overridevirtual

Recherche un groupe.

Paramètres
namenom du groupe à rechercher
Renvoie
le groupe de nom name ou le groupe nul s'il n'y en a pas.

Implémente Arcane::IItemFamily.

Définition à la ligne 1087 du fichier ItemFamily.cc.

Références Arcane::ItemGroup::name(), et name().

Référencé par _readGroups(), createGroup(), createGroup(), createGroup(), et findGroup().

Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ findGroup() [2/2]

ItemGroup Arcane::mesh::ItemFamily::findGroup ( const String & name,
bool create_if_needed )
overridevirtual

Recherche un groupe.

Paramètres
namenom du groupe à rechercher
Renvoie
le groupe trouvé ou le groupe nul si aucun groupe de nom name et de type type n'existe et si create_if_needed vaut false. Si create_if_needed vaux vrai, un groupe vide de nom name est créé et retourné.

Implémente Arcane::IItemFamily.

Définition à la ligne 1100 du fichier ItemFamily.cc.

Références createGroup(), findGroup(), name(), et Arcane::ItemGroup::null().

Voici le graphe d'appel pour cette fonction :

◆ findOneItem()

ItemInternal * Arcane::mesh::ItemFamily::findOneItem ( Int64 unique_id)
overridevirtual

Entité de numéro unique unique_id.

Si aucune entité avec cet unique_id n'est trouvé, retourne nullptr.

Précondition
hasUniqueIdMap()

Implémente Arcane::IItemFamily.

Définition à la ligne 413 du fichier ItemFamily.cc.

◆ findVariable()

IVariable * Arcane::mesh::ItemFamily::findVariable ( const String & name,
bool throw_exception )
overridevirtual

Recherche la variable de nom name associée à cette famille.

Si aucune variable de nom name n'existe, si throw_exception vaut false, retourne 0, sinon lève une exception.

Implémente Arcane::IItemFamily.

Définition à la ligne 1980 du fichier ItemFamily.cc.

Références ARCANE_FATAL, Arcane::IVariableMng::findVariableFullyQualified(), mesh(), Arcane::IMeshBase::name(), name(), subDomain(), Arcane::StringBuilder::toString(), et Arcane::ISubDomain::variableMng().

Voici le graphe d'appel pour cette fonction :

◆ finishCompactItems()

void Arcane::mesh::ItemFamily::finishCompactItems ( ItemFamilyCompactInfos & compact_infos)

Définition à la ligne 1589 du fichier ItemFamily.cc.

◆ fullName()

String Arcane::mesh::ItemFamily::fullName ( ) const
inlineoverridevirtual

Nom complet de la famille (avec celui du maillage).

Implémente Arcane::IItemFamily.

Réimplémentée dans Arcane::mesh::ParticleFamily.

Définition à la ligne 141 du fichier ItemFamily.h.

Référencé par _compactFromParentFamily(), compactVariablesAndGroups(), Arcane::mesh::DoFFamily::fullName(), Arcane::mesh::ParticleFamily::fullName(), prepareForDump(), et readFromDump().

Voici le graphe des appelants de cette fonction :

◆ getCommunicatingSubDomains()

void Arcane::mesh::ItemFamily::getCommunicatingSubDomains ( Int32Array & sub_domains) const
overridevirtual

Liste des sous-domaines communiquants pour les entités.

Implémente Arcane::IItemFamily.

Définition à la ligne 1916 du fichier ItemFamily.cc.

Références Arcane::Array< DataType >::copy(), Arcane::Array< DataType >::resize(), et Arcane::ConstArrayView< T >::size().

Voici le graphe d'appel pour cette fonction :

◆ globalConnectivityInfos()

IItemConnectivityInfo * Arcane::mesh::ItemFamily::globalConnectivityInfos ( ) const
overridevirtual

Informations sur la connectivité globales à tous les sous-domaines.

Implémente Arcane::IItemFamily.

Définition à la ligne 2077 du fichier ItemFamily.cc.

◆ groups()

ItemGroupCollection Arcane::mesh::ItemFamily::groups ( ) const
overridevirtual

Liste des groupes de cette famille.

Implémente Arcane::IItemFamily.

Définition à la ligne 1078 du fichier ItemFamily.cc.

◆ hasUniqueIdMap()

bool Arcane::mesh::ItemFamily::hasUniqueIdMap ( ) const
overridevirtual

Indique si la famille possède une table de conversion uniqueId vers localId.

Implémente Arcane::IItemFamily.

Réimplémentée dans Arcane::mesh::ParticleFamily.

Définition à la ligne 2096 du fichier ItemFamily.cc.

◆ infos()

const DynamicMeshKindInfos & Arcane::mesh::ItemFamily::infos ( ) const

Définition à la ligne 423 du fichier ItemFamily.cc.

◆ internalRemoveItems()

void Arcane::mesh::ItemFamily::internalRemoveItems ( Int32ConstArrayView local_ids,
bool keep_ghost = false )
overridevirtual

Supprime les entités donnés par local_ids.

Pour usage interne uniquement. Si on souhaite supprimer des entités du maillage, il faut passer par IMeshModifier via l'appel à IMesh::modifier().

Implémente Arcane::IItemFamily.

Réimplémentée dans Arcane::mesh::ParticleFamily.

Définition à la ligne 1764 du fichier ItemFamily.cc.

Références ARCANE_THROW.

◆ itemInfoListView()

ItemInfoListView Arcane::mesh::ItemFamily::itemInfoListView ( )
overridevirtual

Vue sur la liste d'informations sur les entités.

Implémente Arcane::IItemFamily.

Définition à la ligne 523 du fichier ItemFamily.cc.

Référencé par view().

Voici le graphe des appelants de cette fonction :

◆ itemInternalConnectivityList()

ItemInternalConnectivityList * Arcane::mesh::ItemFamily::itemInternalConnectivityList ( )
inline

Accessor for connectivities via Item and ItemInternal.

Définition à la ligne 305 du fichier ItemFamily.h.

Références m_item_connectivity_list.

◆ itemKind()

eItemKind Arcane::mesh::ItemFamily::itemKind ( ) const
overridevirtual

Genre des entités.

Implémente Arcane::IItemFamily.

Définition à la ligne 487 du fichier ItemFamily.cc.

Référencé par removeItems2(), et removeNeedRemoveMarkedItems().

Voici le graphe des appelants de cette fonction :

◆ itemListChangedEvent()

EventObservableView< const ItemFamilyItemListChangedEventArgs & > Arcane::mesh::ItemFamily::itemListChangedEvent ( )
overridevirtual

Evènement pour l'ajout et la suppression d'entité

Implémente Arcane::IItemFamily.

Définition à la ligne 2536 du fichier ItemFamily.cc.

Références itemListChangedEvent().

Référencé par itemListChangedEvent().

Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ itemsInternal()

ItemInternalList Arcane::mesh::ItemFamily::itemsInternal ( )
overridevirtual

Tableau interne des entités.

Implémente Arcane::IItemFamily.

Définition à la ligne 514 du fichier ItemFamily.cc.

Référencé par _compactFromParentFamily(), et removeItems2().

Voici le graphe des appelants de cette fonction :

◆ itemsMap()

ItemInternalMap & Arcane::mesh::ItemFamily::itemsMap ( )

Définition à la ligne 418 du fichier ItemFamily.cc.

◆ itemsNewOwner()

VariableItemInt32 & Arcane::mesh::ItemFamily::itemsNewOwner ( )
overridevirtual

Variable contenant le numéro du nouveau sous-domaine propriétaire de l'entité.

Cette variable n'est utilisée que pour un repartitionnement du maillage.

Implémente Arcane::IItemFamily.

Définition à la ligne 591 du fichier ItemFamily.cc.

Référencé par Arcane::mesh::TiedInterfaceExchanger::initialize().

Voici le graphe des appelants de cette fonction :

◆ itemSortFunction()

IItemInternalSortFunction * Arcane::mesh::ItemFamily::itemSortFunction ( ) const
overridevirtual

Fonction de tri des entités.

L'instance de cette classe reste propriétaire de l'objet retournée qui ne doit pas être détruit ni modifié.

Voir également
setItemSortFunction()

Implémente Arcane::IItemFamily.

Définition à la ligne 2189 du fichier ItemFamily.cc.

◆ itemsUniqueIdToLocalId() [1/3]

void Arcane::mesh::ItemFamily::itemsUniqueIdToLocalId ( ArrayView< Int64 > ids,
bool do_fatal = true ) const

Définition à la ligne 858 du fichier ItemFamily.cc.

◆ itemsUniqueIdToLocalId() [2/3]

void Arcane::mesh::ItemFamily::itemsUniqueIdToLocalId ( Int32ArrayView local_ids,
ConstArrayView< ItemUniqueId > unique_ids,
bool do_fatal ) const
overridevirtual

Converti un tableau de numéros uniques en numéros locaux.

Cette opération prend en entrée le tableau unique_ids contenant les numéros uniques des entités du type item_kind et retourne dans local_ids le numéro local à ce sous-domaine correspondant.

La complexité de cette opération dépend de l'implémentation. L'implémentation par défaut utilise une table de hachage. La complexité moyenne est donc constante.

Si do_fatal est vrai, une erreur fatale est générée si une entité n'est pas n'est trouvée, sinon l'élément non trouvé a pour valeur NULL_ITEM_ID.

Implémente Arcane::IItemFamily.

Définition à la ligne 878 du fichier ItemFamily.cc.

◆ itemsUniqueIdToLocalId() [3/3]

void Arcane::mesh::ItemFamily::itemsUniqueIdToLocalId ( Int32ArrayView local_ids,
Int64ConstArrayView unique_ids,
bool do_fatal ) const
overridevirtual

Converti un tableau de numéros uniques en numéros locaux.

Cette opération prend en entrée le tableau unique_ids contenant les numéros uniques des entités du type item_kind et retourne dans local_ids le numéro local à ce sous-domaine correspondant.

La complexité de cette opération dépend de l'implémentation. L'implémentation par défaut utilise une table de hachage. La complexité moyenne est donc constante.

Si do_fatal est vrai, une erreur fatale est générée si une entité n'est pas n'est trouvée, sinon l'élément non trouvé a pour valeur NULL_ITEM_ID.

Précondition
hasUniqueIdMap()

Implémente Arcane::IItemFamily.

Définition à la ligne 867 du fichier ItemFamily.cc.

◆ localConnectivityInfos()

IItemConnectivityInfo * Arcane::mesh::ItemFamily::localConnectivityInfos ( ) const
overridevirtual

Informations sur la connectivité locale au sous-domaine pour à cette famille.

Implémente Arcane::IItemFamily.

Définition à la ligne 2068 du fichier ItemFamily.cc.

◆ maxLocalId()

Int32 Arcane::mesh::ItemFamily::maxLocalId ( ) const
overridevirtual

Taille nécessaire pour dimensionner les variables sur ces entités.

Il s'agit du maximum des Item::localId() des entités de cette famille plus 1.

Implémente Arcane::IItemFamily.

Définition à la ligne 505 du fichier ItemFamily.cc.

Référencé par compactVariablesAndGroups().

Voici le graphe des appelants de cette fonction :

◆ mesh()

IMesh * Arcane::mesh::ItemFamily::mesh ( ) const
overridevirtual

Maillage associé

Implémente Arcane::IItemFamily.

Définition à la ligne 907 du fichier ItemFamily.cc.

Référencé par _compactItems(), Arcane::mesh::DoFFamily::DoFFamily(), findAdjacencyItems(), findVariable(), Arcane::mesh::ParticleFamily::internalRemoveItems(), readFromDump(), et Arcane::mesh::CellFamily::setConnectivity().

Voici le graphe des appelants de cette fonction :

◆ name()

String Arcane::mesh::ItemFamily::name ( ) const
inlineoverridevirtual

◆ nbItem()

Integer Arcane::mesh::ItemFamily::nbItem ( ) const
overridevirtual

Nombre d'entités.

Implémente Arcane::IItemFamily.

Réimplémentée dans Arcane::mesh::ParticleFamily.

Définition à la ligne 496 du fichier ItemFamily.cc.

Référencé par _compactFromParentFamily(), compactVariablesAndGroups(), Arcane::mesh::DoFFamily::nbItem(), et Arcane::mesh::ParticleFamily::nbItem().

Voici le graphe des appelants de cette fonction :

◆ notifyItemsOwnerChanged()

void Arcane::mesh::ItemFamily::notifyItemsOwnerChanged ( )
overridevirtual

Notifie que les entités propres au sous-domaine de la famille ont été modifiées.

Implémente Arcane::IItemFamily.

Définition à la ligne 1030 du fichier ItemFamily.cc.

Références Arcane::TraceAccessor::debug(), Arcane::ItemGroupImpl::hasComputeFunctor(), Arcane::ItemGroup::internal(), Arcane::ItemGroup::invalidate(), Arcane::ItemBase::isSuppressed(), Arcane::IItemFamily::itemsInternal(), Arcane::IItemFamily::notifyItemsOwnerChanged(), Arcane::Item::owner(), Arcane::MutableItemBase::setOwner(), Arcane::ConstArrayView< T >::size(), Arcane::Item::uniqueId(), et Arcane::ItemBase::uniqueId().

Référencé par Arcane::mesh::ParticleFamily::exchangeParticles().

Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ notifyItemsUniqueIdChanged()

void Arcane::mesh::ItemFamily::notifyItemsUniqueIdChanged ( )
overridevirtual

Notifie que les numéros uniques des entités ont été modifiées.

Implémente Arcane::IItemFamily.

Réimplémentée dans Arcane::mesh::NodeFamily.

Définition à la ligne 1114 du fichier ItemFamily.cc.

Référencé par Arcane::mesh::NodeFamily::notifyItemsUniqueIdChanged().

Voici le graphe des appelants de cette fonction :

◆ parallelMng()

IParallelMng * Arcane::mesh::ItemFamily::parallelMng ( ) const
overridevirtual

Gestionnaire de parallélisme associé

Implémente Arcane::IItemFamily.

Définition à la ligne 916 du fichier ItemFamily.cc.

Référencé par _checkComputeSynchronizeInfos(), _notifyEndUpdateFromMesh(), et computeSynchronizeInfos().

Voici le graphe des appelants de cette fonction :

◆ parentFamily()

IItemFamily * Arcane::mesh::ItemFamily::parentFamily ( ) const
overridevirtual

IItemFamily parent.

Issue des imbrications de sous-maillages

Renvoie
nullptr si n'a pas de famille parente

Implémente Arcane::IItemFamily.

Définition à la ligne 532 du fichier ItemFamily.cc.

◆ parentFamilyDepth()

Integer Arcane::mesh::ItemFamily::parentFamilyDepth ( ) const
overridevirtual

Donne la profondeur d'imbrication du maillage courant.

Implémente Arcane::IItemFamily.

Définition à la ligne 559 du fichier ItemFamily.cc.

◆ partialEndUpdate()

void Arcane::mesh::ItemFamily::partialEndUpdate ( )
overridevirtual

Mise à jour partielle.

Met à jour les structures internes après une modification de la famille. Il s'agit d'une version optimisée de endUpdate() lorsqu'on souhaite faire de multiples modifications de maillage. Cette méthode NE met PAS à jour les groupes ni les variables associées à cette famille. Seul le groupe allItems() est disponible. Il est possible de mettre à jour un groupe via partialEndUpdateGroup() et une variable via partialEndUpdateVariable().

Cette méthode est réservée aux utilisateurs expérimentés. Pour les autres, il vaut mieux utiliser endUpdate().

Implémente Arcane::IItemFamily.

Définition à la ligne 753 du fichier ItemFamily.cc.

◆ partialEndUpdateGroup()

void Arcane::mesh::ItemFamily::partialEndUpdateGroup ( const ItemGroup & group)
overridevirtual

Met à jour un groupe.

Met à jour le groupe group après une modification de la famille. La mise à jour consiste à supprimer du groupe les entités de la famille éventuellement détruites lors de la modification.

Voir également
partialEndUpdate().

Implémente Arcane::IItemFamily.

Définition à la ligne 762 du fichier ItemFamily.cc.

◆ partialEndUpdateVariable()

void Arcane::mesh::ItemFamily::partialEndUpdateVariable ( IVariable * variable)
overridevirtual

Met à jour une variable.

Met à jour la variable variable après une modification de la famille. La mise à jour consiste à redimensionner la variable après un éventuel ajout d'entités.

Voir également
partialEndUpdate().

Implémente Arcane::IItemFamily.

Définition à la ligne 803 du fichier ItemFamily.cc.

◆ policyMng()

IItemFamilyPolicyMng * Arcane::mesh::ItemFamily::policyMng ( )
inlineoverridevirtual

Interface des comportements/politiques associées à cette famille.

Implémente Arcane::IItemFamily.

Définition à la ligne 284 du fichier ItemFamily.h.

◆ prepareForDump()

void Arcane::mesh::ItemFamily::prepareForDump ( )
overridevirtual

Prépare les données pour une protection.

Implémente Arcane::IItemFamily.

Réimplémentée dans Arcane::mesh::ParticleFamily.

Définition à la ligne 1133 du fichier ItemFamily.cc.

Références _compactOnlyItems(), ARCANE_FATAL, Arcane::arcaneIsCheck(), Arcane::TraceAccessor::debug(), Arcane::ItemBase::flags(), fullName(), Arcane::ItemGroupImpl::hasComputeFunctor(), Arcane::Trace::High, Arcane::TraceAccessor::info(), Arcane::ItemGroup::internal(), Arcane::ItemGroup::isLocalToSubDomain(), Arcane::ItemBase::localId(), m_current_id, Arcane::ItemGroup::name(), name(), Arcane::ItemBase::typeInfo(), et Arcane::ItemBase::uniqueId().

Référencé par Arcane::mesh::ParticleFamily::prepareForDump().

Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ properties()

Properties * Arcane::mesh::ItemFamily::properties ( )
inlineoverridevirtual

Propriétés associées à cette famille.

Implémente Arcane::IItemFamily.

Définition à la ligne 285 du fichier ItemFamily.h.

◆ readFromDump()

void Arcane::mesh::ItemFamily::readFromDump ( )
overridevirtual

Relit les données à partir d'une protection.

Implémente Arcane::IItemFamily.

Réimplémentée dans Arcane::mesh::ParticleFamily.

Définition à la ligne 1253 du fichier ItemFamily.cc.

Références _checkComputeSynchronizeInfos(), _readGroups(), ARCANE_FATAL, Arcane::TraceAccessor::debug(), Arcane::IMeshBase::findItemFamily(), Arcane::IMeshMng::findMeshHandle(), fullName(), Arcane::TraceAccessor::info(), Arcane::IMesh::itemTypeMng(), m_current_id, mesh(), Arcane::MeshHandle::mesh(), Arcane::ArrayView< T >::size(), et Arcane::ItemTypeMng::typeFromId().

Référencé par Arcane::mesh::ParticleFamily::readFromDump().

Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ reduceFromGhostItems() [1/2]

void Arcane::mesh::ItemFamily::reduceFromGhostItems ( IVariable * v,
IDataOperation * operation )
overridevirtual

Applique une opération de réduction depuis les entités fantômes.

Cette opération est l'opération inverse de la synchronisation.

Le sous-domaine récupère les valeurs de la variable v sur les entités qu'il partage avec d'autres sous-domaines et l'opération de réduction operation est appliquée sur cette variable.

Implémente Arcane::IItemFamily.

Définition à la ligne 1944 du fichier ItemFamily.cc.

Références Arcane::Parallel::VariableParallelOperationBase::addVariable(), Arcane::Parallel::VariableParallelOperationBase::applyOperation(), Arcane::ItemGroup::itemFamily(), Arcane::IVariable::itemFamily(), Arcane::IVariable::itemGroup(), et Arcane::Parallel::VariableParallelOperationBase::setItemFamily().

Référencé par reduceFromGhostItems().

Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ reduceFromGhostItems() [2/2]

void Arcane::mesh::ItemFamily::reduceFromGhostItems ( IVariable * v,
Parallel::eReduceType operation )
overridevirtual

Applique une opération de réduction depuis les entités fantômes.

Cette opération est l'opération inverse de la synchronisation.

Le sous-domaine récupère les valeurs de la variable v sur les entités qu'il partage avec d'autres sous-domaines et l'opération de réduction operation est appliquée sur cette variable.

Implémente Arcane::IItemFamily.

Définition à la ligne 1960 du fichier ItemFamily.cc.

Références Arcane::IDataFactoryMng::createDataOperation(), Arcane::IVariable::dataFactoryMng(), Arcane::PtrT< T >::get(), et reduceFromGhostItems().

Voici le graphe d'appel pour cette fonction :

◆ removeItem()

void Arcane::mesh::ItemFamily::removeItem ( Item item)
inline

Définition à la ligne 300 du fichier ItemFamily.h.

◆ removeItems2()

void Arcane::mesh::ItemFamily::removeItems2 ( ItemDataList & item_data_list)
overridevirtual

Supprime des entités.

Utilise le graphe (Familles, Connectivités) ItemFamilyNetwork

TODO: A mettre dans l'API interne

Implémente Arcane::IItemFamily.

Définition à la ligne 2228 du fichier ItemFamily.cc.

Références Arcane::Array< DataType >::add(), ARCANE_FATAL, Arcane::Array< DataType >::back(), Arcane::ConnectivityItemVector::connectedItems(), endUpdate(), ENUMERATE_ITEM, Arcane::TraceAccessor::fatal(), Arcane::ItemBase::isDetached(), itemKind(), itemsInternal(), name(), et Arcane::Array< DataType >::view().

Voici le graphe d'appel pour cette fonction :

◆ removeNeedRemoveMarkedItems()

void Arcane::mesh::ItemFamily::removeNeedRemoveMarkedItems ( )
overridevirtual

Supprime des entités et met a jour les connectivites.

Ne supprime pas d'eventuels sous items orphelins.

Contexte d'utilisation avec un graphe des familles. Les sous items orphelins ont du eux aussi etre marque NeedRemove. Il n'y a donc pas besoin de les gerer dans les familles parentes.

TODO: A mettre dans l'API interne

Implémente Arcane::IItemFamily.

Réimplémentée dans Arcane::mesh::ParticleFamily.

Définition à la ligne 2389 du fichier ItemFamily.cc.

Références Arcane::Array< DataType >::add(), ARCANE_FATAL, Arcane::ConnectivityItemVector::connectedItems(), Arcane::mesh::ItemInternalMap::count(), Arcane::mesh::ItemInternalMap::eachItem(), ENUMERATE_ITEM, Arcane::ItemBase::flags(), Arcane::ItemFlags::II_NeedRemove, Arcane::ItemFlags::II_Suppressed, Arcane::TraceAccessor::info(), itemKind(), Arcane::IItemFamily::itemsInternal(), Arcane::ItemBase::localId(), name(), Arcane::IIncrementalItemConnectivity::removeConnectedItem(), Arcane::Array< DataType >::reserve(), Arcane::MutableItemBase::setFlags(), Arcane::AbstractArray< T >::size(), Arcane::IIncrementalItemSourceConnectivity::sourceFamily(), et Arcane::ItemBase::toMutable().

Voici le graphe d'appel pour cette fonction :

◆ removeSourceConnectivity()

void Arcane::mesh::ItemFamily::removeSourceConnectivity ( IItemConnectivity * connectivity)
overridevirtual

Implémente Arcane::IItemFamily.

Définition à la ligne 2507 du fichier ItemFamily.cc.

◆ removeTargetConnectivity()

void Arcane::mesh::ItemFamily::removeTargetConnectivity ( IItemConnectivity * connectivity)
overridevirtual

Implémente Arcane::IItemFamily.

Définition à la ligne 2516 du fichier ItemFamily.cc.

◆ resizeVariables()

void Arcane::mesh::ItemFamily::resizeVariables ( bool force_resize)
inlineoverridevirtual

Redimensionne les variables de cette famille.

Cette méthode est interne à Arcane.

Implémente Arcane::IItemFamily.

Définition à la ligne 403 du fichier ItemFamily.h.

◆ setConnectivityMng()

void Arcane::mesh::ItemFamily::setConnectivityMng ( IItemConnectivityMng * connectivity_mng)
overridevirtual

Implémente Arcane::IItemFamily.

Définition à la ligne 2525 du fichier ItemFamily.cc.

◆ setHasUniqueIdMap()

void Arcane::mesh::ItemFamily::setHasUniqueIdMap ( bool v)
overridevirtual

Indique si la famille possède une table de conversion uniqueId vers localId.

La table de conversion permet d'utiliser les méthodes itemsUniqueIdToLocalId() ou findOneItem().

Cette méthode ne peut être appelée que lorsqu'il n'y a aucune entité de la famille.

Les familles de noeuds, arêtes, faces et mailles du maillage ont obligatoirement une table de conversion.

Implémente Arcane::IItemFamily.

Réimplémentée dans Arcane::mesh::ParticleFamily.

Définition à la ligne 2086 du fichier ItemFamily.cc.

◆ setItemSortFunction()

void Arcane::mesh::ItemFamily::setItemSortFunction ( IItemInternalSortFunction * sort_function)
overridevirtual

Positionne la fonction de tri des entités.

La méthode par défaut est de trier les entités par uniqueId() croissant. Si sort_function est nul, c'est la méthode par défaut qui sera utilisée. Sinon, sort_function remplace la fonction précédente qui est détruite (via delete). Le tri est effectué via l'appel à compactItems().

Voir également
itemSortFunction()

Implémente Arcane::IItemFamily.

Définition à la ligne 2175 du fichier ItemFamily.cc.

◆ setParentFamily()

void Arcane::mesh::ItemFamily::setParentFamily ( IItemFamily * parent)
overridevirtual

Positionne l'IItemFamily parent.

A utiliser avant build() pour les sous-maillages construit dynamiquement (i.e. pas depuis un reprise).

TODO: A mettre dans l'API interne

Implémente Arcane::IItemFamily.

Définition à la ligne 541 du fichier ItemFamily.cc.

Références Arcane::IItemFamily::parentFamilyDepth().

Voici le graphe d'appel pour cette fonction :

◆ setPolicyMng()

void Arcane::mesh::ItemFamily::setPolicyMng ( IItemFamilyPolicyMng * policy_mng)
virtual

Définition à la ligne 2476 du fichier ItemFamily.cc.

◆ subDomain()

ISubDomain * Arcane::mesh::ItemFamily::subDomain ( ) const
overridevirtual

Sous-domaine associé

Implémente Arcane::IItemFamily.

Définition à la ligne 889 du fichier ItemFamily.cc.

Référencé par findVariable().

Voici le graphe des appelants de cette fonction :

◆ synchronize() [1/2]

void Arcane::mesh::ItemFamily::synchronize ( VariableCollection variables)
overridevirtual

Synchronise les variables variables.

Les variables variables doivent être toutes être issues de cette famille et ne pas être partielles.

Implémente Arcane::IItemFamily.

Définition à la ligne 2198 du fichier ItemFamily.cc.

◆ synchronize() [2/2]

void Arcane::mesh::ItemFamily::synchronize ( VariableCollection variables,
Int32ConstArrayView local_ids )
overridevirtual

Synchronise les variables variables sur une liste d'entités.

Les variables variables doivent être toutes être issues de cette famille et ne pas être partielles.

Seules les entités listées dans local_ids seront synchronisées. Attention : une entité présente dans cette liste sur un sous-domaine doit être présente dans cette liste pour tout autre sous-domaine qui possède cette entité.

Réimplémentée à partir de Arcane::IItemFamily.

Définition à la ligne 2207 du fichier ItemFamily.cc.

◆ toParticleFamily()

IParticleFamily * Arcane::mesh::ItemFamily::toParticleFamily ( )
inlineoverridevirtual

Retourne l'interface de la famille de particule de cette famille.

L'interface IParticleFamily n'existe que si cette famille est une famille de particules (itemKind()==IK_Particle). Pour les autres genres de famille, 0 est retourné.

Implémente Arcane::IItemFamily.

Réimplémentée dans Arcane::mesh::ParticleFamily.

Définition à la ligne 268 du fichier ItemFamily.h.

Références toParticleFamily().

Référencé par toParticleFamily().

Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ traceMng()

ITraceMng * Arcane::mesh::ItemFamily::traceMng ( ) const
overridevirtual

Gestionnaire de trace associé

Implémente Arcane::IItemFamily.

Définition à la ligne 898 du fichier ItemFamily.cc.

Références Arcane::TraceAccessor::traceMng().

Voici le graphe d'appel pour cette fonction :

◆ uniqueIds()

Int64ArrayView * Arcane::mesh::ItemFamily::uniqueIds ( )

Définition à la ligne 1971 du fichier ItemFamily.cc.

◆ usedVariables()

void Arcane::mesh::ItemFamily::usedVariables ( VariableCollection collection)
overridevirtual

Ajoute à la collection collection la liste des variables utilisés de cette famille.

Implémente Arcane::IItemFamily.

Définition à la ligne 2152 du fichier ItemFamily.cc.

◆ view() [1/2]

ItemVectorView Arcane::mesh::ItemFamily::view ( )
overridevirtual

Vue sur toutes les entités de la famille.

Implémente Arcane::IItemFamily.

Définition à la ligne 2114 du fichier ItemFamily.cc.

Références allItems(), et Arcane::ItemGroup::view().

Référencé par Arcane::mesh::DoFFamily::addDoFs(), et Arcane::mesh::DoFFamily::addGhostDoFs().

Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ view() [2/2]

ItemVectorView Arcane::mesh::ItemFamily::view ( Int32ConstArrayView local_ids)
overridevirtual

Vue sur les entités.

Retourne une vue sur les entités de numéro locaux local_ids.

Avertissement
Cette vue n'est valide que tant que la famille n'évolue pas. En particulier, l'ajout, la suppression ou le compactage invalide la vue. Si vous souhaitez conserver une liste même après modification, il faut utiliser les groupes (ItemGroup).

Implémente Arcane::IItemFamily.

Définition à la ligne 2105 du fichier ItemFamily.cc.

Références itemInfoListView().

Référencé par Arcane::mesh::ParticleFamily::addParticles(), et Arcane::mesh::ParticleFamily::addParticles().

Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

Documentation des données membres

◆ m_adjacency_groups

AdjacencyGroupMap Arcane::mesh::ItemFamily::m_adjacency_groups
private

Définition à la ligne 449 du fichier ItemFamily.h.

◆ m_child_families

UniqueArray<ItemFamily*> Arcane::mesh::ItemFamily::m_child_families
protected

Définition à la ligne 362 du fichier ItemFamily.h.

◆ m_common_item_shared_info

ItemSharedInfo* Arcane::mesh::ItemFamily::m_common_item_shared_info = nullptr
private

Définition à la ligne 351 du fichier ItemFamily.h.

◆ m_connectivity_mng

IItemConnectivityMng* Arcane::mesh::ItemFamily::m_connectivity_mng = nullptr
protected

connectivite ou ItemFamily == TargetFamily

Définition à la ligne 369 du fichier ItemFamily.h.

◆ m_connectivity_selector_list

UniqueArray<ItemConnectivitySelector*> Arcane::mesh::ItemFamily::m_connectivity_selector_list
private

Définition à la ligne 450 du fichier ItemFamily.h.

◆ m_connectivity_selector_list_by_item_kind

UniqueArray<ItemConnectivitySelector*> Arcane::mesh::ItemFamily::m_connectivity_selector_list_by_item_kind
private

Définition à la ligne 455 du fichier ItemFamily.h.

◆ m_current_id

Integer Arcane::mesh::ItemFamily::m_current_id = 0
private

Family identifier.

This identifier is incremented every time the family changes. It is saved during a protection and in case of reloading, for example following a rollback. If this identifier is the same as the saved one, it means that the family has not changed since the last save and therefore there is no entity recreation to perform.

Définition à la ligne 439 du fichier ItemFamily.h.

Référencé par prepareForDump(), et readFromDump().

◆ m_current_variable_item_size

Integer Arcane::mesh::ItemFamily::m_current_variable_item_size = 0
protected

Définition à la ligne 358 du fichier ItemFamily.h.

◆ m_default_sub_domain_owner

Int32 Arcane::mesh::ItemFamily::m_default_sub_domain_owner = A_NULL_RANK
private

Définition à la ligne 419 du fichier ItemFamily.h.

◆ m_do_shrink_after_allocate

bool Arcane::mesh::ItemFamily::m_do_shrink_after_allocate = false
private

Définition à la ligne 461 du fichier ItemFamily.h.

◆ m_full_name

String Arcane::mesh::ItemFamily::m_full_name
protected

Définition à la ligne 332 du fichier ItemFamily.h.

◆ m_global_connectivity_info

ItemConnectivityInfo* Arcane::mesh::ItemFamily::m_global_connectivity_info = nullptr
protected

Définition à la ligne 364 du fichier ItemFamily.h.

◆ m_infos

std::unique_ptr<DynamicMeshKindInfos> Arcane::mesh::ItemFamily::m_infos
private

Définition à la ligne 341 du fichier ItemFamily.h.

◆ m_internal_api

InternalApi* Arcane::mesh::ItemFamily::m_internal_api = nullptr
protected

Définition à la ligne 334 du fichier ItemFamily.h.

◆ m_internal_variables

Variables* Arcane::mesh::ItemFamily::m_internal_variables = nullptr
private

Définition à la ligne 418 du fichier ItemFamily.h.

◆ m_is_parallel

bool Arcane::mesh::ItemFamily::m_is_parallel = false
private

Définition à la ligne 427 du fichier ItemFamily.h.

◆ m_item_connectivity_list

ItemInternalConnectivityList Arcane::mesh::ItemFamily::m_item_connectivity_list
private

Accessor for connectivities via Item and ItemInternal.

Définition à la ligne 453 du fichier ItemFamily.h.

Référencé par itemInternalConnectivityList().

◆ m_item_groups

ItemGroupList Arcane::mesh::ItemFamily::m_item_groups
protected

Définition à la ligne 345 du fichier ItemFamily.h.

◆ m_item_internal_list

MeshItemInternalList* Arcane::mesh::ItemFamily::m_item_internal_list = nullptr
protected

Définition à la ligne 347 du fichier ItemFamily.h.

◆ m_item_need_prepare_dump

bool Arcane::mesh::ItemFamily::m_item_need_prepare_dump = false
private

Définition à la ligne 441 du fichier ItemFamily.h.

◆ m_item_shared_infos

ItemSharedInfoList* Arcane::mesh::ItemFamily::m_item_shared_infos = nullptr
protected

Définition à la ligne 355 du fichier ItemFamily.h.

◆ m_item_sort_function

IItemInternalSortFunction* Arcane::mesh::ItemFamily::m_item_sort_function = nullptr
protected

Définition à la ligne 359 du fichier ItemFamily.h.

◆ m_item_type_mng

ItemTypeMng* Arcane::mesh::ItemFamily::m_item_type_mng = nullptr
private

Définition à la ligne 460 du fichier ItemFamily.h.

◆ m_items_flags

Int32Array* Arcane::mesh::ItemFamily::m_items_flags = nullptr
private

Définition à la ligne 413 du fichier ItemFamily.h.

◆ m_items_nb_parent

Int32Array* Arcane::mesh::ItemFamily::m_items_nb_parent = nullptr
private

Définition à la ligne 415 du fichier ItemFamily.h.

◆ m_items_owner

Int32Array* Arcane::mesh::ItemFamily::m_items_owner = nullptr
private

Définition à la ligne 412 du fichier ItemFamily.h.

◆ m_items_type_id

Int16Array* Arcane::mesh::ItemFamily::m_items_type_id = nullptr
private

Définition à la ligne 414 du fichier ItemFamily.h.

◆ m_items_unique_id

Int64Array* Arcane::mesh::ItemFamily::m_items_unique_id = nullptr
private

Définition à la ligne 411 du fichier ItemFamily.h.

◆ m_items_unique_id_view

Int64ArrayView Arcane::mesh::ItemFamily::m_items_unique_id_view
private

Définition à la ligne 417 du fichier ItemFamily.h.

◆ m_local_connectivity_info

ItemConnectivityInfo* Arcane::mesh::ItemFamily::m_local_connectivity_info = nullptr
protected

Définition à la ligne 363 du fichier ItemFamily.h.

◆ m_mesh

IMesh* Arcane::mesh::ItemFamily::m_mesh = nullptr
protected

Définition à la ligne 333 du fichier ItemFamily.h.

◆ m_name

String Arcane::mesh::ItemFamily::m_name
protected

Définition à la ligne 331 du fichier ItemFamily.h.

◆ m_nb_allocate_info

Int64 Arcane::mesh::ItemFamily::m_nb_allocate_info = 0
private

Définition à la ligne 445 du fichier ItemFamily.h.

◆ m_need_prepare_dump

bool Arcane::mesh::ItemFamily::m_need_prepare_dump = true
protected

Définition à la ligne 346 du fichier ItemFamily.h.

◆ m_observers

ObserverPool Arcane::mesh::ItemFamily::m_observers
protected

Définition à la ligne 356 du fichier ItemFamily.h.

◆ m_parent_family

IItemFamily* Arcane::mesh::ItemFamily::m_parent_family = nullptr
protected

Définition à la ligne 336 du fichier ItemFamily.h.

◆ m_parent_family_depth

Integer Arcane::mesh::ItemFamily::m_parent_family_depth = 0
protected

Définition à la ligne 337 du fichier ItemFamily.h.

◆ m_policy_mng

IItemFamilyPolicyMng* Arcane::mesh::ItemFamily::m_policy_mng = nullptr
protected

Définition à la ligne 378 du fichier ItemFamily.h.

◆ m_properties

Properties* Arcane::mesh::ItemFamily::m_properties = nullptr
protected

Définition à la ligne 365 du fichier ItemFamily.h.

◆ m_source_incremental_item_connectivities

UniqueArray<Ref<IIncrementalItemSourceConnectivity> > Arcane::mesh::ItemFamily::m_source_incremental_item_connectivities
private

Définition à la ligne 373 du fichier ItemFamily.h.

◆ m_source_item_connectivities

ItemConnectivitySet Arcane::mesh::ItemFamily::m_source_item_connectivities
protected

Définition à la ligne 367 du fichier ItemFamily.h.

◆ m_sub_domain

ISubDomain* Arcane::mesh::ItemFamily::m_sub_domain = nullptr
protected

Définition à la ligne 335 du fichier ItemFamily.h.

◆ m_sub_domain_id

Int32 Arcane::mesh::ItemFamily::m_sub_domain_id = A_NULL_RANK
protected

Définition à la ligne 423 du fichier ItemFamily.h.

◆ m_target_incremental_item_connectivities

UniqueArray<Ref<IIncrementalItemTargetConnectivity> > Arcane::mesh::ItemFamily::m_target_incremental_item_connectivities
private

Définition à la ligne 374 du fichier ItemFamily.h.

◆ m_target_item_connectivities

ItemConnectivitySet Arcane::mesh::ItemFamily::m_target_item_connectivities
protected

connectivite ou ItemFamily == SourceFamily

Définition à la ligne 368 du fichier ItemFamily.h.

◆ m_topology_modifier

IItemFamilyTopologyModifier* Arcane::mesh::ItemFamily::m_topology_modifier = nullptr
private

Définition à la ligne 451 du fichier ItemFamily.h.

◆ m_use_legacy_compact_item

bool Arcane::mesh::ItemFamily::m_use_legacy_compact_item = false
private

Définition à la ligne 456 du fichier ItemFamily.h.

◆ m_used_shmem_variables

std::set<IVariable*, decltype(&_cmpIVariablePtr)> Arcane::mesh::ItemFamily::m_used_shmem_variables
protected

Définition à la ligne 361 du fichier ItemFamily.h.

◆ m_used_variables

std::set<IVariable*, decltype(&_cmpIVariablePtr)> Arcane::mesh::ItemFamily::m_used_variables
protected

Définition à la ligne 360 du fichier ItemFamily.h.

◆ m_variable_synchronizer

Ref<IVariableSynchronizer> Arcane::mesh::ItemFamily::m_variable_synchronizer
protected

Définition à la ligne 357 du fichier ItemFamily.h.


La documentation de cette classe a été générée à partir des fichiers suivants :