Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
CartesianPatch.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2023 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-2023 */
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/*---------------------------------------------------------------------------*/
29/*!
30 * \ingroup ArcaneCartesianMesh
31 * \brief Patch AMR d'un maillage cartésien.
32 */
33class ARCANE_CARTESIANMESH_EXPORT CartesianPatch
34{
35 public:
36
37 //! Patch nul.
38 CartesianPatch() = default;
39
40 //! Patch nul.
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
54 //! Groupe de mailles du patch
55 CellGroup cells();
56
57 //! Liste des mailles dans la direction \a dir
59 {
60 ARCANE_CHECK_POINTER(m_patch);
61 return m_patch->cellDirection(dir);
62 }
63
64 //! Liste des mailles dans la direction \a dir (0, 1 ou 2)
66 {
67 ARCANE_CHECK_POINTER(m_patch);
68 return m_patch->cellDirection(idir);
69 }
70
71 //! Liste des faces dans la direction \a dir
73 {
74 ARCANE_CHECK_POINTER(m_patch);
75 return m_patch->faceDirection(dir);
76 }
77
78 //! Liste des faces dans la direction \a dir (0, 1 ou 2)
80 {
81 ARCANE_CHECK_POINTER(m_patch);
82 return m_patch->faceDirection(idir);
83 }
84
85 //! Liste des noeuds dans la direction \a dir
87 {
88 ARCANE_CHECK_POINTER(m_patch);
89 return m_patch->nodeDirection(dir);
90 }
91
92 //! Liste des noeuds dans la direction \a dir (0, 1 ou 2)
94 {
95 ARCANE_CHECK_POINTER(m_patch);
96 return m_patch->nodeDirection(idir);
97 }
98
99 //! Effectue des vérifications sur la validité de l'instance.
100 void checkValid() const
101 {
102 ARCANE_CHECK_POINTER(m_patch);
103 m_patch->checkValid();
104 }
105
106 //! Indique si le patch est nul.
107 bool isNull() const { return !m_patch; }
108
109 //! Interface associée au patch (pour compatibilité avec l'existant)
110 ICartesianMeshPatch* patchInterface() const { return m_patch; }
111
112 private:
113
114 ICartesianMeshPatch* m_patch = nullptr;
115};
116
117/*---------------------------------------------------------------------------*/
118/*---------------------------------------------------------------------------*/
119
120} // End namespace Arcane
121
122/*---------------------------------------------------------------------------*/
123/*---------------------------------------------------------------------------*/
124
125#endif
126
#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.
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.
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.
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 -*-
eMeshDirection
Type de la direction pour un maillage structuré