Arcane  v3.16.0.0
Documentation développeur
Tout Classes Espaces de nommage Fichiers Fonctions Variables Définitions de type Énumérations Valeurs énumérées Amis Macros Groupes Pages Concepts
LegacyMeshMaterialSynchronizerImpl.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2024 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/* LegacyMeshMaterialSynchronizerImpl.h (C) 2000-2024 */
9/* */
10/* Synchronisation de la liste des matériaux/milieux des entités. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_MATERIALS_INTERNAL_MESHMATERIALSYNCHRONIZERIMPL_H
13#define ARCANE_MATERIALS_INTERNAL_MESHMATERIALSYNCHRONIZERIMPL_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/utils/TraceAccessor.h"
18#include "arcane/utils/ArrayView.h"
19
20#include "arcane/VariableTypedef.h"
21
23#include "arcane/materials/MatItem.h"
24
25#include "arcane/materials/internal/IMeshMaterialSynchronizerImpl.h"
26
27/*---------------------------------------------------------------------------*/
28/*---------------------------------------------------------------------------*/
29
30namespace Arcane::Materials
31{
33
34/*---------------------------------------------------------------------------*/
35/*---------------------------------------------------------------------------*/
48class LegacyMeshMaterialSynchronizerImpl
49: public TraceAccessor
50, public IMeshMaterialSynchronizerImpl
51{
52 public:
53
54 explicit LegacyMeshMaterialSynchronizerImpl(IMeshMaterialMng* material_mng);
55 ~LegacyMeshMaterialSynchronizerImpl();
56
57 public:
58
68 void checkMaterialsInCells(Integer max_print);
69
70 private:
71
72 IMeshMaterialMng* m_material_mng;
73
74 inline static void _setBit(ByteArrayView bytes, Integer position);
75 inline static bool _hasBit(ByteConstArrayView bytes, Integer position);
76 void _fillPresence(AllEnvCell all_env_cell, ByteArrayView presence);
77};
78
79/*---------------------------------------------------------------------------*/
80/*---------------------------------------------------------------------------*/
81
82} // End namespace Arcane::Materials
83
84/*---------------------------------------------------------------------------*/
85/*---------------------------------------------------------------------------*/
86
87#endif
Maille arcane avec info matériaux et milieux.
Interface du gestionnaire des matériaux et des milieux d'un maillage.
bool synchronizeMaterialsInCells()
Synchronisation de la liste des matériaux/milieux des entités.
TraceAccessor(ITraceMng *m)
Construit un accesseur via le gestionnaire de trace m.
Active toujours les traces dans les parties Arcane concernant les matériaux.
ArrayView< Byte > ByteArrayView
Equivalent C d'un tableau à une dimension de caractères.
Definition UtilsTypes.h:534
Int32 Integer
Type représentant un entier.
ConstArrayView< Byte > ByteConstArrayView
Equivalent C d'un tableau à une dimension de caractères.
Definition UtilsTypes.h:563