lib_math.h File Reference

详细描述

high-level mathematical functions

Classes

class   LinearCongruentialRandom< FLOAT >
class   PseudoRandom< FLOAT >

Namespaces

  maxon

Macros

#define  MATH_VECTOR
#define  MATH_COLOR
#define  MATH_MATRIX
#define  MATH_SQUAREMATRIX
#define  MATH_VECTOR2
#define  MATH_MATRIX2
#define  MATH_SQUAREMATRIX2

Typedefs

using  TransformColorDelegate32 = Delegate< Color32(const Color32 &)>
using  TransformColorDelegate64 = Delegate< Color64(const Color64 &)>
using  TransformColorDelegate = TransformColorDelegate64

Enumerations

enum   ROTATIONORDER {
   ZXYGLOBAL ,
   ZYXGLOBAL ,
   YXZGLOBAL ,
   YZXGLOBAL ,
   XZYGLOBAL ,
   XYZGLOBAL ,
   YXZLOCAL ,
   XYZLOCAL ,
   ZXYLOCAL ,
   XZYLOCAL ,
   YZXLOCAL ,
   ZYXLOCAL
}

函数

template<typename FLOAT >
SqrMat3< Vec3< FLOAT > >  VectorToSquareMatrix (const Vec3< FLOAT > &dirVector, const Vec3< FLOAT > &upVector)
template<typename FLOAT >
SqrMat3< Vec3< FLOAT > >  CheckedVectorToSquareMatrix (const Vec3< FLOAT > &dirVector, const Vec3< FLOAT > &upVector)
template<typename FLOAT >
Mat3< Vec3< FLOAT > >  VectorToMatrix (const Vec3< FLOAT > &dirVector, const Vec3< FLOAT > &upVector)
template<typename FLOAT >
Mat3< Vec3< FLOAT > >  GetTranslationMatrix (const Vec3< FLOAT > &translation)
template<typename FLOAT >
SqrMat3< Vec3< FLOAT > >  GetScaleMatrix (const Vec3< FLOAT > &scale)
template<typename FLOAT >
SqrMat3< Vec3< FLOAT > >  GetRotationMatrixX (FLOAT angle)
template<typename FLOAT >
SqrMat3< Vec3< FLOAT > >  GetRotationMatrixY (FLOAT angle)
template<typename FLOAT >
SqrMat3< Vec3< FLOAT > >  GetRotationMatrixZ (FLOAT angle)
template<typename FLOAT >
Mat2< Vec2< FLOAT > >  GetTranslationMatrix (const Vec2< FLOAT > &translation)
template<typename FLOAT >
SqrMat2< Vec2< FLOAT > >  GetScaleMatrix (const Vec2< FLOAT > &scale)
template<typename FLOAT >
SqrMat2< Vec2< FLOAT > >  GetRotationMatrix (FLOAT angle)
enum maxon::ROTATIONORDER   MAXON_ENUM_LIST ( ROTATIONORDER )
template<typename FLOAT >
Vec3< FLOAT >  GetRotationAngles (const SqrMat3< Vec3< FLOAT >> &m, ROTATIONORDER rotationOrder)
template<typename FLOAT >
Vec3< FLOAT >  GetRotationAngles (const Vec3< FLOAT > &direction, ROTATIONORDER rotationOrder)
template<typename FLOAT >
SqrMat3< Vec3< FLOAT > >  GetRotationMatrix (const Vec3< FLOAT > &rotation, ROTATIONORDER rotationOrder)
template<typename FLOAT >
Mat3< Vec3< FLOAT > >  GetPSRMatrix (const Vec3< FLOAT > &position, const Vec3< FLOAT > &scale, const Vec3< FLOAT > &rotation, ROTATIONORDER rotationOrder)
template<typename FLOAT >
Vec3< FLOAT >  GetOptimumRotation (const Vec3< FLOAT > &oldRotation, const Vec3< FLOAT > &newRotation, ROTATIONORDER rotationOrder)
template<typename FLOAT >
Vec3< FLOAT >  GetClosestPointOnLine (const Vec3< FLOAT > &lineOrigin, const Vec3< FLOAT > &lineDirection, const Vec3< FLOAT > &point)
template<typename FLOAT >
FLOAT  GetPointLineDistance (const Vec3< FLOAT > &lineOrigin, const Vec3< FLOAT > &lineDirection, const Vec3< FLOAT > &point)
template<typename FLOAT >
Vec3< FLOAT >  ReflectRay (const Vec3< FLOAT > &direction, const Vec3< FLOAT > &normal)
template<typename FLOAT >
Vec3< FLOAT >  RGBToHSV (const Col3< FLOAT > &color)
template<typename FLOAT >
Col3< FLOAT >  HSVToRGB (const Vec3< FLOAT > &color)
template<typename FLOAT >
Vec3< FLOAT >  RGBToHSL (const Col3< FLOAT > &color)
template<typename FLOAT >
Col3< FLOAT >  HSLToRGB (const Vec3< FLOAT > &color)
template<typename FLOAT >
void  GetRotationAxis (const SqrMat3< Vec3< FLOAT >> &m, Vec3< FLOAT > &axisVector, FLOAT &axisRotation)
template<typename FLOAT >
SqrMat3< Vec3< FLOAT > >  GetRotationMatrixFromAxis (const Vec3< FLOAT > &axisVector, FLOAT axisRotation)
template<typename MATRIXTYPE >
Bool   IsMatrixRectangular (const MATRIXTYPE &m, typename MATRIXTYPE::ValueType epsilon=1e-10_f)
template<typename ITERABLETYPE >
MAXON_ATTRIBUTE_FORCE_INLINE std::remove_reference< ITERABLETYPE >::type::ValueType  GetSum (ITERABLETYPE &&array)
template<typename ITERABLETYPE >
MAXON_ATTRIBUTE_FORCE_INLINE std::remove_reference< ITERABLETYPE >::type::ValueType  GetAverage (ITERABLETYPE &&array)

变量

  ZXYGLOBAL
  ZYXGLOBAL
  YXZGLOBAL
  YZXGLOBAL
  XZYGLOBAL
  XYZGLOBAL
  YXZLOCAL
  XYZLOCAL
  ZXYLOCAL
  XZYLOCAL
  YZXLOCAL
  ZYXLOCAL

Variable Documentation

◆  ZXYGLOBAL

ZXYGLOBAL

◆  ZYXGLOBAL

ZYXGLOBAL

◆  YXZGLOBAL

YXZGLOBAL

◆  YZXGLOBAL

YZXGLOBAL

◆  XZYGLOBAL

XZYGLOBAL

◆  XYZGLOBAL

XYZGLOBAL

◆  YXZLOCAL

YXZLOCAL

◆  XYZLOCAL

XYZLOCAL

◆  ZXYLOCAL

ZXYLOCAL

◆  XZYLOCAL

XZYLOCAL

◆  YZXLOCAL

YZXLOCAL

◆  ZYXLOCAL

ZYXLOCAL