Arcane  v4.1.2.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
CartesianPatch.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/* CartesianPatch.h (C) 2000-2025 */
9/* */
10/* Patch AMR d'un maillage cartésien. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CARTESIANMESH_CARTESIANPATCH_H
13#define ARCANE_CARTESIANMESH_CARTESIANPATCH_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19#include "arcane/cartesianmesh/ICartesianMeshPatch.h"
20
21/*---------------------------------------------------------------------------*/
22/*---------------------------------------------------------------------------*/
23
24namespace Arcane
25{
26
27/*---------------------------------------------------------------------------*/
28/*---------------------------------------------------------------------------*/
33class ARCANE_CARTESIANMESH_EXPORT CartesianPatch
34{
35 public:
36
38 CartesianPatch() = default;
39
41 explicit CartesianPatch(ICartesianMeshPatch* patch_interface)
42 : m_patch(patch_interface)
43 {
44 }
45 CartesianPatch& operator=(const CartesianPatch&) = default;
46 CartesianPatch& operator=(ICartesianMeshPatch* patch_interface)
47 {
48 m_patch = patch_interface;
49 return (*this);
50 }
51
52 public:
53
55 CellGroup cells();
56
62 CellGroup inPatchCells();
63
65 Integer index() const;
66
72 Integer level() const
73 {
74 ARCANE_CHECK_POINTER(m_patch);
75 return m_patch->position().level();
76 }
77
80 {
81 ARCANE_CHECK_POINTER(m_patch);
82 return m_patch->cellDirection(dir);
83 }
84
87 {
88 ARCANE_CHECK_POINTER(m_patch);
89 return m_patch->cellDirection(idir);
90 }
91
94 {
95 ARCANE_CHECK_POINTER(m_patch);
96 return m_patch->faceDirection(dir);
97 }
98
101 {
102 ARCANE_CHECK_POINTER(m_patch);
103 return m_patch->faceDirection(idir);
104 }
105
108 {
109 ARCANE_CHECK_POINTER(m_patch);
110 return m_patch->nodeDirection(dir);
111 }
112
115 {
116 ARCANE_CHECK_POINTER(m_patch);
117 return m_patch->nodeDirection(idir);
118 }
119
121 void checkValid() const
122 {
123 ARCANE_CHECK_POINTER(m_patch);
124 m_patch->checkValid();
125 }
126
134 {
135 ARCANE_CHECK_POINTER(m_patch);
136 return m_patch->position();
137 }
138
140 bool isNull() const { return !m_patch; }
141
143 ICartesianMeshPatch* patchInterface() const { return m_patch; }
144
145 private:
146
147 ICartesianMeshPatch* m_patch = nullptr;
148};
149
150/*---------------------------------------------------------------------------*/
151/*---------------------------------------------------------------------------*/
152
153} // End namespace Arcane
154
155/*---------------------------------------------------------------------------*/
156/*---------------------------------------------------------------------------*/
157
158#endif
159
#define ARCANE_CHECK_POINTER(ptr)
Macro retournant le pointeur ptr s'il est non nul ou lancant une exception s'il est nul.
Déclarations de types sur les entités.
Classe permettant de définir la position d'un patch dans le maillage cartésien.
Patch AMR d'un maillage cartésien.
FaceDirectionMng & faceDirection(eMeshDirection dir)
Liste des faces dans la direction dir.
NodeDirectionMng & nodeDirection(Integer idir)
Liste des noeuds dans la direction dir (0, 1 ou 2)
NodeDirectionMng & nodeDirection(eMeshDirection dir)
Liste des noeuds dans la direction dir.
AMRPatchPosition position() const
Méthode permettant de récupérer la position du patch dans le maillage cartesien.
bool isNull() const
Indique si le patch est nul.
CellDirectionMng & cellDirection(Integer idir)
Liste des mailles dans la direction dir (0, 1 ou 2)
CartesianPatch()=default
Patch nul.
FaceDirectionMng & faceDirection(Integer idir)
Liste des faces dans la direction dir (0, 1 ou 2)
ICartesianMeshPatch * patchInterface() const
Interface associée au patch (pour compatibilité avec l'existant)
CartesianPatch(ICartesianMeshPatch *patch_interface)
Patch nul.
CellDirectionMng & cellDirection(eMeshDirection dir)
Liste des mailles dans la direction dir.
void checkValid() const
Effectue des vérifications sur la validité de l'instance.
Integer level() const
Niveau du patch.
Infos sur les mailles d'une direction spécifique X,Y ou Z d'un maillage structuré.
Infos sur les face d'une direction spécifique X,Y ou Z d'un maillage structuré.
Interface d'un patch AMR d'un maillage cartésien.
Infos sur les noeuds d'une direction spécifique X,Y ou Z d'un maillage structuré.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Int32 Integer
Type représentant un entier.
eMeshDirection
Type de la direction pour un maillage structuré