Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
UnstructuredMeshAllocateBuildInfo.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2026 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/* Information for allocating entities of an unstructured mesh. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_UNSTRUCTUREDMESHALLOCATEBUILDINFO_H
13#define ARCANE_CORE_UNSTRUCTUREDMESHALLOCATEBUILDINFO_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
25
26/*---------------------------------------------------------------------------*/
27/*---------------------------------------------------------------------------*/
28
38class ARCANE_CORE_EXPORT UnstructuredMeshAllocateBuildInfo
39{
40 public:
41
42 class Impl;
43 class Intenrnal;
44
45 public:
46
47 explicit UnstructuredMeshAllocateBuildInfo(IPrimaryMesh* mesh);
48 ~UnstructuredMeshAllocateBuildInfo();
49
50 public:
51
52 UnstructuredMeshAllocateBuildInfo(UnstructuredMeshAllocateBuildInfo&& from) = delete;
53 UnstructuredMeshAllocateBuildInfo(const UnstructuredMeshAllocateBuildInfo& from) = delete;
54 UnstructuredMeshAllocateBuildInfo& operator=(UnstructuredMeshAllocateBuildInfo&& from) = delete;
55 UnstructuredMeshAllocateBuildInfo& operator=(const UnstructuredMeshAllocateBuildInfo& from) = delete;
56
57 public:
58
71 void preAllocate(Int32 nb_cell, Int64 nb_connectivity_node);
72
74 void setMeshDimension(Int32 v);
75
77 void addCell(ItemTypeId type_id, Int64 cell_uid, SmallSpan<const Int64> nodes_uid);
78
84 void allocateMesh();
85
86 public:
87
90
91 private:
92
93 Impl* m_p = nullptr;
94};
95
96/*---------------------------------------------------------------------------*/
97/*---------------------------------------------------------------------------*/
98
99} // End namespace Arcane
100
101/*---------------------------------------------------------------------------*/
102/*---------------------------------------------------------------------------*/
103
104#endif
Declarations of types on entities.
Type of an entity (Item).
Definition ItemTypeId.h:33
View of an array of elements of type T.
Definition Span.h:805
void allocateMesh()
Allocates the mesh with the cells added during the call to addCell().
UnstructuredMeshAllocateBuildInfoInternal * _internal()
Internal part reserved for Arcane.
void preAllocate(Int32 nb_cell, Int64 nb_connectivity_node)
Pre-allocate the memory.
void addCell(ItemTypeId type_id, Int64 cell_uid, SmallSpan< const Int64 > nodes_uid)
Adds a cell to the mesh.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
std::int64_t Int64
Signed integer type of 64 bits.
std::int32_t Int32
Signed integer type of 32 bits.