Arcane  v3.16.4.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::ItemGroupInternal

Implémentation de la classe ItemGroupImpl. Plus de détails...

#include <arcane/core/internal/ItemGroupInternal.h>

+ Graphe de collaboration de Arcane::ItemGroupInternal:

Classes

class  CheckNeedUpdateMutex
 Mutex pour protéger les appels à ItemGroupImpl::_checkNeedUpdate(). Plus de détails...
 

Fonctions membres publiques

 ItemGroupInternal (IItemFamily *family, const String &name)
 
 ItemGroupInternal (IItemFamily *family, ItemGroupImpl *parent, const String &name)
 
const Stringname () const
 
const StringfullName () const
 
bool null () const
 
IMeshmesh () const
 
eItemKind kind () const
 
Integer maxLocalId () const
 
ItemInternalList items () const
 
ItemInfoListView itemInfoListView () const
 
Int32ArrayView itemsLocalId ()
 
Int32ConstArrayView itemsLocalId () const
 
Int32ArraymutableItemsLocalId ()
 
VariableArrayInt32variableItemsLocalid ()
 
Int64 timestamp () const
 
bool isContiguous () const
 
void checkIsContiguous ()
 Vérifie que les localIds() sont contigüs.
 
void updateTimestamp ()
 
void setNeedRecompute ()
 
void applySimdPadding ()
 Applique le padding pour la vectorisation.
 
void checkUpdateSimdPadding ()
 Remplit les derniers éléments du groupe pour avoir un vecteur SIMD complet.
 
bool isAllItems () const
 
bool isOwn () const
 
Int32 nbItem () const
 
void checkValid ()
 
void _removeItems (SmallSpan< const Int32 > items_local_id)
 
void notifyExtendObservers (const Int32ConstArrayView *info)
 
void notifyReduceObservers (const Int32ConstArrayView *info)
 
void notifyCompactObservers (const Int32ConstArrayView *info)
 
void notifyInvalidateObservers ()
 
void resetSubGroups ()
 
bool isUseV2ForApplyOperation () const
 

Attributs publics

ItemGroupImplInternal m_internal_api
 
IMeshm_mesh = nullptr
 Gestionnaire de groupe associé
 
IItemFamilym_item_family = nullptr
 Famille associée.
 
ItemGroupImplm_parent = nullptr
 
String m_variable_name
 Groupe parent (groupe null si aucun)
 
String m_full_name
 Nom complet du groupe.
 
bool m_is_null = true
 true si le groupe est nul
 
eItemKind m_kind = IK_Unknown
 Genre des entités du groupe.
 
String m_name
 Nom du groupe.
 
bool m_is_own = false
 true si groupe contient uniquement les entités dont on est propriétaire.
 
Int64 m_simd_timestamp = -1
 Temps de la derniere modification pour le calcul des infos SIMD.
 
ItemGroupImplm_own_group = nullptr
 Items owned by the subdomain.
 
ItemGroupImplm_ghost_group = nullptr
 Items not owned by the subdomain.
 
ItemGroupImplm_interface_group = nullptr
 Items on the boundary of two subdomains.
 
ItemGroupImplm_node_group = nullptr
 Groupe des noeuds.
 
ItemGroupImplm_edge_group = nullptr
 Groupe des arêtes.
 
ItemGroupImplm_face_group = nullptr
 Groupe des faces.
 
ItemGroupImplm_cell_group = nullptr
 Groupe des mailles.
 
ItemGroupImplm_inner_face_group = nullptr
 Groupe des faces internes.
 
ItemGroupImplm_outer_face_group = nullptr
 
ItemGroupImplm_active_cell_group = nullptr
 AMR.
 
ItemGroupImplm_own_active_cell_group = nullptr
 Groupe des mailles propres actives.
 
ItemGroupImplm_active_face_group = nullptr
 Groupe des faces actives.
 
ItemGroupImplm_own_active_face_group = nullptr
 Groupe des faces actives propres.
 
ItemGroupImplm_inner_active_face_group = nullptr
 Groupe des faces internes actives.
 
ItemGroupImplm_outer_active_face_group = nullptr
 Groupe des faces externes actives.
 
std::map< Integer, ItemGroupImpl * > m_level_cell_group
 Groupe des mailles de niveau.
 
