Skip to content
Snippets Groups Projects
Commit 4e5f62af authored by Santiago Ospina De Los Ríos's avatar Santiago Ospina De Los Ríos
Browse files

Allow subdomain index set to return index for multidomain entities

parent 9f302e38
No related branches found
No related tags found
1 merge request!33Allow subdomain index set to return index for multidomain entities
Pipeline #39452 passed
......@@ -69,7 +69,7 @@ public:
template<typename Entity>
IndexType index(const Entity& e) const {
return index<Entity::codimension>(e);
return _mdIndexSet.template index<Entity::codimension>(_grid.domain(),_grid.multiDomainEntity(e));
}
template<int codim, typename Entity>
......
......@@ -611,8 +611,20 @@ public:
return EntityWrapper<EntityType::codimension,dimension,const GridImp>(this,mdEntity);
}
template<typename EntityType>
static const typename MDGrid::template MultiDomainEntity<EntityType>::type& multiDomainEntity(const EntityType& e) {
//! specialization for -parent- multidomain entity
template <
class EntityType,
std::enable_if_t<std::is_same_v<typename MDGrid::Traits::template Codim<EntityType::codimension>::Entity,EntityType>, int> = 0>
static const EntityType&
multiDomainEntity(const EntityType &e) {
return e;
}
template <
class EntityType,
std::enable_if_t<!std::is_same_v<typename MDGrid::Traits::template Codim<EntityType::codimension>::Entity,EntityType>,int> = 0>
static const typename MDGrid::Traits::template Codim<EntityType::codimension>::Entity &
multiDomainEntity(const EntityType &e) {
return e.impl().multiDomainEntity();
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment