Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
IMeshCompacter.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/* IMeshCompacter.h (C) 2000-2016 */
9/* */
10/* Gestion d'un compactage de familles du maillage. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_IMESHCOMPACTER_H
13#define ARCANE_IMESHCOMPACTER_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/ArcaneTypes.h"
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22ARCANE_BEGIN_NAMESPACE
23
24/*---------------------------------------------------------------------------*/
25/*---------------------------------------------------------------------------*/
26
27class IMesh;
28class IItemFamily;
29class ItemFamilyCompactInfos;
30
31/*---------------------------------------------------------------------------*/
32/*---------------------------------------------------------------------------*/
88class ARCANE_CORE_EXPORT IMeshCompacter
89{
90 public:
92 enum class ePhase
93 {
94 Init = 0,
95 BeginCompact,
96 CompactVariableAndGroups,
97 UpdateInternalReferences,
98 EndCompact,
99 Finalize,
100 Ended
101 };
102 public:
103
104 virtual ~IMeshCompacter() {} //<! Libère les ressources
105
106 public:
107
109 virtual void doAllActions() =0;
110
111 virtual void beginCompact() =0;
112 virtual void compactVariablesAndGroups() =0;
113 virtual void updateInternalReferences() =0;
114 virtual void endCompact() =0;
115 virtual void finalizeCompact() =0;
116
118 virtual IMesh* mesh() const =0;
119
126 virtual const ItemFamilyCompactInfos* findCompactInfos(IItemFamily* family) const =0;
127
129 virtual ePhase phase() const =0;
130
135 virtual void setSorted(bool v) =0;
136
138 virtual bool isSorted() const =0;
139
141 virtual ItemFamilyCollection families() const =0;
142
144 virtual void _setCompactVariablesAndGroups(bool v) =0;
145};
146
147/*---------------------------------------------------------------------------*/
148/*---------------------------------------------------------------------------*/
149
150ARCANE_END_NAMESPACE
151
152/*---------------------------------------------------------------------------*/
153/*---------------------------------------------------------------------------*/
154
155#endif
Interface d'une famille d'entités.
Gestion d'un compactage de familles du maillage.
virtual IMesh * mesh() const =0
Maillage associé à ce compacter.
virtual ItemFamilyCollection families() const =0
Familles dont les entités sont compactées.
virtual void setSorted(bool v)=0
Indique s'il faut trier les entités lors du compactage.
virtual ePhase phase() const =0
Phase de l'échange dans laquelle on se trouve.
virtual void doAllActions()=0
Exécute successivement toutes les actions de compactage.
virtual void _setCompactVariablesAndGroups(bool v)=0
virtual bool isSorted() const =0
Indique si souhaite trier les entités en plus de les compacter.
virtual const ItemFamilyCompactInfos * findCompactInfos(IItemFamily *family) const =0
Informations de compactage pour la famille family.
ePhase
Indique les différentes phases du compactage.
Informations pour gérer le compactage des entités d'une famille.