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

Famille d'entités. 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.
VariableItemInt32 & itemsNewOwner () override
 Variable contenant le numéro du nouveau sous-domaine propriétaire de l'entité.
IItemFamily * parentFamily () 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.
ISubDomain * subDomain () const override
 Sous-domaine associé
ITraceMng * traceMng () const override
 Gestionnaire de trace associé
IMesh * mesh () const override
 Maillage associé
IParallelMng * parallelMng () const override
 Gestionnaire de parallélisme associé
IItemConnectivityInfo * localConnectivityInfos () const override
 Informations sur la connectivité locale au sous-domaine pour à cette famille.
IItemConnectivityInfo * globalConnectivityInfos () 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
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.
ItemInternal * findOneItem (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.
IVariable * findVariable (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
 Compacte les entités.
void clearItems () override
 Supprime toutes les entités de la famille.
Int64ArrayView * uniqueIds ()
ItemSharedInfo * commonItemSharedInfo ()
const DynamicMeshKindInfos & infos () 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.
IVariableSynchronizer * allItemsSynchronizer () 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.
IParticleFamily * toParticleFamily () 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.
IItemInternalSortFunction * itemSortFunction () 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é.
IItemFamilyPolicyMng * policyMng () override
 Interface des comportements/politiques associées à cette famille.
Properties * properties () 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)
 Compacte les variables et les groupes.
void finishCompactItems (ItemFamilyCompactInfos &compact_infos)
void removeItem (Item item)
ItemInternalConnectivityList * itemInternalConnectivityList ()
 Accesseur pour les connectivités via Item et 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.
TraceAccessor & operator= (const TraceAccessor &rhs)
 Opérateur de recopie.
virtual ~TraceAccessor ()
 Libère les ressources.
ITraceMng * traceMng () 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 void removeItems2 (mesh::ItemDataList &item_data_list)=0
 Supprime des entités.
virtual IDoFFamily * toDoFFamily ()
 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)
 Compacte les connectivités.
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)
 Compacte les entités.
void _compactOnlyItems (bool do_sort)
 Compacte les entités sans mise à jour des références.
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
IMesh * m_mesh = nullptr
InternalApi * m_internal_api = nullptr
ISubDomain * m_sub_domain = nullptr
IItemFamily * m_parent_family = nullptr
Integer m_parent_family_depth = 0
ItemGroupList m_item_groups
bool m_need_prepare_dump = true
MeshItemInternalList * m_item_internal_list = nullptr
ItemSharedInfoList * m_item_shared_infos = nullptr
ObserverPool m_observers
Ref< IVariableSynchronizer > m_variable_synchronizer
Integer m_current_variable_item_size = 0
IItemInternalSortFunction * m_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
ItemConnectivityInfo * m_local_connectivity_info = nullptr
ItemConnectivityInfo * m_global_connectivity_info = nullptr
Properties * m_properties = nullptr
ItemConnectivitySet m_source_item_connectivities
ItemConnectivitySet m_target_item_connectivities
 connectivite ou ItemFamily == SourceFamily
IItemConnectivityMng * m_connectivity_mng = nullptr
 connectivite ou ItemFamily == TargetFamily
IItemFamilyPolicyMng * m_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 ()
 Positionne les infos Item::isShared() pour les entités de la famille.
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)
 Fonction permettant de comparer deux noms de variable (strcmp).

Attributs privés

std::unique_ptr< DynamicMeshKindInfos > m_infos
ItemSharedInfo * m_common_item_shared_info = nullptr
UniqueArray< Ref< IIncrementalItemSourceConnectivity > > m_source_incremental_item_connectivities
UniqueArray< Ref< IIncrementalItemTargetConnectivity > > m_target_incremental_item_connectivities
Int64Array * m_items_unique_id = nullptr
Int32Array * m_items_owner = nullptr
Int32Array * m_items_flags = nullptr
Int16Array * m_items_type_id = nullptr
Int32Array * m_items_nb_parent = nullptr
Int64ArrayView m_items_unique_id_view
Variables * m_internal_variables = nullptr
Int32 m_default_sub_domain_owner = A_NULL_RANK
bool m_is_parallel = false
Integer m_current_id = 0
 Identifiant de la famille.