std::map< Integer, ItemGroupImpl * > m_own_level_cell_group
 Groupe des mailles propres de niveau.
 
UniqueArray< ItemGroupImpl * > m_children_by_type
 Liste des fils de ce groupe par type d'entité
 
std::map< String, AutoRefT< ItemGroupImpl > > m_sub_groups
 Ensemble de tous les sous-groupes.
 
bool m_need_recompute = false
 Vrai si le groupe doit être recalculé
 
bool m_need_invalidate_on_recompute = false
 Vrai si l'on doit activer les invalidate observers en cas de recalcul.
 
bool m_transaction_mode = false
 Vrai si le groupe est en mode de transaction directe.
 
bool m_is_local_to_sub_domain = false
 Vrai si le groupe est local au sous-domaine.
 
IFunctorm_compute_functor = nullptr
 Fonction de calcul du groupe.
 
bool m_is_all_items = false
 Indique s'il s'agit du groupe de toutes les entités.
 
bool m_is_constituent_group = false
 Indique si le groupe est associé à un constituant (IMeshComponent)
 
SharedPtrT< GroupIndexTablem_group_index_table
 Table de hachage du local id des items vers leur position en enumeration.
 
Ref< IVariableSynchronizerm_synchronizer
 Synchronizer du groupe.
 
Int32UniqueArray m_items_index_in_all_group
 
std::map< const void *, IItemGroupObserver * > m_observers
 localids -> index (UNIQUEMENT ALLITEMS)
 
bool m_observer_need_info = false
 Synthése de besoin de observers en informations de transition.
 
UniqueArray< UniqueArray< Int32 > > m_children_by_type_ids
 Liste des localId() par type d'entité.
 
ItemTypeId m_unique_children_type { IT_NullType }
 Indique le type des entités du groupe.
 
Int64 m_children_by_type_ids_computed_timestamp = -1
 Timestamp indiquant quand a été calculé la liste des ids des enfants.
 
bool m_is_debug_apply_operation = false
 
CheckNeedUpdateMutex m_check_need_update_mutex
 Mutex pour protéger la mise à jour.
 

Fonctions membres privées

void _notifyDirectRemoveItems (SmallSpan< const Int32 > removed_ids, Int32 nb_remaining)
 
void _init ()
 

Attributs privés

Int64 m_timestamp = -1
 Temps de la derniere modification.
 
UniqueArray< Int32m_local_buffer { MemoryUtils::getAllocatorForMostlyReadOnlyData() }
 
Array< Int32 > * m_items_local_id = &m_local_buffer
 Liste des numéros locaux des entités de ce groupe.
 
VariableArrayInt32m_variable_items_local_id = nullptr
 
bool m_is_contiguous = false
 
bool m_is_check_simd_padding = true
 Vrai si les localIds sont consécutifs.
 
bool m_is_print_check_simd_padding = false
 
bool m_is_print_apply_simd_padding = false
 
bool m_is_print_stack_apply_simd_padding = false
 
bool m_use_v2_for_apply_operation = true
 Gestion pour applyOperation() Version 2.
 

Amis

class ItemGroupImplInternal
 

Description détaillée

Implémentation de la classe ItemGroupImpl.

Le container contenant la liste des entités du groupe est soit une variable dans le cas d'une group standard, soit un tableau simple dans le cas d'un groupe ayant un parent. En effet, les groupes ayant des parents sont des groupes générés dynamiquement (par exemple le groupe des entités propres) et ne sont donc pas toujours présents sur tous les sous-domaines (une variable doit toujours exister sur tous les sous-domaines). De plus, leur valeur n'a pas besoin d'être sauvée lors d'une protection.

A faire
ajouter notion de groupe généré, avec les propriétés suivantes:
  • ces groupes ne doivent pas être transférés d'un sous-domaine à l'autre
  • ils ne peuvent pas être modifiés directement.

Définition à la ligne 52 du fichier ItemGroupInternal.h.

Documentation des constructeurs et destructeur

◆ ItemGroupInternal() [1/3]

Arcane::ItemGroupInternal::ItemGroupInternal ( )

Définition à la ligne 40 du fichier ItemGroupInternal.cc.

◆ ItemGroupInternal() [2/3]

Arcane::ItemGroupInternal::ItemGroupInternal ( IItemFamily * family,
const String & name )

