Add simplex + vector operator

This commit is contained in:
Nikita Lisitsa 2021-03-05 23:13:11 +03:00
parent 4383ce7e8b
commit d9fb3b1be6

View file

@ -72,6 +72,30 @@ namespace psemek::geom
return !(s1 < s2);
}
template <typename T, std::size_t N, std::size_t K>
simplex<point<T, N>, K> operator + (simplex<point<T, N>, K> s, geom::vector<T, N> const & v)
{
for (auto & p : s.points)
p += v;
return s;
}
template <typename T, std::size_t N, std::size_t K>
simplex<point<T, N>, K> operator + (geom::vector<T, N> const & v, simplex<point<T, N>, K> s)
{
for (auto & p : s.points)
p += v;
return s;
}
template <typename T, std::size_t N, std::size_t K>
simplex<point<T, N>, K> operator - (simplex<point<T, N>, K> s, geom::vector<T, N> const & v)
{
for (auto & p : s.points)
p -= v;
return s;
}
template <typename Point, std::size_t K>
std::ostream & operator << (std::ostream & os, simplex<Point, K> const & s)
{