SuperDex Physics C++ API
Loading...
Searching...
No Matches
superdex::CoordinateSpace Struct Reference

Coordinate-axis convention and linear unit scale. More...

#include <coordinate_space.h>

Public Member Functions

constexpr CoordinateSpace ()=default
constexpr CoordinateSpace (CoordinateSpaceAxes inAxes, double inUnitsPerMeter)
Real3 GetForward () const
 Return the unit vector pointing forward, in this space's own coordinates.
Real3 GetRight () const
 Return the unit vector pointing right, in this space's own coordinates.
Real3 GetUp () const
 Return the unit vector pointing up, in this space's own coordinates.
constexpr bool operator!= (CoordinateSpace const &rhs) const =default
constexpr bool operator== (CoordinateSpace const &rhs) const =default
void Validate (Error &error) const
 Validate that axes is a complete convention and unitsPerMeter is finite and positive.

Static Public Member Functions

static CoordinateSpace Default ()
 Return the default coordinate space convention for Mochi.
static CoordinateSpace Filament ()
 Return the coordinate space convention for Filament.
static CoordinateSpace OpenGL ()
 Return the coordinate space convention for OpenGL.
static CoordinateSpace ROS ()
 Return the coordinate space convention for ROS.
static CoordinateSpace Unity ()
 Return the coordinate space convention for Unity.
static CoordinateSpace Unreal ()
 Return the coordinate space convention for Unreal Engine.

Public Attributes

CoordinateSpaceAxes axes = CoordinateSpaceAxes::Default
double unitsPerMeter = 1.0

Detailed Description

Coordinate-axis convention and linear unit scale.

Definition at line 165 of file coordinate_space.h.

Constructor & Destructor Documentation

◆ CoordinateSpace() [1/2]

superdex::CoordinateSpace::CoordinateSpace ( )
constexprdefault

◆ CoordinateSpace() [2/2]

superdex::CoordinateSpace::CoordinateSpace ( CoordinateSpaceAxes inAxes,
double inUnitsPerMeter )
inlineconstexpr

Definition at line 172 of file coordinate_space.h.

Member Function Documentation

◆ Default()

CoordinateSpace superdex::CoordinateSpace::Default ( )
inlinestaticnodiscard

Return the default coordinate space convention for Mochi.

Definition at line 191 of file coordinate_space.h.

◆ Filament()

CoordinateSpace superdex::CoordinateSpace::Filament ( )
inlinestaticnodiscard

Return the coordinate space convention for Filament.

Definition at line 196 of file coordinate_space.h.

◆ GetForward()

Real3 superdex::CoordinateSpace::GetForward ( ) const
nodiscard

Return the unit vector pointing forward, in this space's own coordinates.

◆ GetRight()

Real3 superdex::CoordinateSpace::GetRight ( ) const
nodiscard

Return the unit vector pointing right, in this space's own coordinates.

◆ GetUp()

Real3 superdex::CoordinateSpace::GetUp ( ) const
nodiscard

Return the unit vector pointing up, in this space's own coordinates.

◆ OpenGL()

CoordinateSpace superdex::CoordinateSpace::OpenGL ( )
inlinestaticnodiscard

Return the coordinate space convention for OpenGL.

Definition at line 201 of file coordinate_space.h.

◆ operator!=()

bool superdex::CoordinateSpace::operator!= ( CoordinateSpace const & rhs) const
constexprdefault

◆ operator==()

bool superdex::CoordinateSpace::operator== ( CoordinateSpace const & rhs) const
constexprdefault

◆ ROS()

CoordinateSpace superdex::CoordinateSpace::ROS ( )
inlinestaticnodiscard

Return the coordinate space convention for ROS.

Definition at line 206 of file coordinate_space.h.

◆ Unity()

CoordinateSpace superdex::CoordinateSpace::Unity ( )
inlinestaticnodiscard

Return the coordinate space convention for Unity.

Definition at line 211 of file coordinate_space.h.

◆ Unreal()

CoordinateSpace superdex::CoordinateSpace::Unreal ( )
inlinestaticnodiscard

Return the coordinate space convention for Unreal Engine.

Definition at line 216 of file coordinate_space.h.

◆ Validate()

void superdex::CoordinateSpace::Validate ( Error & error) const

Validate that axes is a complete convention and unitsPerMeter is finite and positive.

Member Data Documentation

◆ axes

CoordinateSpaceAxes superdex::CoordinateSpace::axes = CoordinateSpaceAxes::Default

Definition at line 166 of file coordinate_space.h.

◆ unitsPerMeter

double superdex::CoordinateSpace::unitsPerMeter = 1.0

Definition at line 169 of file coordinate_space.h.


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