VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Static Public Member Functions | Static Public Attributes
makVrv::DtMath Class Reference

Math utilities.

Static Public Member Functions

static uint32 getUpperPowerOfTwo (uint32 val)
 
static uint32 getLowerPowerOfTwo (uint32 val)
 
static bool isPowerOf2 (uint32 i)
 
static uint32 nextPowerOf2 (uint32 i)
 
static std::string formatBytes (uint64_t sizeInBytes)
 
template<class T >
static DtVector3< T > toCartesian (T thetaDegrees, T phiDegrees, bool flipYZ)
 
template<class T >
static bool isFinite (T n)
 
template<class T >
static T Min (T lhs, T rhs)
 
template<class T >
static T Max (T lhs, T rhs)
 
static double fractional (double val)
 
static unsigned int tilelog2 (unsigned int x)
 
template<class T >
static T rpmToRadiansPerSec (T rpm)
 
template<class T >
static T radiansPerSecToRpm (T radiansPerSec)
 
template<class T >
static T positiveInfinity (void)
 
template<class T >
static T negativeInfinity (void)
 
template<class T >
static T Sqrt (T val)
 
template<class T >
static T Abs (T val)
 
static int Abs (int val)
 
template<class T >
static T Sin (T val)
 
template<class T >
static T Cos (T val)
 
template<class T >
static T Tan (T val)
 
static float Sin (const DtDegrees &val)
 
static float Cos (const DtDegrees &val)
 
static float Tan (const DtDegrees &val)
 
template<class T >
static T Squared (T val)
 
template<class T >
static int NumDigits (T val)
 
template<class T >
static double GetNormalizedValueRespectingLength (T val)
 
static bool isEqual (int32 lhs, int32 rhs, int32 tolerance=std::numeric_limits< int32 >::epsilon())
 
static bool isEqual (uint32 lhs, uint32 rhs, uint32 tolerance=std::numeric_limits< uint32 >::epsilon())
 
static bool isEqual (float32 lhs, float32 rhs, float32 tolerance=std::numeric_limits< float32 >::epsilon())
 
static bool isEqual (float64 lhs, float64 rhs, float64 tolerance=std::numeric_limits< float64 >::epsilon())
 
static float32 unitRandom32 (void)
 
static float64 unitRandom64 (void)
 
static int rangeRandom (int iLow, int iHigh)
 
static float32 rangeRandom (float32 fLow, float32 fHigh)
 
static float64 rangeRandom (float64 fLow, float64 fHigh)
 
static bool randomBool (void)
 
template<class T >
static T clamp (T val, T minval, T maxval)
 
template<class T >
static DtVector2< T > clamp (const DtVector2< T > &val, const DtVector2< T > &minval, const DtVector2< T > &maxval)
 
template<class T >
static DtVector3< T > clamp (const DtVector3< T > &val, const DtVector3< T > &minval, const DtVector3< T > &maxval)
 
template<class T >
static DtVector4< T > clamp (const DtVector4< T > &val, const DtVector4< T > &minval, const DtVector4< T > &maxval)
 
template<class T >
static T lerp (T a, T b, T t)
 
template<class T >
static DtVector2< T > lerp (const DtVector2< T > &va, const DtVector2< T > &vb, const T t)
 
template<class T >
static DtVector3< T > lerp (const DtVector3< T > &va, const DtVector3< T > &vb, const T t)
 
template<class T >
static DtVector4< T > lerp (const DtVector4< T > &va, const DtVector4< T > &vb, const T t)
 
template<class T >
static bool linePlaneIntersection (const DtVector3< T > &linePoint1, const DtVector3< T > &linePoint2, const DtVector3< T > &planePoint, const DtVector3< T > &planeNormal, DtVector3< T > &intersect, float &w)
 

Static Public Attributes

static const float32 TWO_PI
 
static const float32 PI
 
static const float32 PI_BY_2
 
static const float32 PI_BY_3
 
static const float32 PI_BY_4
 
static const float32 PI_BY_6
 
static const float32 Gravity
 
static const float32 m_fConvertToRadians
 
static const float32 m_fConvertToDegrees
 

Member Function Documentation

template<class T >
static T makVrv::DtMath::Sqrt ( val)
inlinestatic
template<class T >
static T makVrv::DtMath::Abs ( val)
inlinestatic

Standard math routines.

Referenced by makVrv::DtVector3< T >::absDotProduct().

static int makVrv::DtMath::Abs ( int  val)
inlinestatic

Standard math routines.

template<class T >
static T makVrv::DtMath::Sin ( val)
inlinestatic
template<class T >
static T makVrv::DtMath::Cos ( val)
inlinestatic
template<class T >
static T makVrv::DtMath::Tan ( val)
inlinestatic

Standard math routines.

static float makVrv::DtMath::Sin ( const DtDegrees val)
static

Standard math routines.

static float makVrv::DtMath::Cos ( const DtDegrees val)
static

Standard math routines.

static float makVrv::DtMath::Tan ( const DtDegrees val)
static

Standard math routines.

template<class T >
static T makVrv::DtMath::Squared ( val)
inlinestatic

Standard math routines.

Referenced by makVrv::DtMatrixUtils< T >::matrixRotation_3x3().

template<class T >
int makVrv::DtMath::NumDigits ( val)
static

Standard math routines.

template<class T >
double makVrv::DtMath::GetNormalizedValueRespectingLength ( val)
static

Standard math routines.

