Arcane  4.1.12.0
User documentation
Loading...
Searching...
No Matches
MeshBlockBuildInfo.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/* MeshBlockBuildInfo.h (C) 2000-2013 */
9/* */
10/* Information for the creation of a block. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_MATERIALS_MESHBLOCKBUILDINFO_H
13#define ARCANE_MATERIALS_MESHBLOCKBUILDINFO_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/utils/String.h"
18#include "arcane/utils/Array.h"
19#include "arcane/core/ItemGroup.h"
21
22/*---------------------------------------------------------------------------*/
23/*---------------------------------------------------------------------------*/
24
25namespace Arcane::Materials
26{
27
28/*---------------------------------------------------------------------------*/
29/*---------------------------------------------------------------------------*/
30
33
34/*---------------------------------------------------------------------------*/
35/*---------------------------------------------------------------------------*/
36
37/*!
38 * \ingroup ArcaneMaterials
39 * \brief Brief: Information for the creation of a block.
40 *
41 * This instance contains the necessary information for the creation of a block.
42 *
43 * For more information, refer to IMeshBlock.
44 *
45
46 * Once the specified creation information is provided, the block must be created
47 * via IMeshMaterialMng::createBlock().
48 */
50{
51 public:
52
53 //! Creates the information for a block named \a name on the cells \a cells.
56
57 public:
58
59 //! Block name
60 const String& name() const { return m_name; }
61
62 //! List of block entities
63 const CellGroup& cells() const { return m_cells; }
64
65 /*!
66 * \brief Brief: Adds the environment \a env to the block
67 *
68 * The environment must already have been created via
69 * IMeshMaterialMng::createEnvironment().
70 */
71 void addEnvironment(IMeshEnvironment* env);
72
73 public:
74
75 //! List of environments in the block.
77 {
78 return m_environments;
79 }
80
81 private:
82
83 String m_name;
84 CellGroup m_cells;
85 UniqueArray<IMeshEnvironment*> m_environments;
86};
87
88/*---------------------------------------------------------------------------*/
89/*---------------------------------------------------------------------------*/
90
91} // namespace Arcane::Materials
92
93/*---------------------------------------------------------------------------*/
94/*---------------------------------------------------------------------------*/
95
96#endif
Constant view of an array of type T.
Interface for the material and environment manager of a mesh.
const CellGroup & cells() const
List of block entities.
MeshBlockBuildInfo(const String &name, const CellGroup &cells)
Creates the information for a block named name on the cells cells.
const String & name() const
Block name.
ConstArrayView< IMeshEnvironment * > environments() const
List of environments in the block.
1D data vector with value semantics (STL style).
ItemGroupT< Cell > CellGroup
Group of cells.
Definition ItemTypes.h:184
Always enables tracing in Arcane parts concerning materials.
class ARCANE_MATERIALS_EXPORT(64) SimdMatVarIndex
SIMD indexer on a component.