Définition à la ligne 50 du fichier ItemGroupInternal.cc.

◆ ItemGroupInternal() [3/3]

Arcane::ItemGroupInternal::ItemGroupInternal ( IItemFamily * family,
ItemGroupImpl * parent,
const String & name )

Définition à la ligne 66 du fichier ItemGroupInternal.cc.

◆ ~ItemGroupInternal()

Arcane::ItemGroupInternal::~ItemGroupInternal ( )

Définition à la ligne 83 du fichier ItemGroupInternal.cc.

Documentation des fonctions membres

◆ _init()

void Arcane::ItemGroupInternal::_init ( )
private

Définition à la ligne 98 du fichier ItemGroupInternal.cc.

◆ _notifyDirectRemoveItems()

void Arcane::ItemGroupInternal::_notifyDirectRemoveItems ( SmallSpan< const Int32 > removed_ids,
Int32 nb_remaining )
private

Définition à la ligne 527 du fichier ItemGroupInternal.cc.

◆ _removeItems()

void Arcane::ItemGroupInternal::_removeItems ( SmallSpan< const Int32 > items_local_id)

Définition à la ligne 362 du fichier ItemGroupInternal.cc.

◆ applySimdPadding()

void Arcane::ItemGroupInternal::applySimdPadding ( )

Applique le padding pour la vectorisation.

Définition à la ligne 294 du fichier ItemGroupInternal.cc.

Références Arcane::platform::getStackTrace(), Arcane::ITraceMng::info(), m_item_family, et m_name.

Référencé par checkUpdateSimdPadding().

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

◆ checkIsContiguous()

void Arcane::ItemGroupInternal::checkIsContiguous ( )

Vérifie que les localIds() sont contigüs.

Définition à la ligne 269 du fichier ItemGroupInternal.cc.

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

+ Voici le graphe d'appel pour cette fonction :

◆ checkUpdateSimdPadding()

void Arcane::ItemGroupInternal::checkUpdateSimdPadding ( )

Remplit les derniers éléments du groupe pour avoir un vecteur SIMD complet.

Pour que la vectorisation fonctionne il faut que le nombre d'éléments du groupe soit un multiple de la taille d'un vecteur SIMD. Si ce n'est pas le cas, on remplit les dernières valeurs du tableau des localId() avec le dernier élément.

Par exemple, on supporse une taille d'un vecteur SIMD de 8 (ce qui est le maximum actuellement avec l'AVX512) et un groupe grp de 13 éléments. Il faut donc remplit le groupe comme suit:

Int32 last_local_id = grp[12];
grp[13] = grp[14] = grp[15] = last_local_id.
std::int32_t Int32
Type entier signé sur 32 bits.

A noter que la taille du groupe reste effectivement de 13 éléments. Le padding supplémentaire n'est que pour les itérations via ENUMERATE_SIMD. Comme le tableau des localId() est alloué avec l'allocateur d'alignement il est garanti que la mémoire allouée est suffisante pour faire le padding.

A faire
Ne pas faire cela dans tous les checkNeedUpdate() mais mettre en place une méthode qui retourne un énumérateur spécifique pour la vectorisation.

Définition à la ligne 338 du fichier ItemGroupInternal.cc.

Références applySimdPadding(), Arcane::ITraceMng::info(), m_is_check_simd_padding, m_item_family, et m_simd_timestamp.

+ Voici le graphe d'appel pour cette fonction :

◆ checkValid()

void Arcane::ItemGroupInternal::checkValid ( )

Définition à la ligne 451 du fichier ItemGroupInternal.cc.

◆ fullName()

const String & Arcane::ItemGroupInternal::fullName ( ) const
inline

Définition à la ligne 126 du fichier ItemGroupInternal.h.

◆ isAllItems()

bool Arcane::ItemGroupInternal::isAllItems ( ) const
inline

Définition à la ligne 164 du fichier ItemGroupInternal.h.

◆ isContiguous()

bool Arcane::ItemGroupInternal::isContiguous ( ) const
inline

Définition à la ligne 140 du fichier ItemGroupInternal.h.

◆ isOwn()

bool Arcane::ItemGroupInternal::isOwn ( ) const
inline

Définition à la ligne 165 du fichier ItemGroupInternal.h.

◆ isUseV2ForApplyOperation()

