Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
ItemPairGroupBuilder.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/* ItemPairGroupBuilder.h (C) 2000-2021 */
9/* */
10/* Construction des listes des entités des ItemPairGroup. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_ITEMPAIRGROUPBUILDER_H
13#define ARCANE_ITEMPAIRGROUPBUILDER_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/ItemPairGroup.h"
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27
28/*---------------------------------------------------------------------------*/
29/*---------------------------------------------------------------------------*/
30/*!
31 * \brief Construction des listes des entités des ItemPairGroup.
32 *
33 * Cette classe est utilisée lors du recalcul des entités d'un ItemPairGroup.
34 *
35 * Le code utilisateur doit appeler la méthode addNextItem() pour chaque entité
36 * de group().itemGroup() en spécifiant les localId() des entités ajoutées.
37 * Par exemple:
38 *
39 \code
40 * void functor(ItemPairGroupBuilder& builder)
41 * {
42 * Int32Array local_ids;
43 * ENUMERATE_ITEM(iitem.builder.group().itemGroup()){
44 * local_ids.clear();
45 * // Calcule les entité connectées à \a iitem et les ajoute à \a local_ids.
46 * ...
47 * builder.addNextItem(local_ids);
48 * }
49 * }
50 \endcode
51 *
52 * Pour un exemple plus complet d'utilisation, se référer à la documentation
53 * de ItemPairGroup.
54 */
55class ARCANE_CORE_EXPORT ItemPairGroupBuilder
56{
57 public:
58
59 //! \internal
62
63 public:
64
65 //! groupe associé.
66 const ItemPairGroup& group() { return m_group; }
67 //! Ajoute les entités \a sub_items a
68 void addNextItem(Int32ConstArrayView sub_items);
69
70 private:
71
72 ItemPairGroup m_group;
73 Int64 m_index;
74 Array<Int64>& m_unguarded_indexes;
75 Array<Int32>& m_unguarded_local_ids;
76};
77
78/*---------------------------------------------------------------------------*/
79/*---------------------------------------------------------------------------*/
80
81} // End namespace Arcane
82
83/*---------------------------------------------------------------------------*/
84/*---------------------------------------------------------------------------*/
85
86#endif
Construction des listes des entités des ItemPairGroup.
const ItemPairGroup & group()
groupe associé.
Tableau de listes d'entités.
Classe de base des vecteurs 1D de données.
Vue constante d'un tableau de type T.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-