Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
IItemFamilyModifier.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/* IItemFamilyModifier.h (C) 2000-2025 */
9/* */
10/* Interface for modifying a family */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_IITEMFAMILYMODIFIER_H
13#define ARCANE_CORE_IITEMFAMILYMODIFIER_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
19
20#include "arcane/mesh/MeshInfos.h"
21
22/*---------------------------------------------------------------------------*/
23/*---------------------------------------------------------------------------*/
24
25namespace Arcane
26{
27
28/*---------------------------------------------------------------------------*/
29/*---------------------------------------------------------------------------*/
30
31class ItemTypeInfo;
32
33/*---------------------------------------------------------------------------*/
34/*---------------------------------------------------------------------------*/
35
46class ARCANE_CORE_EXPORT IItemFamilyModifier
47{
48 public:
49
52
53 public:
54
55 // DEPRECATED
56 ARCANE_DEPRECATED_REASON("Y2022: Use allocOne() overload with ItemTypeId")
57 ItemInternal* allocOne(Int64 uid, ItemTypeInfo* type, mesh::MeshInfos& mesh_info);
58 // DEPRECATED
59 ARCANE_DEPRECATED_REASON("Y2022: Use findOrAllocOne() overload with ItemTypeId")
60 ItemInternal* findOrAllocOne(Int64 uid, ItemTypeInfo* type, mesh::MeshInfos& mesh_info, bool& is_alloc);
61
63 virtual Item allocOne(Int64 uid, ItemTypeId type_id, mesh::MeshInfos& mesh_info) = 0;
64 virtual Item findOrAllocOne(Int64 uid, ItemTypeId type_id, mesh::MeshInfos& mesh_info, bool& is_alloc) = 0;
65 virtual IItemFamily* family() = 0;
66};
67
68/*---------------------------------------------------------------------------*/
69/*---------------------------------------------------------------------------*/
70
71} // End namespace Arcane
72
73/*---------------------------------------------------------------------------*/
74/*---------------------------------------------------------------------------*/
75
76#endif
Declarations of Arcane's general types.
Declarations of types on entities.
Interface for modifying a family.
Interface of an entity family.
Definition IItemFamily.h:83
Internal structure of a mesh entity.
Type of an entity (Item).
Definition ItemTypeId.h:33
Info on a mesh entity type.
Base class for a mesh element.
Definition Item.h:84
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
std::int64_t Int64
Signed integer type of 64 bits.