Blender V4.3
blender::math::CartesianBasis Struct Reference

#include <BLI_math_basis_types.hh>

Public Member Functions

 CartesianBasis ()=default
 
 CartesianBasis (const AxisSigned x, const AxisSigned y, const AxisSigned z)
 
const AxisSignedx () const
 
const AxisSignedy () const
 
const AxisSignedz () const
 
AxisSignedx ()
 
AxisSignedy ()
 
AxisSignedz ()
 

Public Attributes

VecBase< AxisSigned, 3 > axes = {AxisSigned::X_POS, AxisSigned::Y_POS, AxisSigned::Z_POS}
 

Friends

std::ostream & operator<< (std::ostream &stream, const CartesianBasis &rot)
 

Detailed Description

An blender::math::CartesianBasis represents an orientation that is aligned with the basis axes. This type of rotation is fast, precise and adds more meaning to the code that uses it.

Definition at line 349 of file BLI_math_basis_types.hh.

Constructor & Destructor Documentation

◆ CartesianBasis() [1/2]

blender::math::CartesianBasis::CartesianBasis ( )
default

◆ CartesianBasis() [2/2]

blender::math::CartesianBasis::CartesianBasis ( const AxisSigned x,
const AxisSigned y,
const AxisSigned z )
inline

Create an arbitrary basis orientation. Handedness can be flipped but an axis cannot be present twice.

Definition at line 358 of file BLI_math_basis_types.hh.

References blender::math::abs(), BLI_assert, and z().

Member Function Documentation

◆ x() [1/2]

AxisSigned & blender::math::CartesianBasis::x ( )
inline

Definition at line 380 of file BLI_math_basis_types.hh.

References axes.

◆ x() [2/2]

const AxisSigned & blender::math::CartesianBasis::x ( ) const
inline

Definition at line 365 of file BLI_math_basis_types.hh.

References axes.

Referenced by blender::math::invert(), and blender::math::transform_point().

◆ y() [1/2]

AxisSigned & blender::math::CartesianBasis::y ( )
inline

Definition at line 385 of file BLI_math_basis_types.hh.

References axes.

◆ y() [2/2]

const AxisSigned & blender::math::CartesianBasis::y ( ) const
inline

Definition at line 370 of file BLI_math_basis_types.hh.

References axes.

Referenced by blender::math::invert(), and blender::math::transform_point().

◆ z() [1/2]

AxisSigned & blender::math::CartesianBasis::z ( )
inline

Definition at line 390 of file BLI_math_basis_types.hh.

References axes.

◆ z() [2/2]

const AxisSigned & blender::math::CartesianBasis::z ( ) const
inline

Definition at line 375 of file BLI_math_basis_types.hh.

References axes.

Referenced by CartesianBasis(), blender::math::invert(), and blender::math::transform_point().

Friends And Related Symbol Documentation

◆ operator<<

std::ostream & operator<< ( std::ostream & stream,
const CartesianBasis & rot )
friend

Definition at line 40 of file math_basis_types.cc.

Member Data Documentation

◆ axes

VecBase<AxisSigned, 3> blender::math::CartesianBasis::axes = {AxisSigned::X_POS, AxisSigned::Y_POS, AxisSigned::Z_POS}

Definition at line 350 of file BLI_math_basis_types.hh.

Referenced by blender::math::rotation_between(), x(), x(), y(), y(), z(), and z().


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