Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
IMeshCompactMng.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/* IMeshCompactMng.h (C) 2000-2020 */
9/* */
10/* Interface du gestionnaire des compactages de familles d'un maillage. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_IMESHCOMPACTMNG_H
13#define ARCANE_IMESHCOMPACTMNG_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/ArcaneTypes.h"
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27
28class IMeshCompacter;
29
30/*---------------------------------------------------------------------------*/
31/*---------------------------------------------------------------------------*/
32/*!
33 * \brief Interface du gestionnaire des compactages de familles d'un maillage.
34 *
35 * Lorsqu'un compactage est en cours, il est interdit de faire certaines
36 * opérations sur le maillage comme par exemple créer une nouvelle famille
37 * ou ajouter des groupes.
38 *
39 * Le début d'un compactage se fait via l'appel à beginCompact(). Une fois
40 * le compactage terminé, il faut appeler endCompact() pour détruire
41 * l'instance de IMeshCompacter.
42 *
43 * Pour plus d'informations sur le compactage, se reporter à la documentation
44 * de IMeshCompacter.
45 */
46class ARCANE_CORE_EXPORT IMeshCompactMng
47{
48 public:
49
50 virtual ~IMeshCompactMng() {} //<! Libère les ressources
51
52 public:
53
54 //! Maillage associé
55 virtual IMesh* mesh() const =0;
56
57 /*!
58 * \brief Débute un compactage sur toutes les familles du maillage.
59 *
60 * \pre compacter()==nullptr.
61 */
63
64 /*!
65 * \brief Débute un compactage pour la famille d'entité \a family
66 *
67 * \pre compacter()==nullptr.
68 *
69 */
71
72 /*!
73 * \brief Signale que le compactage est terminé.
74 *
75 * Cela permet de désallouer les structures associées au compactage.
76 * \post exchanger()==nullptr.
77 */
78 virtual void endCompact() =0;
79
80 /*!
81 * \brief Compacteur actif courant.
82 *
83 * Le compacteur est non nul que si on est entre un beginCompact()
84 * et un endCompact()
85 */
87};
88
89/*---------------------------------------------------------------------------*/
90/*---------------------------------------------------------------------------*/
91
92} // End namespace Arcane
93
94/*---------------------------------------------------------------------------*/
95/*---------------------------------------------------------------------------*/
96
97#endif
Interface d'une famille d'entités.
Interface du gestionnaire des compactages de familles d'un maillage.
virtual void endCompact()=0
Signale que le compactage est terminé.
virtual IMeshCompacter * compacter()=0
Compacteur actif courant.
virtual IMeshCompacter * beginCompact(IItemFamily *family)=0
Débute un compactage pour la famille d'entité family.
virtual IMesh * mesh() const =0
Maillage associé
virtual IMeshCompacter * beginCompact()=0
Débute un compactage sur toutes les familles du maillage.
Gestion d'un compactage de familles du maillage.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-