Tatooine
plane.h
Go to the documentation of this file.
1#ifndef TATOOINE_PLANE_H
2#define TATOOINE_PLANE_H
3//==============================================================================
4#include <tatooine/vec.h>
5#include <tatooine/real.h>
6//==============================================================================
7namespace tatooine {
8//==============================================================================
9template <typename T, size_t N>
10struct plane {
11 //----------------------------------------------------------------------------
12 private:
15 //----------------------------------------------------------------------------
16 public:
20 : m_origin{std::move(origin)}, m_normal{normal} {}
22 : m_origin{origin}, m_normal{std::move(normal)} {}
24 : m_origin{std::move(origin)}, m_normal{std::move(normal)} {}
25 //----------------------------------------------------------------------------
26 auto normal() -> auto& { return m_normal; }
27 auto normal() const -> auto const& { return m_normal; }
28 //----------------------------------------------------------------------------
29 auto origin() -> auto& { return m_origin; }
30 auto origin() const -> auto const& { return m_origin; }
31};
32template <size_t N>
43//==============================================================================
44} // namespace tatooine
45//==============================================================================
46#endif
Definition: algorithm.h:6
Definition: plane.h:10
plane(vec< T, N > const &origin, vec< T, N > &&normal)
Definition: plane.h:21
auto normal() -> auto &
Definition: plane.h:26
auto origin() const -> auto const &
Definition: plane.h:30
auto origin() -> auto &
Definition: plane.h:29
vec< T, N > m_origin
Definition: plane.h:13
plane(vec< T, N > const &origin, vec< T, N > const &normal)
Definition: plane.h:17
vec< T, N > m_normal
Definition: plane.h:14
auto normal() const -> auto const &
Definition: plane.h:27
plane(vec< T, N > &&origin, vec< T, N > const &normal)
Definition: plane.h:19
plane(vec< T, N > &&origin, vec< T, N > &&normal)
Definition: plane.h:23
Definition: vec.h:12