jaulib v1.3.6
Jau Support Library (C++, Java, ..)
Loading...
Searching...
No Matches
jau::math::Ray3F< Value_type, > Class Template Reference

Simple compound denoting a ray. More...

#include <vec3f.hpp>

Inheritance diagram for jau::math::Ray3F< Value_type, >:
Collaboration diagram for jau::math::Ray3F< Value_type, >:

Public Types

typedef const value_typeconst_pointer
 
typedef value_typepointer
 
typedef Value_type value_type
 

Public Member Functions

std::string toString () const noexcept
 

Public Attributes

Vector3F< value_typedir
 Normalized direction vector of ray.
 
Point3F< value_typeorig
 Origin of Ray.
 

Static Public Attributes

static constexpr const size_t byte_size = components * sizeof(value_type)
 Size in bytes with value_alignment.
 
static constexpr const size_t components = 6
 Number of value_type components.
 
static constexpr int value_alignment = sizeof(value_type)
 value alignment is sizeof(value_type)
 

Detailed Description

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type >, bool > = true>
class jau::math::Ray3F< Value_type, >

Simple compound denoting a ray.

Component and overall alignment is as sizeof(value_type), i.e. packed.

A ray, also known as a half line, consists out of it's origin and direction. Hence it is bound to only the origin side, where the other end is +infinitive.

R(t) = R0 + Rd * t with R0 origin, Rd direction and t > 0.0

Definition at line 440 of file vec3f.hpp.

Member Typedef Documentation

◆ value_type

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type >, bool > = true>
typedef Value_type jau::math::Ray3F< Value_type, >::value_type

Definition at line 442 of file vec3f.hpp.

◆ pointer

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type >, bool > = true>
typedef value_type* jau::math::Ray3F< Value_type, >::pointer

Definition at line 443 of file vec3f.hpp.

◆ const_pointer

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type >, bool > = true>
typedef const value_type* jau::math::Ray3F< Value_type, >::const_pointer

Definition at line 444 of file vec3f.hpp.

Member Function Documentation

◆ toString()

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type >, bool > = true>
std::string jau::math::Ray3F< Value_type, >::toString ( ) const
inlinenoexcept

Definition at line 461 of file vec3f.hpp.

Member Data Documentation

◆ value_alignment

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type >, bool > = true>
int jau::math::Ray3F< Value_type, >::value_alignment = sizeof(value_type)
staticconstexpr

value alignment is sizeof(value_type)

Definition at line 447 of file vec3f.hpp.

◆ components

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type >, bool > = true>
const size_t jau::math::Ray3F< Value_type, >::components = 6
staticconstexpr

Number of value_type components.

Definition at line 450 of file vec3f.hpp.

◆ byte_size

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type >, bool > = true>
const size_t jau::math::Ray3F< Value_type, >::byte_size = components * sizeof(value_type)
staticconstexpr

Size in bytes with value_alignment.

Definition at line 453 of file vec3f.hpp.

◆ orig

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type >, bool > = true>
Point3F<value_type> jau::math::Ray3F< Value_type, >::orig

Origin of Ray.

Definition at line 456 of file vec3f.hpp.

◆ dir

template<typename Value_type, std::enable_if_t< std::is_floating_point_v< Value_type >, bool > = true>
Vector3F<value_type> jau::math::Ray3F< Value_type, >::dir

Normalized direction vector of ray.

Definition at line 459 of file vec3f.hpp.


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