Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
ExtraGhostItemsManager.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2022 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/* ExtraGhostItemsManager.h (C) 2000-2015 */
9/* */
10/* Construction des items fantômes supplémentaires. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_EXTRAGHOSTITEMSMANAGER_H_
13#define ARCANE_EXTRAGHOSTITEMSMANAGER_H_
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18#include "arcane/mesh/MeshGlobal.h"
19#include "arcane/ISubDomain.h"
20#include "arcane/utils/ITraceMng.h"
21#include "arcane/ISerializer.h"
22#include "arcane/utils/Array.h"
23#include "arcane/IItemFamily.h"
24
25#include "arcane/IExtraGhostItemsBuilder.h"
26
27/*---------------------------------------------------------------------------*/
28/*---------------------------------------------------------------------------*/
29
30ARCANE_BEGIN_NAMESPACE
31
32/*---------------------------------------------------------------------------*/
33/*---------------------------------------------------------------------------*/
34
35ARCANE_MESH_BEGIN_NAMESPACE
36
37/*---------------------------------------------------------------------------*/
38/*---------------------------------------------------------------------------*/
39
41{
42public:
43
46 virtual ~IExtraGhostItemsAdder(){}
47
48 virtual void serializeGhostItems(ISerializer* buffer,Int32ConstArrayView ghost_item_lids) = 0;
49 virtual void addExtraGhostItems (ISerializer* buffer) = 0;
50 virtual void updateSynchronizationInfo() = 0;
51 virtual ISubDomain* subDomain() = 0;
52 virtual IItemFamily* itemFamily() = 0;
53};
54
55/*---------------------------------------------------------------------------*/
56/*---------------------------------------------------------------------------*/
57
59{
60public:
61
64 : m_item_family(extra_ghost_adder->itemFamily())
65 , m_trace_mng(m_item_family->traceMng())
66 , m_extra_ghost_items_adder(extra_ghost_adder){}
67
69 : m_item_family(item_family)
70 , m_trace_mng(item_family->traceMng()){}
71
74
75public:
76
77 IExtraGhostItemsAdder* extraGhostItemsFamily() {return m_extra_ghost_items_adder;}
78
79 void addExtraGhostItemsBuilder(IExtraGhostItemsBuilder* builder) {
80 m_builders.add(builder);
81 }
82
83 ArrayView<IExtraGhostItemsBuilder*> extraGhostItemsBuilders() {
84 return m_builders;
85 }
86
87 void computeExtraGhostItems();
88 void computeExtraGhostItems2(); // REFACTORED ONE
89
90 private:
91
92 IItemFamily* m_item_family;
93 UniqueArray<IExtraGhostItemsBuilder*> m_builders;
94 ITraceMng* m_trace_mng;
95 IExtraGhostItemsAdder* m_extra_ghost_items_adder;
96
97};
98
99/*---------------------------------------------------------------------------*/
100/*---------------------------------------------------------------------------*/
101
102ARCANE_MESH_END_NAMESPACE
103
104/*---------------------------------------------------------------------------*/
105/*---------------------------------------------------------------------------*/
106
107ARCANE_END_NAMESPACE
108
109/*---------------------------------------------------------------------------*/
110/*---------------------------------------------------------------------------*/
111
112#endif /* EXTRAGHOSTITEMSMANAGER_H_ */
Fichier de configuration d'Arcane.
ExtraGhostItemsManager(IExtraGhostItemsAdder *extra_ghost_adder)
Interface d'une famille d'entités.
Interface du gestionnaire d'un sous-domaine.
Definition ISubDomain.h:74
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
Vue modifiable d'un tableau d'un type T.
Vue constante d'un tableau de type T.