Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
CartesianMeshAllocateBuildInfo.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/* CartesianMeshAllocateBuildInfo.h (C) 2000-2023 */
9/* */
10/* Informations pour allouer les entités d'un maillage cartésien. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_CARTESIANMESHALLOCATEBUILDINFO_H
13#define ARCANE_CORE_CARTESIANMESHALLOCATEBUILDINFO_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24class CartesianMeshAllocateBuildInfoInternal;
25
26/*---------------------------------------------------------------------------*/
27/*---------------------------------------------------------------------------*/
28/*!
29 * \brief Informations pour allouer les entités d'un maillage non structuré.
30 *
31 * Cette classe permet de spécifier les mailles qui seront ajoutées lors
32 * de l'allocation initiale du maillage.
33 * Il faut appeler setMeshDimension() pour spécifier la dimension du maillage
34 * puis appeler addCell() pour chaque maille qu'on souhaite ajouter. Une fois
35 * toute les mailles ajoutées il faut appeler allocateMesh().
36 */
37class ARCANE_CORE_EXPORT CartesianMeshAllocateBuildInfo
38{
39 public:
40
41 class Impl;
42 class Intenrnal;
43
44 public:
45
48
49 public:
50
55
56 public:
57
58 //! Positionne les informations pour un maillage 3D.
59 ARCANE_DEPRECATED_REASON("Y2023: Use overload with first_own_cell_offset instead")
60 void setInfos3D(std::array<Int64, 3> global_nb_cells,
61 std::array<Int32, 3> own_nb_cells,
62 Int64 cell_unique_id_offset,
63 Int64 node_unique_id_offset);
64
65 //! Positionne les informations pour un maillage 3D.
66 void setInfos3D(const Int64x3& global_nb_cells,
67 const Int32x3& own_nb_cells,
68 const Int64x3& first_own_cell_offset,
69 Int64 cell_unique_id_offset);
70
71 //! Positionne les informations pour un maillage 2D.
72 ARCANE_DEPRECATED_REASON("Y2023: Use overload with first_own_cell_offset instead")
73 void setInfos2D(std::array<Int64, 2> global_nb_cells,
74 std::array<Int32, 2> own_nb_cells,
75 Int64 cell_unique_id_offset,
76 Int64 node_unique_id_offset);
77
78 //! Positionne les informations pour un maillage 2D.
79 void setInfos2D(const Int64x2& global_nb_cells,
80 const Int32x2& own_nb_cells,
81 const Int64x2& first_own_cell_offset,
82 Int64 cell_unique_id_offset);
83
84 /*!
85 * \brief Alloue le maillage.
86 *
87 * Il est nécessaire d'avoir appelé setInfos() avant.
88 *
89 * Cette méthode est collective.
90 */
91 void allocateMesh();
92
93 public:
94
95 //! Partie interne réservée à Arcane
96 CartesianMeshAllocateBuildInfoInternal* _internal();
97
98 private:
99
100 Impl* m_p = nullptr;
101};
102
103/*---------------------------------------------------------------------------*/
104/*---------------------------------------------------------------------------*/
105
106} // End namespace Arcane
107
108/*---------------------------------------------------------------------------*/
109/*---------------------------------------------------------------------------*/
110
111#endif
Déclarations de types sur les entités.
Informations pour allouer les entités d'un maillage non structuré.
Classe gérant un vecteur de dimension 2 de type T.
Definition Vector2.h:36
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-