bool Arcane::ItemGroupInternal::isUseV2ForApplyOperation ( ) const
inline

Définition à la ligne 246 du fichier ItemGroupInternal.h.

◆ itemInfoListView()

ItemInfoListView Arcane::ItemGroupInternal::itemInfoListView ( ) const

Définition à la ligne 161 du fichier ItemGroupInternal.cc.

◆ items()

ItemInternalList Arcane::ItemGroupInternal::items ( ) const

Définition à la ligne 141 du fichier ItemGroupInternal.cc.

◆ itemsLocalId() [1/2]

Int32ArrayView Arcane::ItemGroupInternal::itemsLocalId ( )
inline

Définition à la ligne 134 du fichier ItemGroupInternal.h.

◆ itemsLocalId() [2/2]

Int32ConstArrayView Arcane::ItemGroupInternal::itemsLocalId ( ) const
inline

Définition à la ligne 135 du fichier ItemGroupInternal.h.

◆ kind()

eItemKind Arcane::ItemGroupInternal::kind ( ) const
inline

Définition à la ligne 129 du fichier ItemGroupInternal.h.

◆ maxLocalId()

Int32 Arcane::ItemGroupInternal::maxLocalId ( ) const

Définition à la ligne 152 du fichier ItemGroupInternal.cc.

◆ mesh()

IMesh * Arcane::ItemGroupInternal::mesh ( ) const
inline

Définition à la ligne 128 du fichier ItemGroupInternal.h.

◆ mutableItemsLocalId()

Int32Array & Arcane::ItemGroupInternal::mutableItemsLocalId ( )
inline

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

◆ name()

const String & Arcane::ItemGroupInternal::name ( ) const
inline

Définition à la ligne 125 du fichier ItemGroupInternal.h.

◆ nbItem()

Int32 Arcane::ItemGroupInternal::nbItem ( ) const
inline

Définition à la ligne 166 du fichier ItemGroupInternal.h.

◆ notifyCompactObservers()

void Arcane::ItemGroupInternal::notifyCompactObservers ( const Int32ConstArrayView * info)

Définition à la ligne 233 du fichier ItemGroupInternal.cc.

◆ notifyExtendObservers()

void Arcane::ItemGroupInternal::notifyExtendObservers ( const Int32ConstArrayView * info)

Définition à la ligne 203 du fichier ItemGroupInternal.cc.

◆ notifyInvalidateObservers()

void Arcane::ItemGroupInternal::notifyInvalidateObservers ( )

Définition à la ligne 248 du fichier ItemGroupInternal.cc.

◆ notifyReduceObservers()

void Arcane::ItemGroupInternal::notifyReduceObservers ( const Int32ConstArrayView * info)

Définition à la ligne 218 du fichier ItemGroupInternal.cc.

◆ null()

bool Arcane::ItemGroupInternal::null ( ) const
inline

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

◆ resetSubGroups()

void Arcane::ItemGroupInternal::resetSubGroups ( )

Définition à la ligne 172 du fichier ItemGroupInternal.cc.

◆ setNeedRecompute()

void Arcane::ItemGroupInternal::setNeedRecompute ( )
inline

Définition à la ligne 149 du fichier ItemGroupInternal.h.

◆ timestamp()

Int64 Arcane::ItemGroupInternal::timestamp ( ) const
inline

Définition à la ligne 139 du fichier ItemGroupInternal.h.

◆ updateTimestamp()

void Arcane::ItemGroupInternal::updateTimestamp ( )
inline

Définition à la ligne 143 du fichier ItemGroupInternal.h.

◆ variableItemsLocalid()

VariableArrayInt32 * Arcane::ItemGroupInternal::variableItemsLocalid ( )
inline

Définition à la ligne 137 du fichier ItemGroupInternal.h.

Documentation des fonctions amies et associées

◆ ItemGroupImplInternal

friend class ItemGroupImplInternal
friend

Définition à la ligne 54 du fichier ItemGroupInternal.h.

Documentation des données membres

◆ m_active_cell_group

ItemGroupImpl* Arcane::ItemGroupInternal::m_active_cell_group = nullptr

AMR.

Groupe des mailles actives

Définition à la ligne 210 du fichier ItemGroupInternal.h.

◆ m_active_face_group

