Famille d'entités. Plus de détails...
#include <arcane/mesh/ItemFamily.h>
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. | |
![]() | |
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 |
![]() | |
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 |
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 | _shrinkConnectivityAndPrintInfos () |
void | _addOnSizeChangedObservable (VariableRef &var_ref) |
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:
Définition à la ligne 73 du fichier ItemFamily.h.
|
private |
Définition à la ligne 110 du fichier ItemFamily.h.
|
private |
Définition à la ligne 113 du fichier ItemFamily.h.
|
protected |
Définition à la ligne 355 du fichier ItemFamily.h.
Définition à la ligne 117 du fichier ItemFamily.h.
Définition à la ligne 255 du fichier ItemFamily.cc.
|
override |
Définition à la ligne 277 du fichier ItemFamily.cc.
|
protected |
Définition à la ligne 2600 du fichier ItemFamily.cc.
|
private |
Définition à la ligne 2722 du fichier ItemFamily.cc.
|
private |
Définition à la ligne 2506 du fichier ItemFamily.cc.
|
private |
Définition à la ligne 2515 du fichier ItemFamily.cc.
|
private |
Définition à la ligne 2081 du fichier ItemFamily.cc.
|
protected |
Définition à la ligne 1828 du fichier ItemFamily.cc.
|
protected |
Définition à la ligne 1795 du fichier ItemFamily.cc.
Définition à la ligne 1766 du fichier ItemFamily.cc.
|
protected |
Définition à la ligne 444 du fichier ItemFamily.cc.
|
protected |
Définition à la ligne 449 du fichier ItemFamily.cc.
|
protected |
Définition à la ligne 1386 du fichier ItemFamily.cc.
|
protected |
Définition à la ligne 2609 du fichier ItemFamily.cc.
|
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 1444 du fichier ItemFamily.cc.
Références computeSynchronizeInfos(), parallelMng(), Arcane::IParallelMng::reduce(), et Arcane::MessagePassing::ReduceMax.
Référencé par readFromDump().
|
protected |
Définition à la ligne 1098 du fichier ItemFamily.cc.
|
protected |
Définition à la ligne 1733 du fichier ItemFamily.cc.
|
protected |
Définition à la ligne 2524 du fichier ItemFamily.cc.
|
inlineprotected |
Définition à la ligne 504 du fichier ItemFamily.h.
|
inlineprotected |
Définition à la ligne 486 du fichier ItemFamily.h.
|
inlineprotected |
Définition à la ligne 505 du fichier ItemFamily.h.
|
inlineprotected |
Définition à la ligne 494 du fichier ItemFamily.h.
|
protected |
Compacte les connectivités.
Définition à la ligne 1697 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().
|
protected |
Compacte les entités.
Définition à la ligne 1501 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().
|
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 1461 du fichier ItemFamily.cc.
Références _compactItems().
Référencé par compactItems(), et prepareForDump().
|
private |
Définition à la ligne 2666 du fichier ItemFamily.cc.
|
protectedvirtual |
Définition à la ligne 2408 du fichier ItemFamily.cc.
|
protected |
Définition à la ligne 2291 du fichier ItemFamily.cc.
|
protected |
Définition à la ligne 429 du fichier ItemFamily.cc.
|
protectedvirtual |
Définition à la ligne 635 du fichier ItemFamily.cc.
|
protected |
Définition à la ligne 722 du fichier ItemFamily.cc.
|
private |
Définition à la ligne 2280 du fichier ItemFamily.cc.
|
protected |
Définition à la ligne 454 du fichier ItemFamily.cc.
|
protected |
Définition à la ligne 1776 du fichier ItemFamily.cc.
|
private |
Définition à la ligne 2267 du fichier ItemFamily.cc.
|
private |
Définition à la ligne 2678 du fichier ItemFamily.cc.
|
protected |
Définition à la ligne 416 du fichier ItemFamily.cc.
|
overridevirtual |
API interne à Arcane.
Implémente Arcane::IItemFamily.
Définition à la ligne 2732 du fichier ItemFamily.cc.
|
protected |
Définition à la ligne 1401 du fichier ItemFamily.cc.
|
protected |
Définition à la ligne 439 du fichier ItemFamily.cc.
|
protected |
Définition à la ligne 434 du fichier ItemFamily.cc.
|
inlineprotected |
Définition à la ligne 450 du fichier ItemFamily.h.
|
protected |
Définition à la ligne 1865 du fichier ItemFamily.cc.
|
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 610 du fichier ItemFamily.cc.
Références parallelMng().
|
protected |
Définition à la ligne 689 du fichier ItemFamily.cc.
|
protected |
Définition à la ligne 1852 du fichier ItemFamily.cc.
|
protected |
Définition à la ligne 1033 du fichier ItemFamily.cc.
|
protected |
Relit les groupes depuis une protection et les recréer si besoin.
Définition à la ligne 1421 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().
|
protected |
Définition à la ligne 469 du fichier ItemFamily.cc.
|
protected |
Définition à la ligne 464 du fichier ItemFamily.cc.
|
protected |
Définition à la ligne 422 du fichier ItemFamily.cc.
|
private |
Définition à la ligne 2093 du fichier ItemFamily.cc.
|
protected |
Définition à la ligne 1748 du fichier ItemFamily.cc.
|
protected |
Définition à la ligne 1757 du fichier ItemFamily.cc.
|
private |
Définition à la ligne 1805 du fichier ItemFamily.cc.
|
private |
Définition à la ligne 807 du fichier ItemFamily.cc.
|
protected |
Définition à la ligne 459 du fichier ItemFamily.cc.
|
protected |
Définition à la ligne 2630 du fichier ItemFamily.cc.
|
private |
Définition à la ligne 650 du fichier ItemFamily.cc.
|
inlineoverridevirtual |
Interface du modificateur de topologie.
Implémente Arcane::IItemFamily.
Définition à la ligne 391 du fichier ItemFamily.h.
Référencé par Arcane::mesh::FaceFamily::replaceBackCellToFace().
|
inlineprotected |
Définition à la ligne 384 du fichier ItemFamily.h.
|
protected |
Définition à la ligne 757 du fichier ItemFamily.cc.
|
protected |
Définition à la ligne 777 du fichier ItemFamily.cc.
|
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 2646 du fichier ItemFamily.cc.
Références Arcane::ItemFlags::II_Shared, et Arcane::ConstArrayView< T >::size().
Référencé par computeSynchronizeInfos().
|
private |
Définition à la ligne 2707 du fichier ItemFamily.cc.
|
protected |
Définition à la ligne 1785 du fichier ItemFamily.cc.
|
protected |
Définition à la ligne 798 du fichier ItemFamily.cc.
Définition à la ligne 299 du fichier ItemFamily.cc.
|
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 555 du fichier ItemFamily.cc.
Références ARCANE_CHECK_POINTER.
|
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 2164 du fichier ItemFamily.cc.
Références ARCANE_THROW.
|
overridevirtual |
Implémente Arcane::IItemFamily.
Définition à la ligne 2430 du fichier ItemFamily.cc.
|
overridevirtual |
Implémente Arcane::IItemFamily.
Définition à la ligne 2439 du fichier ItemFamily.cc.
|
overridevirtual |
Groupe de toutes les entités.
Implémente Arcane::IItemFamily.
Réimplémentée dans Arcane::mesh::ParticleFamily, et Arcane::mesh::PolyhedralFamily.
Définition à la ligne 900 du fichier ItemFamily.cc.
Référencé par Arcane::mesh::DoFFamily::allItems(), Arcane::mesh::ParticleFamily::allItems(), Arcane::mesh::PolyhedralFamily::allItems(), destroyGroups(), et view().
|
overridevirtual |
Synchroniseur sur toutes les entités de la famille.
Implémente Arcane::IItemFamily.
Définition à la ligne 2114 du fichier ItemFamily.cc.
void Arcane::mesh::ItemFamily::beginCompactItems | ( | ItemFamilyCompactInfos & | compact_infos | ) |
Définition à la ligne 1521 du fichier ItemFamily.cc.
|
overridevirtual |
Implémente Arcane::IItemFamily.
Définition à la ligne 308 du fichier ItemFamily.cc.
|
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 1968 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().
|
overridevirtual |
Vérification de la validité des structures internes (interne)
Implémente Arcane::IItemFamily.
Définition à la ligne 587 du fichier ItemFamily.cc.
|
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 597 du fichier ItemFamily.cc.
Référencé par Arcane::mesh::ParticleFamily::checkValidConnectivity().
|
overridevirtual |
Familles enfantes de cette famille.
Implémente Arcane::IItemFamily.
Définition à la ligne 565 du fichier ItemFamily.cc.
|
overridevirtual |
Supprime toutes les entités de la famille.
Implémente Arcane::IItemFamily.
Définition à la ligne 1957 du fichier ItemFamily.cc.
Références endUpdate().
|
inline |
Définition à la ligne 226 du fichier ItemFamily.h.
|
overridevirtual |
Compacte les entités.
Implémente Arcane::IItemFamily.
Définition à la ligne 1484 du fichier ItemFamily.cc.
Références _compactOnlyItems().
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
Définition à la ligne 1635 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().
|
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 1886 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().
|
overridevirtual |
Copie les moyennes des valeurs des entités numéros first_source et second_source dans les entités numéros destination
first_source | liste des localId de la 1ère source |
second_source | liste des localId de la 2ème source |
destination | liste des localId destination |
Implémente Arcane::IItemFamily.
Définition à la ligne 1608 du fichier ItemFamily.cc.
Références Arcane::IVariable::copyItemsMeanValues(), Arcane::IVariable::PNoRestore, Arcane::IVariable::property(), Arcane::IVariable::PTemporary, et Arcane::ConstArrayView< T >::size().
|
overridevirtual |
Copie les valeurs des entités numéros source dans les entités numéro destination
source | liste des localId source |
destination | liste des localId destination |
Implémente Arcane::IItemFamily.
Définition à la ligne 1580 du fichier ItemFamily.cc.
Références Arcane::IVariable::copyItemsValues(), et Arcane::ConstArrayView< T >::size().
Créé un groupe d'entités de nom name.
Le groupe ne doit pas déjà exister sinon une exception est levée.
name | nom du groupe |
Implémente Arcane::IItemFamily.
Définition à la ligne 938 du fichier ItemFamily.cc.
Références Arcane::TraceAccessor::debug(), Arcane::TraceAccessor::fatal(), findGroup(), name(), et Arcane::ItemGroup::null().
|
overridevirtual |
For Internal Use Only
Implémente Arcane::IItemFamily.
Définition à la ligne 959 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().
|
overridevirtual |
Créé un groupe d'entités de nom name contenant les entités local_ids.
name | nom du groupe |
local_ids | liste des localId() des entités composant le groupe. |
do_override | si 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. |
Implémente Arcane::IItemFamily.
Définition à la ligne 910 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().
|
overridevirtual |
Supprime tous les groupes de cette famille.
Implémente Arcane::IItemFamily.
Définition à la ligne 986 du fichier ItemFamily.cc.
Références allItems(), Arcane::ItemGroupImpl::destroy(), Arcane::ItemGroup::internal(), et Arcane::ItemGroup::isAllItems().
|
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, et Arcane::mesh::PolyhedralFamily.
Définition à la ligne 622 du fichier ItemFamily.cc.
Référencé par clearItems(), Arcane::mesh::DoFFamily::endUpdate(), Arcane::mesh::ParticleFamily::endUpdate(), et Arcane::mesh::PolyhedralFamily::endUpdate().
|
overridevirtual |
Change le numéro unique de l'entité.
Implémente Arcane::IItemFamily.
Définition à la ligne 2486 du fichier ItemFamily.cc.
Références Arcane::mesh::ItemInternalMap::add(), Arcane::mesh::ItemInternalMap::remove(), et Arcane::ItemBase::uniqueId().
|
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.
Réimplémentée à partir de Arcane::IItemFamily.
Définition à la ligne 2003 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().
|
overridevirtual |
Cherche une liste d'adjacence.
Implémente Arcane::IItemFamily.
Définition à la ligne 1996 du fichier ItemFamily.cc.
Références findAdjacencyItems().
Recherche un groupe.
name | nom du groupe à rechercher |
Implémente Arcane::IItemFamily.
Définition à la ligne 1062 du fichier ItemFamily.cc.
Références Arcane::ItemGroup::name(), et name().
Référencé par _readGroups(), createGroup(), createGroup(), createGroup(), et findGroup().
|
overridevirtual |
Recherche un groupe.
name | nom du groupe à rechercher |
Implémente Arcane::IItemFamily.
Définition à la ligne 1075 du fichier ItemFamily.cc.
Références createGroup(), findGroup(), name(), et Arcane::ItemGroup::null().
|
overridevirtual |
Entité de numéro unique unique_id.
Si aucune entité avec cet unique_id n'est trouvé, retourne nullptr.
Implémente Arcane::IItemFamily.
Définition à la ligne 400 du fichier ItemFamily.cc.
|
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 1938 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().
void Arcane::mesh::ItemFamily::finishCompactItems | ( | ItemFamilyCompactInfos & | compact_infos | ) |
Définition à la ligne 1559 du fichier ItemFamily.cc.
|
inlineoverridevirtual |
Nom complet de la famille (avec celui du maillage)
Implémente Arcane::IItemFamily.
Réimplémentée dans Arcane::mesh::ParticleFamily, et Arcane::mesh::PolyhedralFamily.
Définition à la ligne 131 du fichier ItemFamily.h.
Référencé par _compactFromParentFamily(), compactVariablesAndGroups(), Arcane::mesh::DoFFamily::fullName(), Arcane::mesh::ParticleFamily::fullName(), Arcane::mesh::PolyhedralFamily::fullName(), prepareForDump(), et readFromDump().
|
overridevirtual |
Liste des sous-domaines communiquants pour les entités.
Implémente Arcane::IItemFamily.
Définition à la ligne 1874 du fichier ItemFamily.cc.
Références Arcane::Array< DataType >::copy(), Arcane::Array< DataType >::resize(), et Arcane::ConstArrayView< T >::size().
|
overridevirtual |
Informations sur la connectivité globales à tous les sous-domaines.
Implémente Arcane::IItemFamily.
Définition à la ligne 2035 du fichier ItemFamily.cc.
|
overridevirtual |
Liste des groupes de cette famille.
Implémente Arcane::IItemFamily.
Définition à la ligne 1053 du fichier ItemFamily.cc.
|
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 2054 du fichier ItemFamily.cc.
const DynamicMeshKindInfos & Arcane::mesh::ItemFamily::infos | ( | ) | const |
Définition à la ligne 410 du fichier ItemFamily.cc.
|
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 1722 du fichier ItemFamily.cc.
Références ARCANE_THROW.
|
overridevirtual |
Vue sur la liste d'informations sur les entités.
Implémente Arcane::IItemFamily.
Définition à la ligne 510 du fichier ItemFamily.cc.
Référencé par view().
|
inline |
Accesseur pour les connectivités via Item et ItemInternal.
Définition à la ligne 295 du fichier ItemFamily.h.
Références m_item_connectivity_list.
|
overridevirtual |
Genre des entités.
Implémente Arcane::IItemFamily.
Définition à la ligne 474 du fichier ItemFamily.cc.
Référencé par Arcane::mesh::PolyhedralFamily::addDoFs(), et removeNeedRemoveMarkedItems().
|
overridevirtual |
Evènement pour l'ajout et la suppression d'entité
Implémente Arcane::IItemFamily.
Définition à la ligne 2477 du fichier ItemFamily.cc.
Références itemListChangedEvent().
Référencé par itemListChangedEvent().
|
overridevirtual |
Tableau interne des entités.
Implémente Arcane::IItemFamily.
Définition à la ligne 501 du fichier ItemFamily.cc.
Référencé par _compactFromParentFamily().
ItemInternalMap & Arcane::mesh::ItemFamily::itemsMap | ( | ) |
Définition à la ligne 405 du fichier ItemFamily.cc.
|
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 578 du fichier ItemFamily.cc.
|
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é.
Implémente Arcane::IItemFamily.
Définition à la ligne 2137 du fichier ItemFamily.cc.
void Arcane::mesh::ItemFamily::itemsUniqueIdToLocalId | ( | ArrayView< Int64 > | ids, |
bool | do_fatal = true ) const |
Définition à la ligne 833 du fichier ItemFamily.cc.
|
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 853 du fichier ItemFamily.cc.
|
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 842 du fichier ItemFamily.cc.
|
overridevirtual |
Informations sur la connectivité locale au sous-domaine pour à cette famille.
Implémente Arcane::IItemFamily.
Définition à la ligne 2026 du fichier ItemFamily.cc.
|
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 492 du fichier ItemFamily.cc.
Référencé par compactVariablesAndGroups().
|
overridevirtual |
Maillage associé
Implémente Arcane::IItemFamily.
Définition à la ligne 882 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().
|
inlineoverridevirtual |
Nom de la famille.
Implémente Arcane::IItemFamily.
Réimplémentée dans Arcane::mesh::ParticleFamily, et Arcane::mesh::PolyhedralFamily.
Définition à la ligne 130 du fichier ItemFamily.h.
Référencé par _readGroups(), checkUniqueIds(), createGroup(), createGroup(), createGroup(), findGroup(), findGroup(), findVariable(), Arcane::mesh::DoFFamily::name(), Arcane::mesh::ParticleFamily::name(), Arcane::mesh::PolyhedralFamily::name(), prepareForDump(), removeNeedRemoveMarkedItems(), Arcane::mesh::CellFamily::setConnectivity(), Arcane::mesh::EdgeFamily::setConnectivity(), et Arcane::mesh::NodeFamily::setConnectivity().
|
overridevirtual |
Nombre d'entités.
Implémente Arcane::IItemFamily.
Réimplémentée dans Arcane::mesh::ParticleFamily, et Arcane::mesh::PolyhedralFamily.
Définition à la ligne 483 du fichier ItemFamily.cc.
Référencé par _compactFromParentFamily(), compactVariablesAndGroups(), Arcane::mesh::DoFFamily::nbItem(), Arcane::mesh::ParticleFamily::nbItem(), et Arcane::mesh::PolyhedralFamily::nbItem().
|
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 1005 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().
|
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 1089 du fichier ItemFamily.cc.
Référencé par Arcane::mesh::NodeFamily::notifyItemsUniqueIdChanged().
|
overridevirtual |
Gestionnaire de parallélisme associé
Implémente Arcane::IItemFamily.
Définition à la ligne 891 du fichier ItemFamily.cc.
Référencé par _checkComputeSynchronizeInfos(), _notifyEndUpdateFromMesh(), et computeSynchronizeInfos().
|
overridevirtual |
IItemFamily parent.
Issue des imbrications de sous-maillages
Implémente Arcane::IItemFamily.
Définition à la ligne 519 du fichier ItemFamily.cc.
|
overridevirtual |
Donne la profondeur d'imbrication du maillage courant.
Implémente Arcane::IItemFamily.
Définition à la ligne 546 du fichier ItemFamily.cc.
|
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 739 du fichier ItemFamily.cc.
|
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.
Implémente Arcane::IItemFamily.
Définition à la ligne 748 du fichier ItemFamily.cc.
|
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.
Implémente Arcane::IItemFamily.
Définition à la ligne 789 du fichier ItemFamily.cc.
|
inlineoverridevirtual |
Interface des comportements/politiques associées à cette famille.
Implémente Arcane::IItemFamily.
Définition à la ligne 274 du fichier ItemFamily.h.
|
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 1108 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().
|
inlineoverridevirtual |
Propriétés associées à cette famille.
Implémente Arcane::IItemFamily.
Définition à la ligne 275 du fichier ItemFamily.h.
|
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 1228 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().
|
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 1902 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().
|
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 1918 du fichier ItemFamily.cc.
Références Arcane::IDataFactoryMng::createDataOperation(), Arcane::IVariable::dataFactoryMng(), Arcane::PtrT< T >::get(), et reduceFromGhostItems().
|
inline |
Définition à la ligne 290 du fichier ItemFamily.h.
|
override |
Définition à la ligne 2176 du fichier ItemFamily.cc.
|
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 2332 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().
|
overridevirtual |
Implémente Arcane::IItemFamily.
Définition à la ligne 2448 du fichier ItemFamily.cc.
|
overridevirtual |
Implémente Arcane::IItemFamily.
Définition à la ligne 2457 du fichier ItemFamily.cc.
|
inlineoverridevirtual |
Redimensionne les variables de cette famille.
Cette méthode est interne à Arcane.
Implémente Arcane::IItemFamily.
Définition à la ligne 392 du fichier ItemFamily.h.
|
overridevirtual |
Implémente Arcane::IItemFamily.
Définition à la ligne 2466 du fichier ItemFamily.cc.
|
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 2044 du fichier ItemFamily.cc.
|
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().
Implémente Arcane::IItemFamily.
Définition à la ligne 2123 du fichier ItemFamily.cc.
|
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 528 du fichier ItemFamily.cc.
Références Arcane::IItemFamily::parentFamilyDepth().
|
virtual |
Définition à la ligne 2417 du fichier ItemFamily.cc.
|
overridevirtual |
Sous-domaine associé
Implémente Arcane::IItemFamily.
Définition à la ligne 864 du fichier ItemFamily.cc.
Référencé par findVariable().
|
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 2146 du fichier ItemFamily.cc.
|
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 2155 du fichier ItemFamily.cc.
|
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 258 du fichier ItemFamily.h.
Références toParticleFamily().
Référencé par toParticleFamily().
|
overridevirtual |
Gestionnaire de trace associé
Implémente Arcane::IItemFamily.
Définition à la ligne 873 du fichier ItemFamily.cc.
Références Arcane::TraceAccessor::traceMng().
Int64ArrayView * Arcane::mesh::ItemFamily::uniqueIds | ( | ) |
Définition à la ligne 1929 du fichier ItemFamily.cc.
|
overridevirtual |
Ajoute à la collection collection la liste des variables utilisés de cette famille.
Implémente Arcane::IItemFamily.
Définition à la ligne 2103 du fichier ItemFamily.cc.
|
overridevirtual |
Vue sur toutes les entités de la famille.
Implémente Arcane::IItemFamily.
Définition à la ligne 2072 du fichier ItemFamily.cc.
Références allItems(), et Arcane::ItemGroup::view().
Référencé par Arcane::mesh::DoFFamily::addDoFs(), Arcane::mesh::PolyhedralFamily::addDoFs(), Arcane::mesh::DoFFamily::addGhostDoFs(), et Arcane::mesh::PolyhedralFamily::addGhostDoFs().
|
overridevirtual |
Vue sur les entités.
Retourne une vue sur les entités de numéro locaux local_ids.
Implémente Arcane::IItemFamily.
Définition à la ligne 2063 du fichier ItemFamily.cc.
Références itemInfoListView().
Référencé par Arcane::mesh::ParticleFamily::addParticles(), et Arcane::mesh::ParticleFamily::addParticles().
|
private |
Définition à la ligne 434 du fichier ItemFamily.h.
|
protected |
Définition à la ligne 351 du fichier ItemFamily.h.
|
private |
Définition à la ligne 341 du fichier ItemFamily.h.
|
protected |
connectivite ou ItemFamily == TargetFamily
Définition à la ligne 358 du fichier ItemFamily.h.
|
private |
Définition à la ligne 435 du fichier ItemFamily.h.
|
private |
Définition à la ligne 440 du fichier ItemFamily.h.
|
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 424 du fichier ItemFamily.h.
Référencé par prepareForDump(), et readFromDump().
|
protected |
Définition à la ligne 348 du fichier ItemFamily.h.
|
private |
Définition à la ligne 404 du fichier ItemFamily.h.
|
private |
Définition à la ligne 446 du fichier ItemFamily.h.
|
protected |
Définition à la ligne 322 du fichier ItemFamily.h.
|
protected |
Définition à la ligne 353 du fichier ItemFamily.h.
|
private |
Définition à la ligne 331 du fichier ItemFamily.h.
|
protected |
Définition à la ligne 324 du fichier ItemFamily.h.
|
private |
Définition à la ligne 403 du fichier ItemFamily.h.
|
private |
Définition à la ligne 412 du fichier ItemFamily.h.
|
private |
Accesseur pour les connectivités via Item et ItemInternal.
Définition à la ligne 438 du fichier ItemFamily.h.
Référencé par itemInternalConnectivityList().
|
protected |
Définition à la ligne 335 du fichier ItemFamily.h.
|
protected |
Définition à la ligne 337 du fichier ItemFamily.h.
|
private |
Définition à la ligne 426 du fichier ItemFamily.h.
|
protected |
Définition à la ligne 345 du fichier ItemFamily.h.
|
protected |
Définition à la ligne 349 du fichier ItemFamily.h.
|
private |
Définition à la ligne 445 du fichier ItemFamily.h.
|
private |
Définition à la ligne 398 du fichier ItemFamily.h.
|
private |
Définition à la ligne 400 du fichier ItemFamily.h.
|
private |
Définition à la ligne 397 du fichier ItemFamily.h.
|
private |
Définition à la ligne 399 du fichier ItemFamily.h.
|
private |
Définition à la ligne 396 du fichier ItemFamily.h.
|
private |
Définition à la ligne 402 du fichier ItemFamily.h.
|
protected |
Définition à la ligne 352 du fichier ItemFamily.h.
|
protected |
Définition à la ligne 323 du fichier ItemFamily.h.
|
protected |
Définition à la ligne 321 du fichier ItemFamily.h.
|
private |
Définition à la ligne 430 du fichier ItemFamily.h.
|
protected |
Définition à la ligne 336 du fichier ItemFamily.h.
|
protected |
Définition à la ligne 346 du fichier ItemFamily.h.
|
protected |
Définition à la ligne 326 du fichier ItemFamily.h.
|
protected |
Définition à la ligne 327 du fichier ItemFamily.h.
|
protected |
Définition à la ligne 367 du fichier ItemFamily.h.
|
protected |
Définition à la ligne 354 du fichier ItemFamily.h.
|
private |
Définition à la ligne 362 du fichier ItemFamily.h.
|
protected |
Définition à la ligne 356 du fichier ItemFamily.h.
|
protected |
Définition à la ligne 325 du fichier ItemFamily.h.
|
protected |
Définition à la ligne 408 du fichier ItemFamily.h.
|
private |
Définition à la ligne 363 du fichier ItemFamily.h.
|
protected |
connectivite ou ItemFamily == SourceFamily
Définition à la ligne 357 du fichier ItemFamily.h.
|
private |
Définition à la ligne 436 du fichier ItemFamily.h.
|
private |
Définition à la ligne 441 du fichier ItemFamily.h.
|
protected |
Définition à la ligne 350 du fichier ItemFamily.h.
|
protected |
Définition à la ligne 347 du fichier ItemFamily.h.