Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
ItemFamilyCompactInfos.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/* ItemFamilyCompactInfos.h (C) 2000-2016 */
9/* */
10/* Informations pour gérer le compactage des entités d'une famille. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_ITEMFAMILYCOMPACTINFOS_H
13#define ARCANE_ITEMFAMILYCOMPACTINFOS_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/utils/Array.h"
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22ARCANE_BEGIN_NAMESPACE
23
24/*---------------------------------------------------------------------------*/
25/*---------------------------------------------------------------------------*/
26
27class IMeshCompacter;
28class IItemFamily;
29
30/*---------------------------------------------------------------------------*/
31/*---------------------------------------------------------------------------*/
32/*!
33 * \brief Informations pour gérer le compactage des entités d'une famille.
34 */
35class ARCANE_CORE_EXPORT ItemFamilyCompactInfos
36{
37 public:
39 : m_compacter(acompacter), m_family(afamily){}
41 public:
42 IMeshCompacter* compacter() const { return m_compacter; }
43 IItemFamily* family() const { return m_family; }
44 //! Conversion entre les anciens et les nouveaux id locaux.
46 {
47 return m_old_to_new_local_ids;
48 }
49
50 //! Conversion entre les nouveaux et les anciens id locaux.
52 {
53 return m_new_to_old_local_ids;
54 }
55 void setOldToNewLocalIds(UniqueArray<Int32>&& ids)
56 {
57 m_old_to_new_local_ids = ids;
58 }
59 void setNewToOldLocalIds(UniqueArray<Int32>&& ids)
60 {
61 m_new_to_old_local_ids = ids;
62 }
63 void clear()
64 {
65 m_old_to_new_local_ids.clear();
66 m_new_to_old_local_ids.clear();
67 }
68 private:
69 IMeshCompacter* m_compacter;
70 IItemFamily* m_family;
71 UniqueArray<Int32> m_old_to_new_local_ids;
72 UniqueArray<Int32> m_new_to_old_local_ids;
73};
74
75/*---------------------------------------------------------------------------*/
76/*---------------------------------------------------------------------------*/
77
78ARCANE_END_NAMESPACE
79
80/*---------------------------------------------------------------------------*/
81/*---------------------------------------------------------------------------*/
82
83#endif
Interface d'une famille d'entités.
Gestion d'un compactage de familles du maillage.
Informations pour gérer le compactage des entités d'une famille.
Int32ConstArrayView newToOldLocalIds() const
Conversion entre les nouveaux et les anciens id locaux.
Int32ConstArrayView oldToNewLocalIds() const
Conversion entre les anciens et les nouveaux id locaux.
Vue constante d'un tableau de type T.
Vecteur 1D de données avec sémantique par valeur (style STL).