ItemGroupImpl* Arcane::ItemGroupInternal::m_active_face_group = nullptr

Groupe des faces actives.

Définition à la ligne 212 du fichier ItemGroupInternal.h.

◆ m_cell_group

ItemGroupImpl* Arcane::ItemGroupInternal::m_cell_group = nullptr

Groupe des mailles.

Définition à la ligne 204 du fichier ItemGroupInternal.h.

◆ m_check_need_update_mutex

CheckNeedUpdateMutex Arcane::ItemGroupInternal::m_check_need_update_mutex

Mutex pour protéger la mise à jour.

Définition à la ligne 291 du fichier ItemGroupInternal.h.

◆ m_children_by_type

UniqueArray<ItemGroupImpl*> Arcane::ItemGroupInternal::m_children_by_type

Liste des fils de ce groupe par type d'entité

Définition à la ligne 219 du fichier ItemGroupInternal.h.

◆ m_children_by_type_ids

UniqueArray<UniqueArray<Int32> > Arcane::ItemGroupInternal::m_children_by_type_ids

Liste des localId() par type d'entité.

Définition à la ligne 271 du fichier ItemGroupInternal.h.

◆ m_children_by_type_ids_computed_timestamp

Int64 Arcane::ItemGroupInternal::m_children_by_type_ids_computed_timestamp = -1

Timestamp indiquant quand a été calculé la liste des ids des enfants.

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

◆ m_compute_functor

IFunctor* Arcane::ItemGroupInternal::m_compute_functor = nullptr

Fonction de calcul du groupe.

Définition à la ligne 226 du fichier ItemGroupInternal.h.

◆ m_edge_group

ItemGroupImpl* Arcane::ItemGroupInternal::m_edge_group = nullptr

Groupe des arêtes.

Définition à la ligne 202 du fichier ItemGroupInternal.h.

◆ m_face_group

ItemGroupImpl* Arcane::ItemGroupInternal::m_face_group = nullptr

Groupe des faces.

Définition à la ligne 203 du fichier ItemGroupInternal.h.

◆ m_full_name

String Arcane::ItemGroupInternal::m_full_name

Nom complet du groupe.

Définition à la ligne 184 du fichier ItemGroupInternal.h.

◆ m_ghost_group

ItemGroupImpl* Arcane::ItemGroupInternal::m_ghost_group = nullptr

Items not owned by the subdomain.

Définition à la ligne 199 du fichier ItemGroupInternal.h.

◆ m_group_index_table

SharedPtrT<GroupIndexTable> Arcane::ItemGroupInternal::m_group_index_table

Table de hachage du local id des items vers leur position en enumeration.

Définition à la ligne 229 du fichier ItemGroupInternal.h.

◆ m_inner_active_face_group

ItemGroupImpl* Arcane::ItemGroupInternal::m_inner_active_face_group = nullptr

Groupe des faces internes actives.

Définition à la ligne 214 du fichier ItemGroupInternal.h.

◆ m_inner_face_group

ItemGroupImpl* Arcane::ItemGroupInternal::m_inner_face_group = nullptr

Groupe des faces internes.

Définition à la ligne 205 du fichier ItemGroupInternal.h.

◆ m_interface_group

ItemGroupImpl* Arcane::ItemGroupInternal::m_interface_group = nullptr

Items on the boundary of two subdomains.

Définition à la ligne 200 du fichier ItemGroupInternal.h.

◆ m_internal_api

ItemGroupImplInternal Arcane::ItemGroupInternal::m_internal_api

Définition à la ligne 179 du fichier ItemGroupInternal.h.

◆ m_is_all_items

bool Arcane::ItemGroupInternal::m_is_all_items = false

Indique s'il s'agit du groupe de toutes les entités.

Définition à la ligne 227 du fichier ItemGroupInternal.h.

◆ m_is_check_simd_padding

bool Arcane::ItemGroupInternal::m_is_check_simd_padding = true
private

Vrai si les localIds sont consécutifs.

Définition à la ligne 254 du fichier ItemGroupInternal.h.

Référencé par checkUpdateSimdPadding().

◆ m_is_constituent_group

bool Arcane::ItemGroupInternal::m_is_constituent_group = false

Indique si le groupe est associé à un constituant (IMeshComponent)

Définition à la ligne 228 du fichier ItemGroupInternal.h.

