23#ifndef VCL_MESH_VIEWS_COMPONENTS_TANGENTS_H
24#define VCL_MESH_VIEWS_COMPONENTS_TANGENTS_H
26#include <vclib/mesh/components/tangent.h>
28#include <vclib/base.h>
36inline constexpr auto tangent = [](
auto&& p) ->
decltype(
auto) {
37 if constexpr (IsPointer<
decltype(p)>)
45 constexpr TangentView() =
default;
47 template<std::ranges::range R>
48 friend constexpr auto operator|(R&& r, TangentView)
50 using ElemType = std::ranges::range_value_t<R>;
51 return std::forward<R>(r) | std::views::transform(tangent);
57inline constexpr detail::TangentView tangents;