Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
ItemGroupDynamicMeshObserver.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/* Mesh observation tool */
9/*---------------------------------------------------------------------------*/
10#ifndef ARCANE_MESH_ITEMGROUPDYNAMICMESHOBSERVER_H
11#define ARCANE_MESH_ITEMGROUPDYNAMICMESHOBSERVER_H
12
13/*---------------------------------------------------------------------------*/
14/*---------------------------------------------------------------------------*/
15
16#include "arcane/mesh/MeshGlobal.h"
17
18#include "arcane/core/ItemGroupObserver.h"
19
20/*---------------------------------------------------------------------------*/
21/*---------------------------------------------------------------------------*/
22
23namespace Arcane::mesh
24{
25
26/*---------------------------------------------------------------------------*/
27/*---------------------------------------------------------------------------*/
28
29class DynamicMesh;
30
31/*---------------------------------------------------------------------------*/
32/*---------------------------------------------------------------------------*/
33
34class ItemGroupDynamicMeshObserver
35: public IItemGroupObserver
36{
37 public:
38
39 ItemGroupDynamicMeshObserver(DynamicMesh* mesh)
40 : m_mesh(mesh)
41 {}
42 virtual ~ItemGroupDynamicMeshObserver() {}
43
44 void executeExtend(const Int32ConstArrayView* new_items_info);
45
46 void executeReduce(const Int32ConstArrayView* info);
47
48 void executeCompact(const Int32ConstArrayView* pinfo);
49
50 void executeInvalidate();
51
52 bool needInfo() const { return true; }
53
54 private:
55
56 DynamicMesh* m_mesh;
57};
58
59/*---------------------------------------------------------------------------*/
60/*---------------------------------------------------------------------------*/
61
62} // namespace Arcane::mesh
63
64/*---------------------------------------------------------------------------*/
65/*---------------------------------------------------------------------------*/
66
67#endif
Implementation of a mesh.
Definition DynamicMesh.h:98
bool needInfo() const
Indicates whether the observer will need transition information.
void executeReduce(const Int32ConstArrayView *info)
Execute the action associated with the extension.
void executeExtend(const Int32ConstArrayView *new_items_info)
Execute the action associated with the extension.
void executeInvalidate()
Execute the action associated with invalidation.
void executeCompact(const Int32ConstArrayView *pinfo)
Executes the action associated with compaction.
ConstArrayView< Int32 > Int32ConstArrayView
C equivalent of a 1D array of 32-bit integers.
Definition UtilsTypes.h:482