bool m_item_need_prepare_dump = false
Int64 m_nb_allocate_info = 0
AdjacencyGroupMap m_adjacency_groups
UniqueArray< ItemConnectivitySelector * > m_connectivity_selector_list
IItemFamilyTopologyModifier * m_topology_modifier = nullptr
ItemInternalConnectivityList m_item_connectivity_list
 Accesseur pour les connectivités via Item et ItemInternal.
UniqueArray< ItemConnectivitySelector * > m_connectivity_selector_list_by_item_kind
bool m_use_legacy_compact_item = false
ItemTypeMng * m_item_type_mng = nullptr
bool m_do_shrink_after_allocate = false

Description détaillée

Famille d'entités.

Cette classe est la classe de base des classes qui gèrent tout ce qui est relatif à un ensemble d'entité de même genre, par exemple des noeuds.

Pour chaque famille, on gère:

  • la liste des entités, l'ajout (addItems()) ou la suppression (removeItems()).
  • les groupes, leur création (createGroup()), leur recherche (findGroup()).
  • la synchronisation des entités (synchronize()).

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 110 du fichier ItemFamily.h.

◆ AdjencyGroupMap

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

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

◆ ItemConnectivitySet

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

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

◆ ItemInternalMap

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

Définition à la ligne 123 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 267 du fichier ItemFamily.cc.

◆ ~ItemFamily()

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

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

Documentation des fonctions membres

◆ _addConnectivitySelector()

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

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

◆ _addOnSizeChangedObservable()

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

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

◆ _addSourceConnectivity()

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

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

◆ _addTargetConnectivity()

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

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

◆ _addVariable()

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

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

◆ _allocateInfos() [1/2]

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

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

◆ _allocateInfos() [2/2]

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

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

◆ _allocMany()

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

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

◆ _allocOne() [1/2]

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

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

◆ _allocOne() [2/2]

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

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

◆ _applyCheckNeedUpdateOnGroups()

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

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

◆ _buildConnectivitySelectors()

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

Définition à la ligne 2667 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 vaut 0 si pas de mise à jour, 1 sinon.

Définition à la ligne 1476 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 1124 du fichier ItemFamily.cc.

◆ _checkValid()

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

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

◆ _checkValidConnectivity()

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

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

◆ _checkValidItem() [1/2]

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

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

◆ _checkValidItem() [2/2]

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

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

◆ _checkValidSourceTargetItems() [1/2]

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

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

◆ _checkValidSourceTargetItems() [2/2]

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

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

◆ _cmpIVariablePtr()

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

Fonction permettant de comparer deux noms de variable (strcmp).

Renvoie
True si le nom de a est lexicographiquement inférieur au nom de b.

Définition à la ligne 255 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

Compacte les connectivités.

Avertissement
: Cette méthode doit être appelée durant un compactage (entre un appel à m_infos.beginCompactItems() et m_infos.endCompactItems()).

Définition à la ligne 1741 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

Compacte les entités.

Définition à la ligne 1533 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

Compacte les entités sans mise à jour des références.

Si on appelle cette méthode, il faut être sur ensuite d'appeler compactReference() sinon le tableau des itemsData() va grossir au cours du temps.

Définition à la ligne 1493 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 2724 du fichier ItemFamily.cc.

◆ _defaultItemSortFunction()

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

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

◆ _detachCells2()

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

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

◆ _detachOne()

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

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

◆ _endAllocate()

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

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

◆ _endUpdate()

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

Définition à la ligne 736 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 2334 du fichier ItemFamily.cc.

◆ _findOrAllocOne()

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

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

◆ _findSharedInfo()

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

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

◆ _getConnectedItems()

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

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

◆ _handleOldCheckpoint()

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

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

◆ _infos()

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

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

◆ _internalApi()

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

API interne à Arcane.

Implémente Arcane::IItemFamily.

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

◆ _invalidateComputedGroups()

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

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

◆ _itemInternal()

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

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

◆ _itemsInternal()

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

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

◆ _itemTypeMng()

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

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

◆ _notifyDataIndexChanged()

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

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

◆ _notifyEndUpdateFromMesh()

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

