12#ifndef ARCANE_MATERIALS_INTERNAL_INCREMENTALCOMPONENTMODIFIER_H
13#define ARCANE_MATERIALS_INTERNAL_INCREMENTALCOMPONENTMODIFIER_H
17#include "arcane/utils/TraceAccessor.h"
20#include "arcane/materials/internal/MeshMaterialVariableIndexer.h"
21#include "arcane/materials/internal/ConstituentModifierWorkInfo.h"
23#include "arcane/accelerator/core/RunQueue.h"
43 friend class MeshMaterialModifierImpl;
51 void initialize(
bool is_debug);
54 void setDoCopyBetweenPartialAndPure(
bool v) { m_do_copy_between_partial_and_pure = v; }
55 void setDoInitNewItems(
bool v) { m_do_init_new_items = v; }
63 bool m_do_copy_between_partial_and_pure =
true;
64 bool m_do_init_new_items =
true;
65 bool m_is_debug =
false;
File d'exécution pour un accélérateur.
Groupe d'entités de maillage.
Informations sur les valeurs des milieux.
Classe d'aide à la construction d'une liste de ComponentItem pour un MeshMaterialVariableIndexer.
Structure de travail utilisée lors de la modification des constituants (via MeshMaterialModifier).
Arguments des méthodes de copie entre valeurs partielles et globales.
Interface d'un milieu d'un maillage.
void _switchCellsForMaterials(const MeshMaterial *modified_mat, SmallSpan< const Int32 > ids)
Transforme les entités pour un milieu.
Int32 _computeCellsToTransformForEnvironments(SmallSpan< const Int32 > ids)
Calcule les mailles à transformer lorsqu'on modifie les mailles d'un milieu.
void _switchCellsForEnvironments(const IMeshEnvironment *modified_env, SmallSpan< const Int32 > ids)
Transforme les entités pour les milieux.
void _applyCopyVariableViews(RunQueue &queue)
Effectue la copie des vues pour les variables.
bool m_force_multiple_command_for_resize
Vrai si on force à utiliser une seule commande pour le redimensionnement.
void _addItemsToEnvironment(MeshEnvironment *env, MeshMaterial *mat, SmallSpan< const Int32 > local_ids, bool update_env_indexer)
Ajoute les mailles d'un matériau du milieu.
void _applyCopyBetweenPartialsAndGlobals(const CopyBetweenPartialAndGlobalArgs &args, RunQueue &queue)
Effectue la copie entre les valeurs partielles et globales.
void _resizeVariablesIndexer(Int32 var_index)
Redimensionne l'index var_index des variables.
void _copyBetweenPartialsAndGlobals(const CopyBetweenPartialAndGlobalArgs &args)
Copie entre les valeurs partielles et les valeurs globales.
Int32 m_use_generic_copy_between_pure_and_partial
1 ou 2 si on utilise une version générique pour les copies entre pure et partiel
Int32 _computeCellsToTransformForMaterial(const MeshMaterial *mat, SmallSpan< const Int32 > ids)
Calcule les mailles à transformer pour le matériau \at mat.
void _removeItemsFromEnvironment(MeshEnvironment *env, MeshMaterial *mat, SmallSpan< const Int32 > local_ids, bool update_env_indexer)
Supprime les mailles d'un matériau du milieu.
Arguments des méthodes de copie entre valeurs partielles et globales.
Opération d'ajout ou suppression de mailles d'un matériau.
Implémentation d'un gestion des matériaux.
Indexer pour les variables materiaux.
Vue d'un tableau d'éléments de type T.
TraceAccessor(ITraceMng *m)
Construit un accesseur via le gestionnaire de trace m.
Active toujours les traces dans les parties Arcane concernant les matériaux.
MATERIALS_BEGIN_NAMESPACE class ARCANE_MATERIALS_EXPORT(64) SimdMatVarIndex
Indexeur SIMD sur un composant.
std::int32_t Int32
Type entier signé sur 32 bits.