7#ifndef ITEMGROUPBUILDER_H
8#define ITEMGROUPBUILDER_H
14#include <arcane/ArcaneVersion.h>
15#include <arcane/ItemGroup.h>
16#include <arcane/IMesh.h>
17#include <arcane/utils/String.h>
18#include <arcane/utils/StringBuilder.h>
19#include <arcane/IItemFamily.h>
20#include <arcane/ItemGroupRangeIterator.h>
24#define STRINGIFY(x) #x
25#define TOSTRING(x) STRINGIFY(x)
29#define IMPLICIT_NAME ItemGroupBuilder_cleanString(__FILE__ "__" TOSTRING(__LINE__),false)
30#define IMPLICIT_UNIQ_NAME ItemGroupBuilder_cleanString(__FILE__ "__" TOSTRING(__LINE__),true)
45 std::set<Integer> m_ids;
51 : m_mesh(mesh), m_group_name(groupName) {}
62 m_ids.insert(enumerator.
localId());
70 while(enumerator.hasNext())
72 m_ids.insert(enumerator.itemLocalId());
78 void add(
const T & item)
80 m_ids.insert(item.localId());
88 std::set<Integer>::const_iterator is = m_ids.begin();
91 while(is != m_ids.end())
virtual ItemGroup findGroup(const String &name) const =0
Recherche un groupe.
virtual IItemFamily * itemFamily(eItemKind ik)=0
Retourne la famille d'entité de type ik.
Intervalle d'itération sur un groupe d'entités de maillage.
Référence à un groupe d'un genre donné.
Groupe d'entités de maillage.
void clear()
Supprime les entités du groupe.
void setItems(Int32ConstArrayView items_local_id)
Positionne les entités du groupe.
Chaîne de caractères unicode.
Vecteur 1D de données avec sémantique par valeur (style STL).
String getName() const
Nom du groupe.
void add(ItemEnumeratorT< T > enumerator)
Ajout d'un ensemble d'item fourni par un énumérateur.
virtual ~ItemGroupBuilder()
Destructeur.
ItemGroupT< T > buildGroup()
Constructeur du nouveau group.
void add(const T &item)
Ajout d'un item unique.
void add(ItemGroupRangeIteratorT< T > enumerator)
Ajout d'un ensemble d'item fourni par un énumérateur.
ItemGroupBuilder(IMesh *mesh, const String &groupName)
Constructeur.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Int32 Integer
Type représentant un entier.