Méthode appelée par le maillage à la fin d'un IMesh::endUpdate(). Cette méthode est collective et permet donc de faire des opérations collectives une fois les modifications de maillage terminées.

Définition à la ligne 624 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 703 du fichier ItemFamily.cc.

◆ _preAllocate()

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

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

◆ _processNewGroup()

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

Définition à la ligne 1059 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 1447 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 483 du fichier ItemFamily.cc.

◆ _removeMany()

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

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

◆ _removeOne()

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

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

◆ _removeVariable()

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

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

◆ _reserveInfosMemory()

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

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

◆ _resizeInfos()

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

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

◆ _resizeItemVariables()

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

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

◆ _resizeShMemVariables()

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

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

◆ _resizeVariables()

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

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

◆ _setHasUniqueIdMap()

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

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

◆ _setTopologyModifier()

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

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

◆ _shrinkConnectivityAndPrintInfos()

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

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

◆ _topologyModifier()

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

Interface du modificateur de topologie.

Implémente Arcane::IItemFamily.

Définition à la ligne 398 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 391 du fichier ItemFamily.h.

◆ _updateGroup()

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

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

◆ _updateGroups()

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

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

◆ _updateItemsSharedFlag()

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

Positionne les infos Item::isShared() pour les entités de la famille.

Cette méthode n'est valide que si les infos de connectivité de m_variable_synchronizer sont à jour.

Définition à la ligne 2704 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 2765 du fichier ItemFamily.cc.

◆ _updateSharedInfo()

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

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

◆ _updateVariable()

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

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

◆ _variableName()

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

Définition à la ligne 313 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 569 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 2218 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 2488 du fichier ItemFamily.cc.

◆ addTargetConnectivity()

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

Implémente Arcane::IItemFamily.

Définition à la ligne 2497 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 926 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 2168 du fichier ItemFamily.cc.

◆ beginCompactItems()

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

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

◆ build()

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

Implémente Arcane::IItemFamily.

Définition à la ligne 322 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 2012 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 601 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 611 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 579 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 2001 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 232 du fichier ItemFamily.h.

◆ compactItems()

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

Compacte les entités.

Implémente Arcane::IItemFamily.

Définition à la ligne 1516 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)

Compacte les variables et les groupes.

Compactage effectif des variables, groupes et familles enfant à partir des données du DynamicMeshKindInfos

Avertissement
: Cette méthode doit être appelée durant un compactage (entre un appel à m_infos->beginCompactItems() et m_info->endCompactItems()).

Définition à la ligne 1675 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 1930 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

Copie les moyennes des valeurs des entités numéros first_source et second_source dans les entités numéros destination

Paramètres
first_sourceliste des localId de la 1ère source
second_sourceliste des localId de la 2ème source
destinationliste des localId destination

Implémente Arcane::IItemFamily.

Définition à la ligne 1643 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

Copie les valeurs des entités numéros source dans les entités numéro destination

Paramètres
sourceliste des localId source
destinationliste des localId destination

Implémente Arcane::IItemFamily.

Définition à la ligne 1612 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 964 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 985 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 936 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 1012 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 636 du fichier ItemFamily.cc.

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

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 2544 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 2047 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 2040 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 1088 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 1101 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 414 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 1982 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 1591 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 137 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 1918 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 2079 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 1079 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 2098 du fichier ItemFamily.cc.

◆ infos()

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

Définition à la ligne 424 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 1766 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 524 du fichier ItemFamily.cc.

Référencé par view().

Voici le graphe des appelants de cette fonction :

◆ itemInternalConnectivityList()

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

Accesseur pour les connectivités via Item et ItemInternal.

Définition à la ligne 301 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 488 du fichier ItemFamily.cc.

Référencé par 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 2535 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 515 du fichier ItemFamily.cc.

Référencé par _compactFromParentFamily().

Voici le graphe des appelants de cette fonction :

◆ itemsMap()

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

Définition à la ligne 419 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 592 du fichier ItemFamily.cc.

◆ 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 2191 du fichier ItemFamily.cc.

◆ itemsUniqueIdToLocalId() [1/3]

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

Définition à la ligne 859 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 879 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 868 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 2070 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 506 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 908 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

Nom de la famille.

Implémente Arcane::IItemFamily.

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

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

