12#ifndef ARCANE_MATERIALS_INTERNAL_COMPONENTCONNECTIVITYLIST_H
13#define ARCANE_MATERIALS_INTERNAL_COMPONENTCONNECTIVITYLIST_H
17#include "arcane/utils/TraceAccessor.h"
18#include "arcane/utils/Array.h"
19#include "arcane/utils/Ref.h"
20#include "arcane/utils/DualUniqueArray.h"
22#include "arcane/core/VariableTypes.h"
23#include "arcane/core/IIncrementalItemConnectivity.h"
39class ConstituentConnectivityList
41,
public ReferenceCounterImpl
42,
public IIncrementalItemSourceConnectivity
44 ARCCORE_DEFINE_REFERENCE_COUNTED_INCLASS_METHODS();
46 class ConstituentContainer;
48 class NumberOfMaterialComputer;
52 explicit ConstituentConnectivityList(MeshMaterialMng* mm);
53 ~ConstituentConnectivityList();
57 ConstituentConnectivityList(ConstituentConnectivityList&&) =
delete;
58 ConstituentConnectivityList(
const ConstituentConnectivityList&) =
delete;
59 ConstituentConnectivityList& operator=(ConstituentConnectivityList&&) =
delete;
60 ConstituentConnectivityList& operator=(
const ConstituentConnectivityList&) =
delete;
64 void endCreate(
bool is_continue);
66 void addCellsToEnvironment(
Int16 env_id, SmallSpan<const Int32> cell_ids, RunQueue& queue);
67 void removeCellsToEnvironment(
Int16 env_id, SmallSpan<const Int32> cell_ids, RunQueue& queue);
69 void addCellsToMaterial(
Int16 mat_id, SmallSpan<const Int32> cell_ids, RunQueue& queue);
70 void removeCellsToMaterial(
Int16 mat_id, SmallSpan<const Int32> cell_ids, RunQueue& queue);
139 bool m_is_active =
false;
140 bool m_is_force_transform_all_constituants =
false;
File d'exécution pour un accélérateur.
Interface d'une famille d'entités.
Index d'un Item dans une variable.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Conteneur des données de connectivité pour un type de constituant.
ConstArrayView< Int16 > cellsNbMaterial() const
Tableaux du nombre total de matériaux par maille (indexé par localId())
void printConstituents(SmallSpan< const Int32 > cells_local_id) const
Affiche les constituants d'une liste d'entités.
void fillCellsNbMaterial(SmallSpan< const Int32 > cells_local_id, Int16 env_id, SmallSpan< Int16 > cells_nb_material, RunQueue &queue)
Remplit cells_nb_material avec le nombre de matériaux du milieu env_id.
void fillModifiedConstituents(SmallSpan< const Int32 > cells_local_id, SmallSpan< bool > is_modified_materials, SmallSpan< bool > is_modified_environments, int modified_mat_id, bool is_add, const RunQueue &queue)
Remplit les constituants concernés par une modification.
void notifySourceItemAdded(ItemLocalId item) override
Notifie la connectivité qu'une entité a été ajoutée à la famille source.
Int16 cellNbMaterial(CellLocalId cell_id, Int16 env_id)
Nombre de matériaux de la maille cell_id pour le milieu d'indice env_id.
ConstArrayView< Int16 > cellsNbEnvironment() const
Tableaux du nombre total de milieux par maille (indexé par localId())
void notifyReadFromDump() override
Notifie la connectivité qu'on a effectué une relecture à partir d'une protection.
void notifySourceFamilyLocalIdChanged(Int32ConstArrayView new_to_old_ids) override
Notifie la connectivité que la famille source est compactée.
bool isActive() const
Indique si l'instance est activée.
IItemFamily * sourceFamily() const override
Famille source.
void removeAllConnectivities()
Supprime toutes les entités connectées.
Int32 fillCellsToTransform(SmallSpan< const Int32 > cells_local_id, Int16 env_id, SmallSpan< bool > cells_do_transform, bool is_add, RunQueue &queue)
Replit cells_do_transform en indiquant is la maille passe de pure à partielle.
Ref< IIncrementalItemSourceConnectivity > toSourceReference() override
Retourne une référence sur l'instance.
void reserveMemoryForNbSourceItems(Int32 n, bool pre_alloc_connectivity) override
Réserve la mémoire pour n entités sources.
void fillCellsIsPartial(SmallSpan< const Int32 > cells_local_id, Int16 env_id, SmallSpan< bool > cells_is_partial, RunQueue &queue)
Replit cells_is_partial en indiquant is la maille est partielle pour le milieu env_id.
DualUniqueArray< Int16 > m_environment_for_materials
Indice du milieu auquel appartient un matériau.
Implémentation d'un gestion des matériaux.
Vue constante d'un tableau de type T.
Active toujours les traces dans les parties Arcane concernant les matériaux.