14#include "arcane/utils/NotSupportedException.h"
15#include "arcane/utils/FatalErrorException.h"
17#include "arcane/IItemFamily.h"
18#include "arcane/Item.h"
19#include "arcane/ItemInfoListView.h"
21#include "arcane/mesh/AbstractItemFamilyTopologyModifier.h"
32AbstractItemFamilyTopologyModifier::
33AbstractItemFamilyTopologyModifier(IItemFamily* afamily)
34: TraceAccessor(afamily->traceMng())
54inline Integer AbstractItemFamilyTopologyModifier::
57 for(
Integer i=0; i<nb_item; ++i )
58 if (items[i] == local_id)
60 ARCANE_FATAL(
"Can not find item to replace local_id={0}",local_id);
66inline Integer AbstractItemFamilyTopologyModifier::
75void AbstractItemFamilyTopologyModifier::
85void AbstractItemFamilyTopologyModifier::
88 ARCANE_UNUSED(item_lid);
90 ARCANE_UNUSED(new_node_lid);
97void AbstractItemFamilyTopologyModifier::
100 ARCANE_UNUSED(item_lid);
101 ARCANE_UNUSED(index);
102 ARCANE_UNUSED(new_edge_lid);
103 _throwNotSupported();
109void AbstractItemFamilyTopologyModifier::
112 ARCANE_UNUSED(item_lid);
113 ARCANE_UNUSED(index);
114 ARCANE_UNUSED(new_face_lid);
115 _throwNotSupported();
121void AbstractItemFamilyTopologyModifier::
124 ARCANE_UNUSED(item_lid);
125 ARCANE_UNUSED(index);
126 ARCANE_UNUSED(new_cell_lid);
127 _throwNotSupported();
133void AbstractItemFamilyTopologyModifier::
136 ARCANE_UNUSED(item_lid);
137 ARCANE_UNUSED(index);
138 ARCANE_UNUSED(new_hparent_lid);
139 _throwNotSupported();
145void AbstractItemFamilyTopologyModifier::
148 ARCANE_UNUSED(item_lid);
149 ARCANE_UNUSED(index);
150 ARCANE_UNUSED(new_hchild_lid);
151 _throwNotSupported();
157void AbstractItemFamilyTopologyModifier::
161 impl::ItemBase ii = m_family->itemInfoListView()[item_lid].itemBase();
169void AbstractItemFamilyTopologyModifier::
173 impl::ItemBase ii = m_family->itemInfoListView()[item_lid].itemBase();
181void AbstractItemFamilyTopologyModifier::
185 impl::ItemBase ii = m_family->itemInfoListView()[item_lid].itemBase();
193void AbstractItemFamilyTopologyModifier::
197 impl::ItemBase ii = m_family->itemInfoListView()[item_lid].itemBase();
#define ARCANE_THROW(exception_class,...)
Macro pour envoyer une exception avec formattage.
#define ARCANE_FATAL(...)
Macro envoyant une exception FatalErrorException.
constexpr const_pointer data() const noexcept
Pointeur sur la mémoire allouée.
const String & name() const
Nom de l'exception.
Interface d'une famille d'entités.
ItemLocalId itemLocalId() const
Numéro local (au sous-domaine) de l'entité
impl::ItemIndexedListView< DynExtent > nodeList() const
Méthodes utilisant les nouvelles connectivités pour accéder aux informations de connectivité....
Index d'un Item dans une variable.
Vue sur un vecteur d'entités.
Int32 size() const
Nombre d'éléments du vecteur.
Int32ConstArrayView localIds() const
Tableau des numéros locaux des entités.
Exception lorsqu'une opération n'est pas supportée.
void replaceNode(ItemLocalId item_lid, Integer index, ItemLocalId new_node_lid) override
Remplace un noeud d'une entité.
Int32 _getItemIndex(const Int32 *items, Integer nb_item, Int32 local_id)
Recherche l'index de l'entité de localid() local_id dans la liste items.
void replaceEdge(ItemLocalId item_lid, Integer index, ItemLocalId new_edge_lid) override
Remplace une arête d'une entité.
void replaceCell(ItemLocalId item_lid, Integer index, ItemLocalId new_cell_lid) override
Remplace une maille d'une entité.
void replaceFace(ItemLocalId item_lid, Integer index, ItemLocalId new_face_lid) override
Remplace une face d'une entité.
Int32 Integer
Type représentant un entier.
std::int32_t Int32
Type entier signé sur 32 bits.