Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
LegacyMeshMaterialSynchronizerImpl.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2026 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/* Synchronization of the list of materials/media of entities. */
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
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/*---------------------------------------------------------------------------*/
36
49class LegacyMeshMaterialSynchronizerImpl
50: public TraceAccessor
51, public IMeshMaterialSynchronizerImpl
52{
53 public:
54
55 explicit LegacyMeshMaterialSynchronizerImpl(IMeshMaterialMng* material_mng);
56 ~LegacyMeshMaterialSynchronizerImpl();
57
58 public:
59
69 void checkMaterialsInCells(Integer max_print);
70
71 private:
72
73 IMeshMaterialMng* m_material_mng;
74
75 inline static void _setBit(ByteArrayView bytes, Integer position);
76 inline static bool _hasBit(ByteConstArrayView bytes, Integer position);
77 void _fillPresence(AllEnvCell all_env_cell, ByteArrayView presence);
78};
79
80/*---------------------------------------------------------------------------*/
81/*---------------------------------------------------------------------------*/
82
83} // End namespace Arcane::Materials
84
85/*---------------------------------------------------------------------------*/
86/*---------------------------------------------------------------------------*/
87
88#endif
Arcane cell with material and environment information.
Interface for the material and environment manager of a mesh.
bool synchronizeMaterialsInCells()
Synchronization of the list of materials/media of entities.
TraceAccessor(ITraceMng *m)
Constructs an accessor via the trace manager m.
Always enables tracing in Arcane parts concerning materials.
ArrayView< Byte > ByteArrayView
C equivalent of a 1D array of characters.
Definition UtilsTypes.h:447
Int32 Integer
Type representing an integer.
ConstArrayView< Byte > ByteConstArrayView
C equivalent of a 1D array of characters.
Definition UtilsTypes.h:476