Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
ComponentConnectivityList.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2023 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4// See the top-level COPYRIGHT file for details.
5// SPDX-License-Identifier: Apache-2.0
6//-----------------------------------------------------------------------------
7/*---------------------------------------------------------------------------*/
8/* ConstituentConnectivityList.h (C) 2000-2023 */
9/* */
10/* Gestion des listes de connectivité des constituants. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_MATERIALS_INTERNAL_CONSTITUENTCONNECTIVITYLIST_H
13#define ARCANE_MATERIALS_INTERNAL_CONSTITUENTCONNECTIVITYLIST_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/utils/TraceAccessor.h"
18#include "arcane/utils/Array.h"
19#include "arcane/utils/Ref.h"
20
21#include "arcane/core/VariableTypes.h"
22#include "arcane/core/IIncrementalItemConnectivity.h"
23
25
26/*---------------------------------------------------------------------------*/
27/*---------------------------------------------------------------------------*/
28
29namespace Arcane::Materials
30{
31
32/*---------------------------------------------------------------------------*/
33/*---------------------------------------------------------------------------*/
39: public TraceAccessor
42{
43 ARCCORE_DEFINE_REFERENCE_COUNTED_INCLASS_METHODS();
44
46 class Container;
47
48 public:
49
52
53 public:
54
59
60 public:
61
62 void endCreate(bool is_continue);
63
64 void addCellsToEnvironment(Int16 env_id, ConstArrayView<Int32> cell_ids);
65 void removeCellsToEnvironment(Int16 env_id, ConstArrayView<Int32> cell_ids);
66
67 void addCellsToMaterial(Int16 mat_id, ConstArrayView<Int32> cell_ids);
68 void removeCellsToMaterial(Int16 mat_id, ConstArrayView<Int32> cell_ids);
69
70 ConstArrayView<Int16> cellsNbEnvironment() const;
71 ConstArrayView<Int16> cellsNbMaterial() const;
72
75
76 public:
77
78 // Implémentation de IIncrementalItemSourceConnectivity
80 IItemFamily* sourceFamily() const override { return m_cell_family; }
82 void notifySourceItemAdded(ItemLocalId item) override;
83 void reserveMemoryForNbSourceItems(Int32 n, bool pre_alloc_connectivity) override;
84 void notifyReadFromDump() override;
87
88 private:
89
90 MeshMaterialMng* m_material_mng = nullptr;
91 IItemFamily* m_cell_family = nullptr;
92 Container* m_container = nullptr;
93
96
97 private:
98
99 void _addCells(Int16 env_id, ConstArrayView<Int32> cell_ids, ComponentContainer& component);
100 void _removeCells(Int16 env_id, ConstArrayView<Int32> cell_ids, ComponentContainer& component);
101};
102
103/*---------------------------------------------------------------------------*/
104/*---------------------------------------------------------------------------*/
105
106} // namespace Arcane::Materials
107
108/*---------------------------------------------------------------------------*/
109/*---------------------------------------------------------------------------*/
110
111#endif
Interface de la source d'une connectivité incrémentale.
Interface d'une famille d'entités.
Index d'un Item dans une variable.
Definition ItemLocalId.h:40
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
Gestion des listes de connectivité des constituants.
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.
void notifyReadFromDump() override
Notifie la connectivité qu'on a effectué une relecture à partir d'une protection.
UniqueArray< Int16 > m_environment_for_materials
Indice du milieu auquel appartient un matériau.
void notifySourceFamilyLocalIdChanged(Int32ConstArrayView new_to_old_ids) override
Notifie la connectivité que la famille source est compactée.
IItemFamily * sourceFamily() const override
Famille source.
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.
Implémentation d'un gestion des matériaux.
Vue constante d'un tableau de type T.
Implémentation thread-safe d'un compteur de référence.
Active toujours les traces dans les parties Arcane concernant les matériaux.