12#ifndef ARCANE_CARTESIANMESH_CARTESIANMESHPATCH_H
13#define ARCANE_CARTESIANMESH_CARTESIANMESHPATCH_H
17#include "arcane/cartesianmesh/internal/ICartesianMeshPatchInternal.h"
18#include "arcane/utils/TraceAccessor.h"
21#include "arcane/core/VariableTypes.h"
23#include "arcane/cartesianmesh/ICartesianMeshPatch.h"
24#include "arcane/cartesianmesh/CellDirectionMng.h"
25#include "arcane/cartesianmesh/FaceDirectionMng.h"
26#include "arcane/cartesianmesh/NodeDirectionMng.h"
45class CartesianMeshPatch
49 friend CartesianMeshImpl;
56 explicit Impl(CartesianMeshPatch* m_patch)
61 return m_patch->m_position;
65 m_patch->m_position = position;
70 CartesianMeshPatch* m_patch;
77 ~CartesianMeshPatch()
override;
86 return m_amr_patch_index;
90 return m_cell_directions[dir];
95 return m_cell_directions[idir];
100 return m_face_directions[dir];
105 return m_face_directions[idir];
110 return m_node_directions[dir];
115 return m_node_directions[idir];
124 ICartesianMeshPatchInternal* _internalApi()
override
131 void _internalComputeNodeCellInformations(
Cell cell0, Real3 cell0_coord,
VariableNodeReal3& nodes_coord);
132 void _internalComputeNodeCellInformations();
138 ICartesianMesh* m_mesh;
139 AMRPatchPosition m_position;
140 CellDirectionMng m_cell_directions[3];
141 FaceDirectionMng m_face_directions[3];
142 NodeDirectionMng m_node_directions[3];
Declarations of types on entities.
Class allowing the definition of a patch position in the Cartesian mesh.
FaceDirectionMng & faceDirection(Integer idir) override
List of faces in direction dir (0, 1 or 2).
Integer index() override
TODO.
FaceDirectionMng & faceDirection(eMeshDirection dir) override
List of faces in direction dir.
NodeDirectionMng & nodeDirection(Integer idir) override
List of nodes in direction dir (0, 1 or 2).
void checkValid() const override
Performs checks on the validity of the instance.
CellDirectionMng & cellDirection(eMeshDirection dir) override
List of cells in direction dir.
NodeDirectionMng & nodeDirection(eMeshDirection dir) override
List of nodes in direction dir.
CellGroup cells() override
Cell group of the patch.
CellDirectionMng & cellDirection(Integer idir) override
List of cells in direction dir (0, 1 or 2).
Info about the cells in a specific X, Y, or Z direction of a structured mesh.
Info on the faces of a specific direction X, Y, or Z of a structured mesh.
Interface of an AMR patch of a Cartesian mesh.
Interface of a Cartesian mesh.
Info about nodes in a specific direction X, Y, or Z of a structured mesh.
TraceAccessor(ITraceMng *m)
Constructs an accessor via the trace manager m.
ItemGroupT< Cell > CellGroup
Group of cells.
MeshVariableScalarRefT< Node, Real3 > VariableNodeReal3
Coordinate type quantity at node.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
Int32 Integer
Type representing an integer.
eMeshDirection
Direction type for a structured mesh.
@ Cell
The mesh is AMR by cell.