◆ m_is_contiguous

bool Arcane::ItemGroupInternal::m_is_contiguous = false
private

Définition à la ligne 253 du fichier ItemGroupInternal.h.

◆ m_is_debug_apply_operation

bool Arcane::ItemGroupInternal::m_is_debug_apply_operation = false

Définition à la ligne 287 du fichier ItemGroupInternal.h.

◆ m_is_local_to_sub_domain

bool Arcane::ItemGroupInternal::m_is_local_to_sub_domain = false

Vrai si le groupe est local au sous-domaine.

Définition à la ligne 225 du fichier ItemGroupInternal.h.

◆ m_is_null

bool Arcane::ItemGroupInternal::m_is_null = true

true si le groupe est nul

Définition à la ligne 185 du fichier ItemGroupInternal.h.

◆ m_is_own

bool Arcane::ItemGroupInternal::m_is_own = false

true si groupe contient uniquement les entités dont on est propriétaire.

Définition à la ligne 188 du fichier ItemGroupInternal.h.

◆ m_is_print_apply_simd_padding

bool Arcane::ItemGroupInternal::m_is_print_apply_simd_padding = false
private

Définition à la ligne 256 du fichier ItemGroupInternal.h.

◆ m_is_print_check_simd_padding

bool Arcane::ItemGroupInternal::m_is_print_check_simd_padding = false
private

Définition à la ligne 255 du fichier ItemGroupInternal.h.

◆ m_is_print_stack_apply_simd_padding

bool Arcane::ItemGroupInternal::m_is_print_stack_apply_simd_padding = false
private

Définition à la ligne 257 du fichier ItemGroupInternal.h.

◆ m_item_family

IItemFamily* Arcane::ItemGroupInternal::m_item_family = nullptr

Famille associée.

Définition à la ligne 181 du fichier ItemGroupInternal.h.

Référencé par applySimdPadding(), et checkUpdateSimdPadding().

◆ m_items_index_in_all_group

Int32UniqueArray Arcane::ItemGroupInternal::m_items_index_in_all_group

Définition à la ligne 233 du fichier ItemGroupInternal.h.

◆ m_items_local_id

Array<Int32>* Arcane::ItemGroupInternal::m_items_local_id = &m_local_buffer
private

Liste des numéros locaux des entités de ce groupe.

Définition à la ligne 251 du fichier ItemGroupInternal.h.

◆ m_kind

eItemKind Arcane::ItemGroupInternal::m_kind = IK_Unknown

Genre des entités du groupe.

Définition à la ligne 186 du fichier ItemGroupInternal.h.

◆ m_level_cell_group

std::map<Integer, ItemGroupImpl*> Arcane::ItemGroupInternal::m_level_cell_group

Groupe des mailles de niveau.

Définition à la ligne 216 du fichier ItemGroupInternal.h.

◆ m_local_buffer

UniqueArray<Int32> Arcane::ItemGroupInternal::m_local_buffer { MemoryUtils::getAllocatorForMostlyReadOnlyData() }
private

Définition à la ligne 250 du fichier ItemGroupInternal.h.

◆ m_mesh

IMesh* Arcane::ItemGroupInternal::m_mesh = nullptr

Gestionnaire de groupe associé

Définition à la ligne 180 du fichier ItemGroupInternal.h.

◆ m_name

String Arcane::ItemGroupInternal::m_name

Nom du groupe.

Définition à la ligne 187 du fichier ItemGroupInternal.h.

Référencé par applySimdPadding().

◆ m_need_invalidate_on_recompute

bool Arcane::ItemGroupInternal::m_need_invalidate_on_recompute = false

Vrai si l'on doit activer les invalidate observers en cas de recalcul.

Définition à la ligne 223 du fichier ItemGroupInternal.h.

◆ m_need_recompute

bool Arcane::ItemGroupInternal::m_need_recompute = false

Vrai si le groupe doit être recalculé

Définition à la ligne 222 du fichier ItemGroupInternal.h.

◆ m_node_group

ItemGroupImpl* Arcane::ItemGroupInternal::m_node_group = nullptr

Groupe des noeuds.

Définition à la ligne 201 du fichier ItemGroupInternal.h.

◆ m_observer_need_info

bool Arcane::ItemGroupInternal::m_observer_need_info = false

