diff options
author | Dan Goodliffe <dan@randomdan.homeip.net> | 2025-04-05 01:41:18 +0100 |
---|---|---|
committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2025-04-05 01:41:18 +0100 |
commit | f27654e58bf2ab1eae8a30817c543393b40b4199 (patch) | |
tree | 92a8972c2dd44274410881cb5a093fa65aed519e /thirdparty/openmesh/helpers.h | |
parent | Merge branch 'imgui' (diff) | |
parent | Replace call to calc_vertex_normal_correct (diff) | |
download | ilt-f27654e58bf2ab1eae8a30817c543393b40b4199.tar.bz2 ilt-f27654e58bf2ab1eae8a30817c543393b40b4199.tar.xz ilt-f27654e58bf2ab1eae8a30817c543393b40b4199.zip |
Merge branch 'openmesh-11'
Diffstat (limited to 'thirdparty/openmesh/helpers.h')
-rw-r--r-- | thirdparty/openmesh/helpers.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/thirdparty/openmesh/helpers.h b/thirdparty/openmesh/helpers.h index a0105c8..0e29261 100644 --- a/thirdparty/openmesh/helpers.h +++ b/thirdparty/openmesh/helpers.h @@ -7,6 +7,7 @@ namespace OpenMesh { template<typename Iter, typename... IterParams> using IteratorFunction = Iter (OpenMesh::PolyConnectivity::*)(IterParams...) const; +#if OM_GET_VER < 8 template<typename Iter, typename CenterEntityHandle, IteratorFunction<Iter, CenterEntityHandle> BeginFunc, IteratorFunction<Iter, CenterEntityHandle> EndFunc, typename Adaptor> auto @@ -26,6 +27,27 @@ namespace OpenMesh { { return std::views::iota(range.begin(), range.end()) | std::forward<Adaptor>(adaptor); } +#else + template<typename Iter, typename CenterEntityHandle, typename ToEntityHandle, + IteratorFunction<Iter, CenterEntityHandle> BeginFunc, IteratorFunction<Iter, CenterEntityHandle> EndFunc, + typename Adaptor> + auto + operator|(const CirculatorRange<CirculatorRangeTraitT<OpenMesh::PolyConnectivity, Iter, CenterEntityHandle, + ToEntityHandle, BeginFunc, EndFunc>> & range, + Adaptor && adaptor) + { + return std::views::iota(range.begin(), range.end()) | std::forward<Adaptor>(adaptor); + } + + template<typename Iter, IteratorFunction<Iter> BeginFunc, IteratorFunction<Iter> EndFunc, typename Adaptor> + auto + operator|(const EntityRange<RangeTraitT<const OpenMesh::PolyConnectivity, Iter, BeginFunc, EndFunc>> & range, + Adaptor && adaptor) + { + return std::views::iota(range.begin(), range.end()) | std::forward<Adaptor>(adaptor); + } + +#endif namespace Helpers { template<typename Type, template<typename> typename PropertyT> struct Property : public PropertyT<Type> { |