14#include "arcane/core/CartesianGridDimension.h"
16#include "arcane/utils/Math.h"
30CartesianGridDimension::
31CartesianGridDimension(Int64 nb_cell_x, Int64 nb_cell_y, Int64 nb_cell_z)
32: m_nb_cell{ math::max(nb_cell_x, 0), math::max(nb_cell_y, 0), math::max(nb_cell_z, 0) }
40CartesianGridDimension::
41CartesianGridDimension(Int64 nb_cell_x, Int64 nb_cell_y)
49CartesianGridDimension::
50CartesianGridDimension(
const Int64x2& dims)
58CartesianGridDimension::
59CartesianGridDimension(
const Int64x3& dims)
67CartesianGridDimension::
68CartesianGridDimension(
const Int32x2& dims)
76CartesianGridDimension::
77CartesianGridDimension(
const Int32x3& dims)
85void CartesianGridDimension::
88 const bool is_dim3 = (m_nb_cell.z > 0);
89 const bool is_dim2_or_3 = is_dim3 || (m_nb_cell.y > 0);
91 m_nb_face.x = m_nb_cell.x + 1;
92 m_nb_node.x = m_nb_cell.x + 1;
94 m_nb_face.y = m_nb_cell.y + 1;
95 m_nb_node.y = m_nb_cell.y + 1;
98 m_nb_face.z = m_nb_cell.z + 1;
99 m_nb_node.z = m_nb_cell.z + 1;
102 m_nb_face_oriented.x = m_nb_face.x * m_nb_cell.y;
103 m_nb_face_oriented.y = m_nb_face.y * m_nb_cell.x;
104 m_nb_face_oriented.z = m_nb_cell.x * m_nb_cell.y;
106 m_nb_cell_xy = m_nb_cell.x * m_nb_cell.y;
107 m_total_nb_cell = m_nb_cell_xy;
109 m_total_nb_cell *= m_nb_cell.z;
Informations sur les dimensions d'une grille cartésienne.
Classe gérant un vecteur de dimension 2 de type T.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-