static bool makVrv::DtMath::isEqual ( int32  lhs,
int32  rhs,
int32  tolerance = std::numeric_limits< int32 >::epsilon() 
)
static
static bool makVrv::DtMath::isEqual ( uint32  lhs,
uint32  rhs,
uint32  tolerance = std::numeric_limits< uint32 >::epsilon() 
)
static

Standard math routines.

static bool makVrv::DtMath::isEqual ( float32  lhs,
float32  rhs,
float32  tolerance = std::numeric_limits< float32 >::epsilon() 
)
static

Standard math routines.

static bool makVrv::DtMath::isEqual ( float64  lhs,
float64  rhs,
float64  tolerance = std::numeric_limits< float64 >::epsilon() 
)
static

Standard math routines.

static float32 makVrv::DtMath::unitRandom32 ( void  )
static

Random number generation routines.

static float64 makVrv::DtMath::unitRandom64 ( void  )
static

Random number generation routines.

static int makVrv::DtMath::rangeRandom ( int  iLow,
int  iHigh 
)
static

Random number generation routines.

static float32 makVrv::DtMath::rangeRandom ( float32  fLow,
float32  fHigh 
)
static

Random number generation routines.

static float64 makVrv::DtMath::rangeRandom ( float64  fLow,
float64  fHigh 
)
static

Random number generation routines.

static bool makVrv::DtMath::randomBool ( void  )
static

Random number generation routines.

static uint32 makVrv::DtMath::getUpperPowerOfTwo ( uint32  val)
static
static uint32 makVrv::DtMath::getLowerPowerOfTwo ( uint32  val)
static
static bool makVrv::DtMath::isPowerOf2 ( uint32  i)
static

whether is a power of 2 From Bit Twiddling Hacks (website)

static uint32 makVrv::DtMath::nextPowerOf2 ( uint32  i)
static

get the next power of 2 From Bit Twiddling Hacks (website)

static std::string makVrv::DtMath::formatBytes ( uint64_t  sizeInBytes)
static

format a size in bytes to a string like Mb, Kb and so on

template<class T >
T makVrv::DtMath::clamp ( val,
minval,
maxval 
)
static

Clamping routines.

References Assert.

Referenced by clamp().

template<class T >
DtVector2< T > makVrv::DtMath::clamp ( const DtVector2< T > &  val,
const DtVector2< T > &  minval,
const DtVector2< T > &  maxval 
)
static

Clamping routines.

References clamp(), makVrv::DtVector2< T >::x, and makVrv::DtVector2< T >::y.

template<class T >
DtVector3< T > makVrv::DtMath::clamp ( const DtVector3< T > &  val,
const DtVector3< T > &  minval,
const DtVector3< T > &  maxval 
)
static
template<class T >
DtVector4< T > makVrv::DtMath::clamp ( const DtVector4< T > &  val,
const DtVector4< T > &  minval,
const DtVector4< T > &  maxval 
)
static
template<class T >
T makVrv::DtMath::lerp ( a,
b,
t 
)
inlinestatic

Lerping routines.

template<class T >
DtVector2< T > makVrv::DtMath::lerp ( const DtVector2< T > &  va,
const DtVector2< T > &  vb,
const T  t 
)
inlinestatic

Lerping routines.

template<class T >
DtVector3< T > makVrv::DtMath::lerp ( const DtVector3< T > &  va,
const DtVector3< T > &  vb,
const T  t 
)
inlinestatic

Lerping routines.

template<class T >
DtVector4< T > makVrv::DtMath::lerp ( const DtVector4< T > &  va,
const DtVector4< T > &  vb,
const T  t 
)
inlinestatic

Lerping routines.

template<class T >
DtVector3< T > makVrv::DtMath::toCartesian ( thetaDegrees,
phiDegrees,
bool  flipYZ 
)
static
template<class T >
bool makVrv::DtMath::linePlaneIntersection ( const DtVector3< T > &  linePoint1,
const DtVector3< T > &  linePoint2,
const DtVector3< T > &  planePoint,
const DtVector3< T > &  planeNormal,
DtVector3< T > &  intersect,
float &  w 
)
static
template<class T >
bool makVrv::DtMath::isFinite ( n)
static
template<class T >
T makVrv::DtMath::Min ( lhs,
rhs 
)
static
template<class T >
T makVrv::DtMath::Max ( lhs,
rhs 
)
static
static double makVrv::DtMath::fractional ( double  val)
static

fractional part of a number

static unsigned int makVrv::DtMath::tilelog2 ( unsigned int  x)
static
template<class T >
T makVrv::DtMath::rpmToRadiansPerSec ( rpm)
static

rpm to radians per sec

References PI.

template<class T >
T makVrv::DtMath::radiansPerSecToRpm ( radiansPerSec)
static

radians per sec to rpm

References PI.

template<class T >
static T makVrv::DtMath::positiveInfinity ( void  )
inlinestatic
template<class T >
static T makVrv::DtMath::negativeInfinity ( void  )
inlinestatic

Member Data Documentation

const float32 makVrv::DtMath::TWO_PI
static
const float32 makVrv::DtMath::PI
static
const float32 makVrv::DtMath::PI_BY_2
static
const float32 makVrv::DtMath::PI_BY_3
static
const float32 makVrv::DtMath::PI_BY_4
static
const float32 makVrv::DtMath::PI_BY_6
static
const float32 makVrv::DtMath::Gravity
static
const float32 makVrv::DtMath::m_fConvertToRadians
static
const float32 makVrv::DtMath::m_fConvertToDegrees
static

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

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)