53 template <
class T>
static T Sqrt(T val) {
return sqrt(val);}
55 template <
class T>
static T
Abs(T val) {
return fabs(val);}
56 static int Abs(
int val) {
if (val>0)
return val;
else return -val;}
57 template <
class T>
static T
Sin(T val) {
return sin(val);}
58 template <
class T>
static T
Cos(T val) {
return cos(val);}
59 template <
class T>
static T
Tan(T val) {
return tan(val);}
65 template <
class T>
static T
Squared(T val) {
return val*val;}
67 template <
class T>
static int NumDigits(T val);
68 template <
class T>
static double GetNormalizedValueRespectingLength(T val);
71 static bool isEqual(
int32 lhs,
int32 rhs,
int32 tolerance=std::numeric_limits<int32>::epsilon());
73 static bool isEqual(
uint32 lhs,
uint32 rhs,
uint32 tolerance=std::numeric_limits<uint32>::epsilon());
74 static bool isEqual(
float32 lhs,
float32 rhs,
float32 tolerance=std::numeric_limits<float32>::epsilon());
75 static bool isEqual(
float64 lhs,
float64 rhs,
float64 tolerance=std::numeric_limits<float64>::epsilon());
80 static float32 unitRandom32(
void);
82 static float64 unitRandom64(
void);
84 static int rangeRandom(
int iLow,
int iHigh);
87 static bool randomBool(
void);
94 template <
class T>
static T clamp(T val, T minval, T maxval);
102 template <
class T>
static DtVector3<T> toCartesian(T thetaDegrees, T phiDegrees,
bool flipYZ);
105 template <
class T>
static bool linePlaneIntersection(
const DtVector3<T>& linePoint1,
const DtVector3<T>& linePoint2,
111 template <
class T>
static bool isFinite(T n);
113 template <
class T>
static T Min(T lhs, T rhs);
114 template <
class T>
static T Max(T lhs, T rhs);
136 Assert(minval <= maxval &&
"Invalid clamp range");
173 T theta = toRadians(thetaDegrees);
174 T phi = toRadians(phiDegrees);
183 T temp = vPosition.
y;
184 vPosition.
y = vPosition.
z;
210 intersect = (lineDir *
w) + linePoint1;
229 return normalizedValue;
236 && (n != +std::numeric_limits<T>::infinity())
237 && (n != -std::numeric_limits<T>::infinity())
static T clamp(T val, T minval, T maxval)
Clamping routines.
Definition: DtMath.h:134
static const float32 PI
Definition: DtMath.h:122
static T Sin(T val)
Standard math routines.
Definition: DtMath.h:57
DtRadians(float32 fVal)
Definition: DtMath.h:37
static T Squared(T val)
Standard math routines.
Definition: DtMath.h:65
virtual ~DtRadians()
Definition: DtMath.h:38
T x
Definition: DtVector4.h:62
float32 myVal
Definition: DtMath.h:44
static const float32 PI_BY_3
Definition: DtMath.h:124
static double GetNormalizedValueRespectingLength(T val)
Standard math routines.
Definition: DtMath.h:226
static T Cos(T val)
Standard math routines.
Definition: DtMath.h:58
static const float32 PI_BY_6
Definition: DtMath.h:126
DtDegrees(float32 fVal)
Definition: DtMath.h:24
T dotProduct(const DtVector3 &rhs) const
Definition: DtVector3.h:222
float32 val() const
Definition: DtMath.h:39
static T negativeInfinity(void)
Definition: DtMath.h:119
static const float32 PI_BY_4
Definition: DtMath.h:125
static bool isFinite(T n)
Definition: DtMath.h:233
double float64
Definition: DtCommonTypes.h:34
T y
Definition: DtVector2.h:63
T z
Definition: DtVector3.h:87
T max(const T v0, const T v1)
Definition: exprtk.hpp:1409
static const float32 TWO_PI
Definition: DtMath.h:121
static int NumDigits(T val)
Standard math routines.
Definition: DtMath.h:215
x y t t *t x y t t t x y t t t x *y t *t t x *y t *t t x y t t t x y t t t x *y t *t t x *y t *t *t x y *z w
Definition: exprtk.hpp:9210
T x
Definition: DtVector3.h:87
Forward declarations for Vectors.
DtDegrees()
Definition: DtMath.h:30
static bool linePlaneIntersection(const DtVector3< T > &linePoint1, const DtVector3< T > &linePoint2, const DtVector3< T > &planePoint, const DtVector3< T > &planeNormal, DtVector3< T > &intersect, float &w)
Basic intersections.
Definition: DtMath.h:192
static const float32 m_fConvertToDegrees
Definition: DtMath.h:129
4 dimensional vector
Definition: DtVector4.h:24
T min(const T v0, const T v1)
Definition: exprtk.hpp:1402
static T Tan(T val)
Standard math routines.
Definition: DtMath.h:59
static DtVector3< T > toCartesian(T thetaDegrees, T phiDegrees, bool flipYZ)
Definition: DtMath.h:171
static int Abs(int val)
Standard math routines.
Definition: DtMath.h:56
float float32
Definition: DtCommonTypes.h:33
T z
Definition: DtVector4.h:62
static T Max(T lhs, T rhs)
Definition: DtMath.h:255
static const float32 PI_BY_2
Definition: DtMath.h:123
T w
Definition: DtVector4.h:62
T y
Definition: DtVector3.h:87
static T positiveInfinity(void)
Definition: DtMath.h:118
DtRadians()
Definition: DtMath.h:43
Math utilities.
Definition: DtMath.h:49
virtual ~DtDegrees()
Definition: DtMath.h:25
void normalize(void)
Definition: DtVector3.h:121
2 dimensional vector
Definition: DtVector3.h:26
unsigned int uint32
Definition: DtCommonTypes.h:28
#define DT_DLL_VRVGRAPHICSUTILS
Definition: vrvGraphicsUtils.h:18
float32 myVal
Definition: DtMath.h:31
T x
Definition: DtVector2.h:63
static T Min(T lhs, T rhs)
Definition: DtMath.h:242
float32 val() const
Definition: DtMath.h:26
T y
Definition: DtVector4.h:62
static const float32 Gravity
Definition: DtMath.h:127
static const float32 m_fConvertToRadians
Definition: DtMath.h:128
static T Abs(T val)
Standard math routines.
Definition: DtMath.h:55
2 dimensional vector
Definition: DtVector2.h:24
#define Assert(exp)
Definition: DtAssert.h:25