From 563f5966ee1c04dc1841576a14f3d0f08b16944c Mon Sep 17 00:00:00 2001 From: Oliver Sander <sander@igpm.rwth-aachen.de> Date: Wed, 5 Nov 2014 08:47:55 +0000 Subject: [PATCH] Add 'contains' methods just like the mappers in dune-grid have them. [[Imported from SVN: r9955]] --- dune/gfe/parallel/globalp1mapper.hh | 9 +++++++++ dune/gfe/parallel/globalp2mapper.hh | 10 ++++++++++ 2 files changed, 19 insertions(+) diff --git a/dune/gfe/parallel/globalp1mapper.hh b/dune/gfe/parallel/globalp1mapper.hh index 0ad3d7a0..af880708 100644 --- a/dune/gfe/parallel/globalp1mapper.hh +++ b/dune/gfe/parallel/globalp1mapper.hh @@ -76,6 +76,15 @@ namespace Dune { return localGlobalMap_.find(localIndex)->second; } + template <class Entity> + bool contains(const Entity& entity, uint i, uint codim, Index& result) const + { + if (codim != GridView::dimension) + return false; + result = subIndex(entity,i,codim); + return true; + } + Index localIndex(const int& globalIndex) const { return globalLocalMap_.find(globalIndex)->second; } diff --git a/dune/gfe/parallel/globalp2mapper.hh b/dune/gfe/parallel/globalp2mapper.hh index 5dc676b5..789ad77f 100644 --- a/dune/gfe/parallel/globalp2mapper.hh +++ b/dune/gfe/parallel/globalp2mapper.hh @@ -108,6 +108,16 @@ namespace Dune { return localGlobalMap_.find(localIndex)->second; } + template <class Entity> + bool contains(const Entity& entity, uint i, uint codim, Index& result) const + { + Index localIndex; + if (not p2Mapper_.contains(entity, i, codim,localIndex)) + return false; + result = localGlobalMap_.find(localIndex)->second; + return true; + } + Index localIndex(const int& globalIndex) const { return globalLocalMap_.find(globalIndex)->second; } -- GitLab