Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
MeshBuildInfo.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/* MeshBuildInfo.h (C) 2000-2023 */
9/* */
10/* Information for building a mesh. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_MESHBUILDINFO_H
13#define ARCANE_MESHBUILDINFO_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/utils/String.h"
18
19#include "arcane/core/IParallelMng.h"
20#include "arcane/core/ItemGroup.h"
21#include "arcane/core/MeshKind.h"
22
23/*---------------------------------------------------------------------------*/
24/*---------------------------------------------------------------------------*/
25
26namespace Arcane
27{
28
29/*---------------------------------------------------------------------------*/
30/*---------------------------------------------------------------------------*/
31
48class ARCANE_CORE_EXPORT MeshBuildInfo
49{
50 public:
51
55 explicit MeshBuildInfo(const String& name);
56
57 public:
58
60 MeshBuildInfo& addFactoryName(const String& factory_name);
64 MeshBuildInfo& addParentGroup(const ItemGroup& parent_group);
71
74
76 const String& name() const { return m_name; }
78 const String& factoryName() const { return m_factory_name; }
80 Ref<IParallelMng> parallelMngRef() const { return m_parallel_mng; }
82 const ItemGroup& parentGroup() const { return m_parent_group; }
84 bool isNeedPartitioning() const { return m_is_need_partitioning; }
86 const MeshKind meshKind() const { return m_mesh_kind; }
87
88 private:
89
90 String m_name;
91 String m_factory_name;
92 Ref<IParallelMng> m_parallel_mng;
93 ItemGroup m_parent_group;
94 bool m_is_need_partitioning = false;
95 MeshKind m_mesh_kind;
96};
97
98/*---------------------------------------------------------------------------*/
99/*---------------------------------------------------------------------------*/
100
101} // End namespace Arcane
102
103/*---------------------------------------------------------------------------*/
104/*---------------------------------------------------------------------------*/
105
106#endif
Mesh entity group.
Definition ItemGroup.h:51
const String & name() const
Name of the new mesh.
const ItemGroup & parentGroup() const
Parent group in the case of a sub-mesh, null otherwise.
const MeshKind meshKind() const
Mesh characteristics.
MeshBuildInfo & addNeedPartitioning(bool v)
Indicates whether the generator needs to call a partitioner.
MeshBuildInfo & addParallelMng(Ref< IParallelMng > pm)
Sets the parallelism manager to create the mesh.
MeshBuildInfo & addParentGroup(const ItemGroup &parent_group)
Sets the cell group for a sub-mesh.
bool isNeedPartitioning() const
Indicates if the reader/generator requires partitioning.
MeshBuildInfo(const String &name)
Constructs a default mesh with the name name.
Ref< IParallelMng > parallelMngRef() const
Parallelism manager in the case of a new mesh.
const String & factoryName() const
Factory name to create the mesh (via IMeshFactory).
MeshBuildInfo & addMeshKind(const MeshKind &v)
Sets the mesh characteristics.
MeshBuildInfo & addFactoryName(const String &factory_name)
Sets the factory name to create this mesh.
Characteristics of a mesh.
Definition MeshKind.h:113
Reference to an instance.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --