summaryrefslogtreecommitdiff
path: root/thirdparty/openmesh/helpers.h
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2025-04-05 01:41:18 +0100
committerDan Goodliffe <dan@randomdan.homeip.net>2025-04-05 01:41:18 +0100
commitf27654e58bf2ab1eae8a30817c543393b40b4199 (patch)
tree92a8972c2dd44274410881cb5a093fa65aed519e /thirdparty/openmesh/helpers.h
parentMerge branch 'imgui' (diff)
parentReplace call to calc_vertex_normal_correct (diff)
downloadilt-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.h22
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> {