Arcane  v3.16.2.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
MeshKind.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2025 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/* MeshKind.h (C) 2000-2025 */
9/* */
10/* Caractéristiques d'un maillage. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_MESHKIND_H
13#define ARCANE_CORE_MESHKIND_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
39
40extern "C++" ARCANE_CORE_EXPORT std::ostream&
41operator<<(std::ostream& o, eMeshStructure r);
42
43/*---------------------------------------------------------------------------*/
44/*---------------------------------------------------------------------------*/
45
58
59extern "C++" ARCANE_CORE_EXPORT std::ostream&
60operator<<(std::ostream& o, eMeshAMRKind r);
61
62/*---------------------------------------------------------------------------*/
63/*---------------------------------------------------------------------------*/
64
86
87extern "C++" ARCANE_CORE_EXPORT std::ostream&
88operator<<(std::ostream& o, eMeshCellDimensionKind r);
89
90/*---------------------------------------------------------------------------*/
91/*---------------------------------------------------------------------------*/
103class ARCANE_CORE_EXPORT MeshKind
104{
105 public:
106
107 eMeshStructure meshStructure() const { return m_structure; }
108 eMeshAMRKind meshAMRKind() const { return m_amr_kind; }
109 eMeshCellDimensionKind meshDimensionKind() const { return m_dimension_kind; }
110 bool isNonManifold() const { return m_dimension_kind == eMeshCellDimensionKind::NonManifold; }
111 bool isMonoDimension() const { return m_dimension_kind == eMeshCellDimensionKind::MonoDimension; }
112 void setMeshStructure(eMeshStructure v) { m_structure = v; }
113 void setMeshAMRKind(eMeshAMRKind v) { m_amr_kind = v; }
114 void setMeshDimensionKind(eMeshCellDimensionKind v) { m_dimension_kind = v; }
115
116 private:
117
119 eMeshAMRKind m_amr_kind = eMeshAMRKind::None;
121};
122
123/*---------------------------------------------------------------------------*/
124/*---------------------------------------------------------------------------*/
125
126} // namespace Arcane
127
128/*---------------------------------------------------------------------------*/
129/*---------------------------------------------------------------------------*/
130
131#endif
Déclarations des types généraux de Arcane.
Maille d'un maillage.
Definition Item.h:1199
Caractéristiques d'un maillage.
Definition MeshKind.h:104
std::ostream & operator<<(std::ostream &o, eExecutionPolicy exec_policy)
Affiche le nom de la politique d'exécution.
@ None
Aucune politique d'exécution.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
eMeshCellDimensionKind
Types de gestion de la dimension du maillage.
Definition MeshKind.h:72
@ MultiDimension
Les mailles ont la même dimension que le maillage ou une dimension inférieure.
Definition MeshKind.h:76
@ NonManifold
Maillage non manifold.
Definition MeshKind.h:84
@ MonoDimension
Les mailles ont la même dimension que le maillage.
Definition MeshKind.h:74
eMeshStructure
Structure du maillage.
Definition MeshKind.h:29
@ Unknown
Structure inconnu ou pas initialisée.
Definition MeshKind.h:31
@ Cartesian
Maillage cartésien.
Definition MeshKind.h:35
@ Unstructured
Maillage non structuré
Definition MeshKind.h:33
@ Polyhedral
Maillage polyedrique.
Definition MeshKind.h:37
eMeshAMRKind
Type de maillage AMR.
Definition MeshKind.h:48
@ Patch
Le maillage est AMR par patch.
Definition MeshKind.h:54
@ None
Le maillage n'est pas AMR.
Definition MeshKind.h:50
@ PatchCartesianMeshOnly
Le maillage est AMR par patch cartésien (rectangulaire)
Definition MeshKind.h:56