Arcane
v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
UnstructuredMeshAllocateBuildInfo.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
/* UnstructuredMeshAllocateBuildInfo.h (C) 2000-2023 */
9
/* */
10
/* Informations pour allouer les entités d'un maillage non structuré. */
11
/*---------------------------------------------------------------------------*/
12
#ifndef ARCANE_CORE_UNSTRUCTUREDMESHALLOCATEBUILDINFO_H
13
#define ARCANE_CORE_UNSTRUCTUREDMESHALLOCATEBUILDINFO_H
14
/*---------------------------------------------------------------------------*/
15
/*---------------------------------------------------------------------------*/
16
17
#include "
arcane/core/ItemTypes.h
"
18
19
/*---------------------------------------------------------------------------*/
20
/*---------------------------------------------------------------------------*/
21
22
namespace
Arcane
23
{
24
class
UnstructuredMeshAllocateBuildInfoInternal;
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
*/
37
class
ARCANE_CORE_EXPORT
UnstructuredMeshAllocateBuildInfo
38
{
39
public
:
40
41
class
Impl
;
42
class
Intenrnal;
43
44
public
:
45
46
explicit
UnstructuredMeshAllocateBuildInfo
(
IPrimaryMesh
* mesh);
47
~UnstructuredMeshAllocateBuildInfo
();
48
49
public
:
50
51
UnstructuredMeshAllocateBuildInfo
(
UnstructuredMeshAllocateBuildInfo
&& from) =
delete
;
52
UnstructuredMeshAllocateBuildInfo
(
const
UnstructuredMeshAllocateBuildInfo
& from) =
delete
;
53
UnstructuredMeshAllocateBuildInfo
& operator=(
UnstructuredMeshAllocateBuildInfo
&& from) =
delete
;
54
UnstructuredMeshAllocateBuildInfo
& operator=(
const
UnstructuredMeshAllocateBuildInfo
& from) =
delete
;
55
56
public
:
57
58
/*!
59
* \brief Pre-alloue la mémoire.
60
*
61
* Pré-alloue les tableaux contenant la connectivité pour contenir \a nb_cell
62
* mailles et \a nb_connectivity_node pour la liste des noeuds
63
* des mailles.
64
*
65
* Cette méthode est optionnelle et n'est utile que pour
66
* optimiser la gestion mémoire.
67
*
68
* Par exemple, si on sait que notre maillage contiendra 300 quadrangles
69
* alors on peut utiliser preAllocate(300,300*4).
70
*/
71
void
preAllocate(Int32 nb_cell, Int64 nb_connectivity_node);
72
73
//! Positionne la dimension du maillage
74
void
setMeshDimension(Int32 v);
75
76
//! Ajoute une maille au maillage
77
void
addCell(
ItemTypeId
type_id, Int64 cell_uid,
SmallSpan<const Int64>
nodes_uid);
78
79
/*!
80
* \brief Alloue le maillage avec les mailles ajoutées lors de l'appel à addCell().
81
*
82
* Cette méthode est collective.
83
*/
84
void
allocateMesh();
85
86
public
:
87
88
//! Partie interne réservée à Arcane
89
UnstructuredMeshAllocateBuildInfoInternal* _internal();
90
91
private
:
92
93
Impl
* m_p =
nullptr
;
94
};
95
96
/*---------------------------------------------------------------------------*/
97
/*---------------------------------------------------------------------------*/
98
99
}
// End namespace Arcane
100
101
/*---------------------------------------------------------------------------*/
102
/*---------------------------------------------------------------------------*/
103
104
#endif
ItemTypes.h
Déclarations de types sur les entités.
Arcane::IPrimaryMesh
Definition
IPrimaryMesh.h:43
Arcane::ItemTypeId
Type d'une entité (Item).
Definition
ItemTypeId.h:32
Arcane::UnstructuredMeshAllocateBuildInfo::Impl
Definition
UnstructuredMeshAllocateBuildInfo.cc:35
Arcane::UnstructuredMeshAllocateBuildInfo
Informations pour allouer les entités d'un maillage non structuré.
Definition
UnstructuredMeshAllocateBuildInfo.h:38
Arccore::SmallSpan
Vue d'un tableau d'éléments de type T.
Definition
Span.h:670
Arcane
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Definition
AbstractCaseDocumentVisitor.cc:20
arcane
core
UnstructuredMeshAllocateBuildInfo.h
Généré le Lundi 18 Novembre 2024 02:56:50 pour Arcane par
1.9.8