utility 2026.1.9
A comprehensive C++ utilities library tailored for the development of modern desktop and extended reality (XR) applications.
Loading...
Searching...
No Matches
ray.hpp File Reference

Geometric ray template declaration. More...

#include <ostream>
#include <stdexcept>
#include <type_traits>
#include <utility>
#include "utility/graphic/position.hpp"
#include "utility/math/vector.hpp"
#include "utility/graphic/mesh.hpp"
Include dependency graph for ray.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  utility::graphic::Ray< RayComponentType >
 Geometric ray with arithmetic component type and fixed dimension. More...
 

Namespaces

namespace  utility
 The utility namespace contains classes and functions for the utility project.
 

Concepts

concept  utility::graphic::CanBeRayComponent
 Concept to ensure the type can be used as a ray component.
 

Typedefs

using utility::graphic::RayF = Ray< float >
 Type alias for single-precision ray component.
 
using utility::graphic::RayD = Ray< double >
 Type alias for double-precision ray component.
 

Functions

std::ostream & utility::graphic::operator<< (std::ostream &stream, const RayF &ray)
 Stream insertion operator for Ray.
 
std::ostream & utility::graphic::operator<< (std::ostream &stream, const RayD &ray)
 Stream insertion operator for Ray.
 

Detailed Description

Geometric ray template declaration.

Declares graphic::Ray<Type, Dimension>, a fixed-dimension ray defined by an origin and a non-zero direction vector. Provides accessors, mutators, translation utilities, and point evaluation along the ray.

Definition in file ray.hpp.

Typedef Documentation

◆ RayD

using utility::graphic::RayD = typedef Ray<double>

Type alias for double-precision ray component.

Definition at line 466 of file ray.hpp.

◆ RayF

using utility::graphic::RayF = typedef Ray<float>

Type alias for single-precision ray component.

Definition at line 461 of file ray.hpp.

Function Documentation

◆ operator<<() [1/2]

std::ostream & utility::graphic::operator<< ( std::ostream &  stream,
const RayD ray 
)

Stream insertion operator for Ray.

Parameters
streamOutput stream.
rayRay to output.
Returns
Reference to the output stream.

Definition at line 34 of file ray.cpp.

Here is the call graph for this function:

◆ operator<<() [2/2]

std::ostream & utility::graphic::operator<< ( std::ostream &  stream,
const RayF ray 
)

Stream insertion operator for Ray.

Parameters
streamOutput stream.
rayRay to output.
Returns
Reference to the output stream.

Definition at line 27 of file ray.cpp.

Here is the call graph for this function: