Arcane  v3.16.6.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-2025 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-2025 */
9/* */
10/* Gestion d'un compactage de familles du maillage. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_IMESHCOMPACTER_H
13#define ARCANE_CORE_IMESHCOMPACTER_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
82class ARCANE_CORE_EXPORT IMeshCompacter
83{
84 public:
85
87 enum class ePhase
88 {
89 Init = 0,
90 BeginCompact,
91 CompactVariableAndGroups,
92 UpdateInternalReferences,
93 EndCompact,
94 Finalize,
95 Ended
96 };
97
98 public:
99
100 virtual ~IMeshCompacter() = default;
101
102 public:
103
105 virtual void doAllActions() = 0;
106
107 virtual void beginCompact() = 0;
108 virtual void compactVariablesAndGroups() = 0;
109 virtual void updateInternalReferences() = 0;
110 virtual void endCompact() = 0;
111 virtual void finalizeCompact() = 0;
112
114 virtual IMesh* mesh() const = 0;
115
122 virtual const ItemFamilyCompactInfos* findCompactInfos(IItemFamily* family) const = 0;
123
125 virtual ePhase phase() const = 0;
126
131 virtual void setSorted(bool v) = 0;
132
134 virtual bool isSorted() const = 0;
135
137 virtual ItemFamilyCollection families() const = 0;
138
140 virtual void _setCompactVariablesAndGroups(bool v) = 0;
141};
142
143/*---------------------------------------------------------------------------*/
144/*---------------------------------------------------------------------------*/
145
146} // namespace Arcane
147
148/*---------------------------------------------------------------------------*/
149/*---------------------------------------------------------------------------*/
150
151#endif
Déclarations des types généraux de Arcane.
Interface d'une famille d'entités.
Definition IItemFamily.h:84
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 ~IMeshCompacter()=default
Libère les ressources.
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.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Collection< IItemFamily * > ItemFamilyCollection
Collection de familles d'entités.