Référencé par _readGroups(), checkUniqueIds(), createGroup(), createGroup(), createGroup(), findGroup(), findGroup(), findVariable(), Arcane::mesh::DoFFamily::name(), Arcane::mesh::ParticleFamily::name(), prepareForDump(), removeNeedRemoveMarkedItems(), Arcane::mesh::CellFamily::setConnectivity(), Arcane::mesh::EdgeFamily::setConnectivity(), et Arcane::mesh::NodeFamily::setConnectivity().

Voici le graphe des appelants de cette fonction :

◆ 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 497 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 1031 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 1115 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 917 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 533 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 560 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 754 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 763 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 804 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 280 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 1134 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 281 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 1254 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 1946 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 1962 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 296 du fichier ItemFamily.h.

◆ removeItems2()

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

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

◆ 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 2386 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::ItemBase::localId(), name(), Arcane::Array< DataType >::reserve(), Arcane::MutableItemBase::setFlags(), Arcane::AbstractArray< T >::size(), 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 2506 du fichier ItemFamily.cc.

◆ removeTargetConnectivity()

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

Implémente Arcane::IItemFamily.

Définition à la ligne 2515 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 399 du fichier ItemFamily.h.

◆ setConnectivityMng()

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

Implémente Arcane::IItemFamily.

Définition à la ligne 2524 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 2088 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 2177 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 542 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 2475 du fichier ItemFamily.cc.

◆ subDomain()

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

Sous-domaine associé

Implémente Arcane::IItemFamily.

Définition à la ligne 890 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 2200 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 2209 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 264 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 899 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 1973 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 2154 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 2116 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 2107 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 445 du fichier ItemFamily.h.

◆ m_child_families

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

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

◆ m_common_item_shared_info

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

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

◆ m_connectivity_mng

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

connectivite ou ItemFamily == TargetFamily

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

◆ m_connectivity_selector_list

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

Définition à la ligne 446 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 451 du fichier ItemFamily.h.

◆ m_current_id

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

Identifiant de la famille.

Cet identifiant est incrémenté à chaque fois que la famille change. Il est sauvegardé lors d'une protection et en cas de relecture, par exemple suite à un retour-arrière. Si cet identifiant est le même que celui sauvegardé, cela signifie que la famille n'a pas changée depuis la dernière sauvegarde et donc qu'il n'y a aucune recréation d'entité à faire.

Définition à la ligne 435 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 354 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 415 du fichier ItemFamily.h.

◆ m_do_shrink_after_allocate

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

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

◆ m_full_name

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

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

◆ m_global_connectivity_info

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

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

◆ m_infos

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

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

◆ m_internal_api

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

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

◆ m_internal_variables

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

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

◆ m_is_parallel

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

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

◆ m_item_connectivity_list

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

Accesseur pour les connectivités via Item et ItemInternal.

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

Référencé par itemInternalConnectivityList().

◆ m_item_groups

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

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

◆ m_item_internal_list

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

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

◆ m_item_need_prepare_dump

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

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

◆ m_item_shared_infos

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

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

◆ m_item_sort_function

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

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

◆ m_item_type_mng

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

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

◆ m_items_flags

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

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

◆ m_items_nb_parent

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

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

◆ m_items_owner

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

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

◆ m_items_type_id

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

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

◆ m_items_unique_id

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

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

◆ m_items_unique_id_view

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

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

◆ m_local_connectivity_info

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

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

◆ m_mesh

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

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

◆ m_name

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

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

◆ m_nb_allocate_info

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

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

◆ m_need_prepare_dump

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

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

◆ m_observers

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

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

◆ m_parent_family

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

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

◆ m_parent_family_depth

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

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

◆ m_policy_mng

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

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

◆ m_properties

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

Définition à la ligne 361 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 369 du fichier ItemFamily.h.

◆ m_source_item_connectivities

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

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

◆ m_sub_domain

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

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

◆ m_sub_domain_id

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

Définition à la ligne 419 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 370 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 364 du fichier ItemFamily.h.

◆ m_topology_modifier

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

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

◆ m_use_legacy_compact_item

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

Définition à la ligne 452 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 357 du fichier ItemFamily.h.

◆ m_used_variables

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

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

◆ m_variable_synchronizer

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

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


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