22 template <
class T,
class F>
23 inline T
mix(
const T &v1,
const T &v2,
const F t)
25 return t * v2 + (F(1.0) - t) * v1;
27 template <
class T,
class F>
28 inline T
Lerp(
const T &v1,
const T &v2,
const F t)
30 return mix(v1, v2, t);
40 if (std::abs(a.
x) > std::abs(a.
y)) {
41 if (std::abs(a.
y) > std::abs(a.
z))
46 if (std::abs(a.
x) > std::abs(a.
z))
69 const vector3d z = (eye - target).NormalizedSafe();
78 bool TestDistanceFromLine();
static matrix3x3 FromVectors(const vector3< double > &rx, const vector3< double > &ry, const vector3< double > &rz)
Definition matrix3x3.h:68
T y
Definition vector3.h:18
T x
Definition vector3.h:18
T z
Definition vector3.h:18
vector3 Normalized() const
Definition vector3.h:125
vector3 Cross(const vector3 &b) const
Definition vector3.h:117
Definition MathUtil.cpp:7
vector3d RandomPointOnSphere(double minRadius, double maxRadius)
Definition MathUtil.cpp:9
matrix4x4f Inverse(const matrix4x4f &cell)
Definition MathUtil.cpp:33
vector3< T > OrthogonalDirection(const vector3< T > &a)
Definition MathUtil.h:37
T mix(const T &v1, const T &v2, const F t)
Definition MathUtil.h:23
T Lerp(const T &v1, const T &v2, const F t)
Definition MathUtil.h:28
float Dot(const vector3f &a, const vector3f &b)
Definition MathUtil.h:33
float DistanceFromLineSegment(const vector3f &start, const vector3f &end, const vector3f &pos, bool &isWithinLineSegment)
Definition MathUtil.cpp:246
vector3d RandomPointInCircle(double minRadius, double maxRadius)
Definition MathUtil.cpp:20
matrix4x4f InverseSlow(const matrix4x4f &cell)
Definition MathUtil.cpp:54
vector3d RandomPointOnCircle(double radius)
Definition MathUtil.h:19
float DistanceFromLine(const vector3f &start, const vector3f &end, const vector3f &pos)
Definition MathUtil.cpp:265
matrix4x4f Transpose(const matrix4x4f &cell)
Definition MathUtil.cpp:183