Tatooine
Public Types | Public Member Functions | Private Attributes | Friends | List of all members
tatooine::ray< Real, N > Struct Template Reference

#include <ray.h>

Inheritance diagram for tatooine::ray< Real, N >:
[legend]
Collaboration diagram for tatooine::ray< Real, N >:
[legend]

Public Types

using vec_t = vec< Real, N >
 
using pos_type = vec_t
 

Public Member Functions

 ray (ray const &)=default
 
 ray (ray &&) noexcept=default
 
template<floating_point OtherReal>
 ray (ray< OtherReal, N > const &other)
 
rayoperator= (ray const &)=default
 
rayoperator= (ray &&) noexcept=default
 
 ray (pos_type const &origin, vec_t const &direction)
 
 ray (pos_type &&origin, vec_t const &direction)
 
 ray (pos_type const &origin, vec_t &&direction)
 
 ray (pos_type &&origin, vec_t &&direction)
 
auto origin () -> auto &
 
auto origin () const -> auto const &
 
auto origin (size_t i) -> auto &
 
auto origin (size_t i) const
 
auto direction () -> auto &
 
auto direction () const -> auto const &
 
auto direction (size_t i) -> auto &
 
auto direction (size_t i) const
 
auto operator() (Real t) const
 
auto at (Real t) const
 
void normalize ()
 

Private Attributes

pos_type m_origin
 
vec_t m_direction
 

Friends

template<typename OtherReal , size_t OtherN>
struct ray
 

Member Typedef Documentation

◆ pos_type

template<typename Real , size_t N>
using tatooine::ray< Real, N >::pos_type = vec_t

◆ vec_t

template<typename Real , size_t N>
using tatooine::ray< Real, N >::vec_t = vec<Real, N>

Constructor & Destructor Documentation

◆ ray() [1/7]

template<typename Real , size_t N>
tatooine::ray< Real, N >::ray ( ray< Real, N > const &  )
default

◆ ray() [2/7]

template<typename Real , size_t N>
tatooine::ray< Real, N >::ray ( ray< Real, N > &&  )
defaultnoexcept

◆ ray() [3/7]

template<typename Real , size_t N>
template<floating_point OtherReal>
tatooine::ray< Real, N >::ray ( ray< OtherReal, N > const &  other)
inline

◆ ray() [4/7]

template<typename Real , size_t N>
tatooine::ray< Real, N >::ray ( pos_type const &  origin,
vec_t const &  direction 
)
inline

◆ ray() [5/7]

template<typename Real , size_t N>
tatooine::ray< Real, N >::ray ( pos_type &&  origin,
vec_t const &  direction 
)
inline

◆ ray() [6/7]

template<typename Real , size_t N>
tatooine::ray< Real, N >::ray ( pos_type const &  origin,
vec_t &&  direction 
)
inline

◆ ray() [7/7]

template<typename Real , size_t N>
tatooine::ray< Real, N >::ray ( pos_type &&  origin,
vec_t &&  direction 
)
inline

Member Function Documentation

◆ at()

template<typename Real , size_t N>
auto tatooine::ray< Real, N >::at ( Real  t) const
inline

◆ direction() [1/4]

template<typename Real , size_t N>
auto tatooine::ray< Real, N >::direction ( ) -> auto&
inline

◆ direction() [2/4]

template<typename Real , size_t N>
auto tatooine::ray< Real, N >::direction ( ) const -> auto const&
inline

◆ direction() [3/4]

template<typename Real , size_t N>
auto tatooine::ray< Real, N >::direction ( size_t  i) -> auto&
inline

◆ direction() [4/4]

template<typename Real , size_t N>
auto tatooine::ray< Real, N >::direction ( size_t  i) const
inline

◆ normalize()

template<typename Real , size_t N>
void tatooine::ray< Real, N >::normalize ( )
inline

◆ operator()()

template<typename Real , size_t N>
auto tatooine::ray< Real, N >::operator() ( Real  t) const
inline

◆ operator=() [1/2]

template<typename Real , size_t N>
ray & tatooine::ray< Real, N >::operator= ( ray< Real, N > &&  )
defaultnoexcept

◆ operator=() [2/2]

template<typename Real , size_t N>
ray & tatooine::ray< Real, N >::operator= ( ray< Real, N > const &  )
default

◆ origin() [1/4]

template<typename Real , size_t N>
auto tatooine::ray< Real, N >::origin ( ) -> auto&
inline

◆ origin() [2/4]

template<typename Real , size_t N>
auto tatooine::ray< Real, N >::origin ( ) const -> auto const&
inline

◆ origin() [3/4]

template<typename Real , size_t N>
auto tatooine::ray< Real, N >::origin ( size_t  i) -> auto&
inline

◆ origin() [4/4]

template<typename Real , size_t N>
auto tatooine::ray< Real, N >::origin ( size_t  i) const
inline

Friends And Related Function Documentation

◆ ray

template<typename Real , size_t N>
template<typename OtherReal , size_t OtherN>
friend struct ray
friend

Member Data Documentation

◆ m_direction

template<typename Real , size_t N>
vec_t tatooine::ray< Real, N >::m_direction
private

◆ m_origin

template<typename Real , size_t N>
pos_type tatooine::ray< Real, N >::m_origin
private

The documentation for this struct was generated from the following file: