CubbyFlow::Ray< T, N > Class Template Referencefinal

Class for N-D ray. More...

#include <Core/Geometry/Ray.hpp>

Public Types

using VectorType = Vector< T, N >
 

Public Member Functions

 Ray ()
 Constructs an empty ray that points (1, 0, ...) from (0, 0, ...). More...
 
 Ray (const VectorType &newOrigin, const VectorType &newDirection)
 Constructs a ray with given origin and direction. More...
 
 ~Ray ()=default
 Default destructor. More...
 
 Ray (const Ray &other)
 Copy constructor. More...
 
 Ray (Ray &&other) noexcept
 Move constructor. More...
 
Rayoperator= (const Ray &other)
 Copy assignment operator. More...
 
Rayoperator= (Ray &&other) noexcept
 Move assignment operator. More...
 
VectorType PointAt (T t) const
 Returns a point on the ray at distance t. More...
 

Public Attributes

VectorType origin
 The origin of the ray. More...
 
VectorType direction
 The direction of the ray. More...
 

Detailed Description

template<typename T, size_t N>
class CubbyFlow::Ray< T, N >

Class for N-D ray.

Template Parameters
TThe value type.
NDimension.

Member Typedef Documentation

◆ VectorType

template<typename T, size_t N>
using CubbyFlow::Ray< T, N >::VectorType = Vector<T, N>

Constructor & Destructor Documentation

◆ Ray() [1/4]

template<typename T , size_t N>
CubbyFlow::Ray< T, N >::Ray ( )

Constructs an empty ray that points (1, 0, ...) from (0, 0, ...).

◆ Ray() [2/4]

template<typename T , size_t N>
CubbyFlow::Ray< T, N >::Ray ( const VectorType newOrigin,
const VectorType newDirection 
)

Constructs a ray with given origin and direction.

◆ ~Ray()

template<typename T, size_t N>
CubbyFlow::Ray< T, N >::~Ray ( )
default

Default destructor.

◆ Ray() [3/4]

template<typename T , size_t N>
CubbyFlow::Ray< T, N >::Ray ( const Ray< T, N > &  other)

Copy constructor.

◆ Ray() [4/4]

template<typename T , size_t N>
CubbyFlow::Ray< T, N >::Ray ( Ray< T, N > &&  other)
noexcept

Move constructor.

Member Function Documentation

◆ operator=() [1/2]

template<typename T , size_t N>
Ray< T, N > & CubbyFlow::Ray< T, N >::operator= ( const Ray< T, N > &  other)

Copy assignment operator.

◆ operator=() [2/2]

template<typename T , size_t N>
Ray< T, N > & CubbyFlow::Ray< T, N >::operator= ( Ray< T, N > &&  other)
noexcept

Move assignment operator.

◆ PointAt()

template<typename T, size_t N>
Ray< T, N >::VectorType CubbyFlow::Ray< T, N >::PointAt ( t) const

Returns a point on the ray at distance t.

Member Data Documentation

◆ direction

template<typename T, size_t N>
VectorType CubbyFlow::Ray< T, N >::direction

The direction of the ray.

◆ origin

template<typename T, size_t N>
VectorType CubbyFlow::Ray< T, N >::origin

The origin of the ray.


The documentation for this class was generated from the following files: