UFO 1.0.0
An Efficient Probabilistic 3D Mapping Framework That Embraces the Unknown
Loading...
Searching...
No Matches
convert.hpp
1
45#ifndef UFO_VISION_COLOR_CONVERT_HPP
46#define UFO_VISION_COLOR_CONVERT_HPP
47
48// UFO
49#include <ufo/vision/color/concepts.hpp>
50#include <ufo/vision/color/detail/convert.hpp>
51
52// STL
53#include <concepts>
54
55namespace ufo
56{
72template <Color To, Color From>
73[[nodiscard]] constexpr To convert(From const& color)
74{
75 return detail::convertColor<To>(color);
76}
77
88template <typename T, Color From>
89 requires(std::floating_point<T> || std::integral<T>)
90[[nodiscard]] constexpr auto convert(From const& color)
91{
92 return convert<typename color_traits<From>::template rebind_value<T>>(color);
93}
94
105template <ColorFlags F, Color From>
106[[nodiscard]] constexpr auto convert(From const& color)
107{
108 return convert<typename color_traits<From>::template rebind_flags<F>>(color);
109}
110
122template <typename T, ColorFlags F, Color From>
123 requires(std::floating_point<T> || std::integral<T>)
124[[nodiscard]] constexpr auto convert(From const& color)
125{
126 return convert<typename color_traits<From>::template rebind<T, F>>(color);
127}
128
139template <Color From, Color To>
140constexpr void convert(From const& in, To& out)
141{
142 out = convert<To>(in);
143}
144
148} // namespace ufo
149
150#endif // UFO_VISION_COLOR_CONVERT_HPP
All vision-related classes and functions.
Definition cloud.hpp:49
constexpr To convert(Vec< Dim, U > const &v) noexcept
Converts a vector to a different Vec type, truncating or zero-padding dimensions.
Definition vec.hpp:1059