|
template<class T > |
T | icl::math::linear_interpolate (const T &a, const T &b, float x) |
| linearly interpolates between a, b (x must be in range [0,1]) More...
|
|
ICLMath_API float | icl::math::dist_point_linesegment (const Vec4 &p, const Vec4 &lineStart, const Vec4 &lineEnd, Vec4 *nearestPoint=0) |
| distance from point p to line segment (lineStart -> lineEnd) More...
|
|
ICLMath_API float | icl::math::dist_point_triangle (const Vec4 &p, const Vec4 &a, const Vec4 &b, const Vec4 &c, Vec4 *nearestPoint=0) |
| distance from point p to triangle (a - b - c) More...
|
|
Vec4 | icl::math::bilinear_interpolate (const Vec4 corners[4], float x, float y) |
| bilinear vector interpolation More...
|
|
template<class T > |
math::FixedColVector< T, 4 > | icl::math::normalize (const math::FixedMatrix< T, 1, 4 > &v) |
| normalize a vector to length 1 More...
|
|
template<class T > |
math::FixedColVector< T, 4 > | icl::math::normalize3 (const math::FixedMatrix< T, 1, 4 > &v, const double &h=1) |
| normalize a vector to length 1 More...
|
|
float | icl::math::sprod3 (const Vec3 &a, const Vec3 &b) |
| 3D scalar (aka dot-) product for 4D homogeneous vectors (ignoring the homegeneous component) More...
|
|
template<class T > |
FixedMatrix< T, 3, 3 > | icl::math::gramSchmidtOrtho (FixedMatrix< T, 3, 3 > const &mat) |
|
float | icl::math::sprod3 (const Vec4 &a, const Vec4 &b) |
| 3D scalar (aka dot-) product for 4D homogeneous vectors (ignoring the homegeneous component) More...
|
|
float | icl::math::sqrnorm3 (const Vec4 &a) |
| sqared norm for 4D homogeneous vectors (ignoring the homegeneous component) More...
|
|
float | icl::math::norm3 (const Vec4 &a) |
| 3D- euclidian norm for 4D homogeneous vectors (ignoring the homegeneous component) More...
|
|
float | icl::math::dist3 (const Vec4 &a, const Vec4 &b) |
| 3d euclidian distance More...
|
|
template<class T > |
math::FixedColVector< T, 4 > | icl::math::homogenize (const math::FixedMatrix< T, 1, 4 > &v) |
| homogenize a vector by normalizing 4th component to 1 More...
|
|
template<class T > |
math::FixedColVector< T, 4 > | icl::math::project (math::FixedMatrix< T, 1, 4 > v, T z) |
| perform perspective projection More...
|
|
template<class T > |
math::FixedColVector< T, 4 > | icl::math::cross (const math::FixedMatrix< T, 1, 4 > &v1, const math::FixedMatrix< T, 1, 4 > &v2) |
| homogeneous 3D cross-product More...
|
|
template<class T > |
math::FixedColVector< T, 3 > | icl::math::cross (const math::FixedMatrix< T, 1, 3 > &v1, const math::FixedMatrix< T, 1, 3 > &v2) |
|
Vec4 | icl::math::rotate_vector (const Vec4 &axis, float angle, const Vec4 &vec) |
| rotates a vector around a given axis More...
|
|