Synthése de besoin de observers en informations de transition.

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

◆ m_observers

std::map<const void*, IItemGroupObserver*> Arcane::ItemGroupInternal::m_observers

localids -> index (UNIQUEMENT ALLITEMS)

Observers du groupe

Définition à la ligne 235 du fichier ItemGroupInternal.h.

◆ m_outer_active_face_group

ItemGroupImpl* Arcane::ItemGroupInternal::m_outer_active_face_group = nullptr

Groupe des faces externes actives.

Définition à la ligne 215 du fichier ItemGroupInternal.h.

◆ m_outer_face_group

ItemGroupImpl* Arcane::ItemGroupInternal::m_outer_face_group = nullptr

Groupe des faces externes

Définition à la ligne 206 du fichier ItemGroupInternal.h.

◆ m_own_active_cell_group

ItemGroupImpl* Arcane::ItemGroupInternal::m_own_active_cell_group = nullptr

Groupe des mailles propres actives.

Définition à la ligne 211 du fichier ItemGroupInternal.h.

◆ m_own_active_face_group

ItemGroupImpl* Arcane::ItemGroupInternal::m_own_active_face_group = nullptr

Groupe des faces actives propres.

Définition à la ligne 213 du fichier ItemGroupInternal.h.

◆ m_own_group

ItemGroupImpl* Arcane::ItemGroupInternal::m_own_group = nullptr

Items owned by the subdomain.

Définition à la ligne 198 du fichier ItemGroupInternal.h.

◆ m_own_level_cell_group

std::map<Integer, ItemGroupImpl*> Arcane::ItemGroupInternal::m_own_level_cell_group

Groupe des mailles propres de niveau.

Définition à la ligne 217 du fichier ItemGroupInternal.h.

◆ m_parent

ItemGroupImpl* Arcane::ItemGroupInternal::m_parent = nullptr

Définition à la ligne 182 du fichier ItemGroupInternal.h.

◆ m_simd_timestamp

Int64 Arcane::ItemGroupInternal::m_simd_timestamp = -1

Temps de la derniere modification pour le calcul des infos SIMD.

Définition à la ligne 196 du fichier ItemGroupInternal.h.

Référencé par checkUpdateSimdPadding().

◆ m_sub_groups

std::map<String, AutoRefT<ItemGroupImpl> > Arcane::ItemGroupInternal::m_sub_groups

Ensemble de tous les sous-groupes.

Définition à la ligne 221 du fichier ItemGroupInternal.h.

◆ m_synchronizer

Ref<IVariableSynchronizer> Arcane::ItemGroupInternal::m_synchronizer

Synchronizer du groupe.

Définition à la ligne 230 du fichier ItemGroupInternal.h.

◆ m_timestamp

Int64 Arcane::ItemGroupInternal::m_timestamp = -1
private

Temps de la derniere modification.

Définition à la ligne 192 du fichier ItemGroupInternal.h.

◆ m_transaction_mode

bool Arcane::ItemGroupInternal::m_transaction_mode = false

Vrai si le groupe est en mode de transaction directe.

Définition à la ligne 224 du fichier ItemGroupInternal.h.

◆ m_unique_children_type

ItemTypeId Arcane::ItemGroupInternal::m_unique_children_type { IT_NullType }

Indique le type des entités du groupe.

Si différent de IT_NullType, cela signifie que toutes les entités du groupe sont du même type et donc on il n'est pas nécessaire de calculer le localId() des entités par type. On utilise dans ce cas directement le groupe en paramètre des applyOperation().

Définition à la ligne 282 du fichier ItemGroupInternal.h.

◆ m_use_v2_for_apply_operation

bool Arcane::ItemGroupInternal::m_use_v2_for_apply_operation = true
private

Gestion pour applyOperation() Version 2.

Définition à la ligne 266 du fichier ItemGroupInternal.h.

◆ m_variable_items_local_id

VariableArrayInt32* Arcane::ItemGroupInternal::m_variable_items_local_id = nullptr
private

Définition à la ligne 252 du fichier ItemGroupInternal.h.

◆ m_variable_name

String Arcane::ItemGroupInternal::m_variable_name

Groupe parent (groupe null si aucun)

Nom de la variable contenant les indices des éléments du groupe

Définition à la ligne 183 du fichier ItemGroupInternal.h.


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