Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
IItemConnectivityMng.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/* IItemConnectivityMng.h (C) 2000-2015 */
9/* */
10/* Interface du gestionnaire de connectivité des entités. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_IITEMCONNECTIVITYMNG_H
13#define ARCANE_IITEMCONNECTIVITYMNG_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22ARCANE_BEGIN_NAMESPACE
23
24/*---------------------------------------------------------------------------*/
25/*---------------------------------------------------------------------------*/
26
27class IItemConnectivitySynchronizer;
28class IItemConnectivityGhostPolicy;
29class IItemConnectivity;
30class IIncrementalItemConnectivity;
31
32/*---------------------------------------------------------------------------*/
33/*---------------------------------------------------------------------------*/
34
35class ARCANE_CORE_EXPORT IItemConnectivityMng
36{
37public:
38
39 /** Constructeur de la classe */
41
42 /** Destructeur de la classe */
44
45 //! Enregistrement d'une connectivité
46 virtual void registerConnectivity(IItemConnectivity* connectivity) = 0;
47 virtual void unregisterConnectivity(IItemConnectivity* connectivity) = 0;
48
49 virtual void registerConnectivity(IIncrementalItemConnectivity* connectivity) = 0;
50 virtual void unregisterConnectivity(IIncrementalItemConnectivity* connectivity) = 0;
51
52 /*!
53 * \brief Création d'un objet de synchronisation pour une connectivité.
54 *
55 * Si la méthode a déjà été appelée pour cette connectivité,
56 * un nouveau synchroniseur est créé et le précedent est détruit.
57 */
59 IItemConnectivityGhostPolicy* connectivity_ghost_policy) = 0;
60 virtual IItemConnectivitySynchronizer* getSynchronizer (IItemConnectivity* connectivity) = 0;
61
62 //! Enregistrement de modifications d'une famille d'items
63 virtual void setModifiedItems (IItemFamily* family, Int32ConstArrayView added_items, Int32ConstArrayView removed_items) = 0;
64
65 //! Récupération des items modifiés pour mettre à jour une connectivité
66 virtual void getSourceFamilyModifiedItems(IItemConnectivity* connectivity, Int32ArrayView& added_items, Int32ArrayView& removed_items) = 0;
67 virtual void getTargetFamilyModifiedItems(IItemConnectivity* connectivity, Int32ArrayView& added_items, Int32ArrayView& removed_items) = 0;
68
69 virtual void getSourceFamilyModifiedItems(IIncrementalItemConnectivity* connectivity, Int32ArrayView& added_items, Int32ArrayView& removed_items) = 0;
70 virtual void getTargetFamilyModifiedItems(IIncrementalItemConnectivity* connectivity, Int32ArrayView& added_items, Int32ArrayView& removed_items) = 0;
71
72 //! Test si la connectivité est à jour
73 virtual bool isUpToDate(IItemConnectivity* connectivity) = 0; //! par rapport à la famille source et à la famille target
74 virtual bool isUpToDateWithSourceFamily(IItemConnectivity* connectivity) = 0; //! par rapport à la famille source
75 virtual bool isUpToDateWithTargetFamily(IItemConnectivity* connectivity) = 0; //! par rapport à la famille target
76
77 //! Enregistre la connectivité comme mise à jour par rapport aux deux familles (source et target)
78 virtual void setUpToDate(IItemConnectivity* connectivity) = 0;
79
80 //! Test si la connectivité est à jour
81 virtual bool isUpToDate(IIncrementalItemConnectivity* connectivity) = 0; //! par rapport à la famille source et à la famille target
82 virtual bool isUpToDateWithSourceFamily(IIncrementalItemConnectivity* connectivity) = 0; //! par rapport à la famille source
83 virtual bool isUpToDateWithTargetFamily(IIncrementalItemConnectivity* connectivity) = 0; //! par rapport à la famille target
84
85 //! Enregistre la connectivité comme mise à jour par rapport aux deux familles (source et target)
86 virtual void setUpToDate(IIncrementalItemConnectivity* connectivity) = 0;
87
88
89
90 //! Mise à jour des items modifiés éventuellement compactés
91 virtual void notifyLocalIdChanged(IItemFamily* item_family, Int32ConstArrayView old_to_new_ids, Integer nb_item) = 0;
92};
93
94/*---------------------------------------------------------------------------*/
95/*---------------------------------------------------------------------------*/
96
97ARCANE_END_NAMESPACE
98
99/*---------------------------------------------------------------------------*/
100/*---------------------------------------------------------------------------*/
101
102#endif /* ICONNECTIVITYMANAGER_H_ */
Fichier de configuration d'Arcane.
Déclarations des types utilisés dans Arcane.
Interface pour gérer une connectivité incrémentale.
virtual void notifyLocalIdChanged(IItemFamily *item_family, Int32ConstArrayView old_to_new_ids, Integer nb_item)=0
Mise à jour des items modifiés éventuellement compactés.
virtual void setUpToDate(IIncrementalItemConnectivity *connectivity)=0
par rapport à la famille target
virtual void setModifiedItems(IItemFamily *family, Int32ConstArrayView added_items, Int32ConstArrayView removed_items)=0
Enregistrement de modifications d'une famille d'items.
virtual bool isUpToDateWithSourceFamily(IItemConnectivity *connectivity)=0
par rapport à la famille source et à la famille target
virtual void setUpToDate(IItemConnectivity *connectivity)=0
par rapport à la famille target
virtual bool isUpToDateWithTargetFamily(IIncrementalItemConnectivity *connectivity)=0
par rapport à la famille source
virtual IItemConnectivitySynchronizer * createSynchronizer(IItemConnectivity *connectivity, IItemConnectivityGhostPolicy *connectivity_ghost_policy)=0
Création d'un objet de synchronisation pour une connectivité.
virtual bool isUpToDateWithTargetFamily(IItemConnectivity *connectivity)=0
par rapport à la famille source
virtual void getSourceFamilyModifiedItems(IItemConnectivity *connectivity, Int32ArrayView &added_items, Int32ArrayView &removed_items)=0
Récupération des items modifiés pour mettre à jour une connectivité
virtual bool isUpToDate(IIncrementalItemConnectivity *connectivity)=0
Test si la connectivité est à jour.
virtual bool isUpToDateWithSourceFamily(IIncrementalItemConnectivity *connectivity)=0
par rapport à la famille source et à la famille target
virtual bool isUpToDate(IItemConnectivity *connectivity)=0
Test si la connectivité est à jour.
virtual void registerConnectivity(IItemConnectivity *connectivity)=0
Enregistrement d'une connectivité
Interface pour gérer une connectivité.
Interface d'une famille d'entités.
Vue modifiable d'un tableau d'un type T.
Vue constante d'un tableau de type T.