14#include "arcane/mesh/IndexedIncrementalItemConnectivityMng.h"
16#include "arcane/core/IndexedItemConnectivityView.h"
17#include "arcane/core/IIndexedIncrementalItemConnectivity.h"
18#include "arcane/mesh/IncrementalItemConnectivity.h"
29class IndexedIncrementalItemConnectivity
35 : m_true_connectivity(x)
42 return m_true_connectivity;
46 return m_true_connectivity->connectivityView();
57IndexedIncrementalItemConnectivityMng::
58IndexedIncrementalItemConnectivityMng(
ITraceMng* tm)
72 auto x = m_connectivity_map.find(name);
73 if (x != m_connectivity_map.end()) {
74 connectivity = x->second;
78 if (old_source != source)
79 ARCANE_FATAL(
"A connectivity with the same name '{0}' already exists but with a different source"
80 " old_source={1} new_source={2}",
81 name, old_source->
name(), source->name());
82 if (old_target != target)
83 ARCANE_FATAL(
"A connectivity with the same name '{0}' already exists but with a different target"
84 " old_target={1} new_target={2}",
85 name, old_target->
name(), target->
name());
91 m_connectivity_map.insert(std::make_pair(name, connectivity));
94 true_connectivity->_internalNotifySourceItemsAdded(source->allItems().view().localIds());
105 auto x = m_connectivity_map.find(name);
106 if (x != m_connectivity_map.end())
#define ARCANE_CHECK_POINTER(ptr)
Macro returning the pointer ptr if it is not null or throwing an exception if it is null.
#define ARCANE_FATAL(...)
Macro throwing a FatalErrorException.
Interface for managing an incremental connectivity.
virtual IItemFamily * targetFamily() const =0
Target family.
virtual IItemFamily * sourceFamily() const =0
Source family.
Interface to manage incremental connectivity.
Interface of an entity family.
virtual String name() const =0
Family name.
Base class for a view on unstructured connectivity.
Reference to an instance.
Unicode character string.
Incremental item->item[] connectivity.
Ref< IIndexedIncrementalItemConnectivity > findConnectivity(const String &name) override
Searches for or creates a connectivity.
Ref< IIndexedIncrementalItemConnectivity > findOrCreateConnectivity(IItemFamily *source, IItemFamily *target, const String &name) override
Searches for or creates a connectivity.
IIncrementalItemConnectivity * connectivity() override
Interface of the associated connectivity.
IndexedItemConnectivityViewBase view() const override
View of the connectivity.
auto makeRef(InstanceType *t) -> Ref< InstanceType >
Creates a reference on a pointer.