Om  1.0.0
A universal framework for multimedia simulation
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
om::math::SIMDRay3D< T, 4 > Class Template Reference

A class that represents a set of 3D rays stored in a SIMD-compatible format. More...

#include <omSIMDRay3D.h>

Public Member Functions

 SIMDRay3D (const VectorND< T, 3 > &newOrigin, const VectorND< T, 3 > &newDirection)
 Create a SIMD ray with N copies of the specified ray for a SIMD width of N. More...
 
 SIMDRay3D (const Ray3D< T > &ray)
 Create a SIMD ray with N copies of the specified ray for a SIMD width of N. More...
 
 SIMDRay3D (const Ray3D< T > &ray1, const Ray3D< T > &ray2, const Ray3D< T > &ray3, const Ray3D< T > &ray4)
 Create a SIMD ray with the 4 rays it contains equal to the specified rays. More...
 

Static Public Member Functions

static Size getAlignment ()
 Return the alignment required for objects of this type. More...
 
static Size getWidth ()
 Get the width of this vector (number of 3D vectors it has). More...
 

Public Attributes

SIMDVector3D< T, 4 > origin
 A SIMD 3D vector indicating the origin of the ray(s). More...
 
SIMDVector3D< T, 4 > direction
 A SIMD 3D vector indicating the direction of the ray(s). More...
 

Detailed Description

template<typename T>
class om::math::SIMDRay3D< T, 4 >

A class that represents a set of 3D rays stored in a SIMD-compatible format.

This class is used to store and operate on a set of 3D rays in a SIMD fashion. The rays are stored in a structure-of-arrays format that accelerates SIMD operations. Each ray is specified by an origin point and a direction vector.

Constructor & Destructor Documentation

template<typename T >
om::math::SIMDRay3D< T, 4 >::SIMDRay3D ( const VectorND< T, 3 > &  newOrigin,
const VectorND< T, 3 > &  newDirection 
)
inline

Create a SIMD ray with N copies of the specified ray for a SIMD width of N.

template<typename T >
om::math::SIMDRay3D< T, 4 >::SIMDRay3D ( const Ray3D< T > &  ray)
inline

Create a SIMD ray with N copies of the specified ray for a SIMD width of N.

template<typename T >
om::math::SIMDRay3D< T, 4 >::SIMDRay3D ( const Ray3D< T > &  ray1,
const Ray3D< T > &  ray2,
const Ray3D< T > &  ray3,
const Ray3D< T > &  ray4 
)
inline

Create a SIMD ray with the 4 rays it contains equal to the specified rays.

Member Function Documentation

template<typename T >
static Size om::math::SIMDRay3D< T, 4 >::getAlignment ( )
inlinestatic

Return the alignment required for objects of this type.

For most SIMD types this value will be 16 bytes. If there is no alignment required, 0 is returned.

template<typename T >
static Size om::math::SIMDRay3D< T, 4 >::getWidth ( )
inlinestatic

Get the width of this vector (number of 3D vectors it has).

Member Data Documentation

template<typename T >
SIMDVector3D<T,4> om::math::SIMDRay3D< T, 4 >::origin

A SIMD 3D vector indicating the origin of the ray(s).

template<typename T >
SIMDVector3D<T,4> om::math::SIMDRay3D< T, 4 >::direction

A SIMD 3D vector indicating the direction of the ray(s).


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