#pragma once #include #include #include #include namespace glm { template auto norm(const vec & v) { return length(v); } template auto vectorize(vec & v, S scalar) { v = vec {static_cast(scalar)}; } } namespace OpenMesh { template struct vector_caster, glm::vec> { using source_type = glm::vec; using return_type = glm::vec; inline static return_type cast(const source_type & _src) { return return_type {_src}; } }; template struct vector_traits> { using vector_type = glm::vec; using value_type = T; static constexpr glm::length_t size_ = L; }; }