Image Component Library (ICL)
|
Go to the source code of this file.
Namespaces | |
namespace | icl |
The ICL-namespace. | |
namespace | icl::math |
Typedefs | |
typedef FixedColVector< icl32f, 3 > | icl::math::Vec3 |
another shortcut for 3D vectors | |
typedef FixedColVector< icl32f, 4 > | icl::math::Vec4 |
another shortcut for 3D vectors | |
typedef FixedMatrix< icl32f, 3, 3 > | icl::math::Mat3 |
typedef for 3x3 fixed matrices | |
typedef FixedMatrix< icl32f, 4, 4 > | icl::math::Mat4 |
typedef for 4x4 fixed matrices | |
Functions | |
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]) | |
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) | |
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) | |
Vec4 | icl::math::bilinear_interpolate (const Vec4 corners[4], float x, float y) |
bilinear vector interpolation | |
template<class T > | |
math::FixedColVector< T, 4 > | icl::math::normalize (const math::FixedMatrix< T, 1, 4 > &v) |
normalize a vector to length 1 | |
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 | |
float | icl::math::sprod3 (const Vec4 &a, const Vec4 &b) |
3D scalar (aka dot-) product for 4D homogeneous vectors (ignoring the homegeneous component) | |
float | icl::math::sqrnorm3 (const Vec4 &a) |
sqared norm for 4D homogeneous vectors (ignoring the homegeneous component) | |
float | icl::math::norm3 (const Vec4 &a) |
3D- euclidian norm for 4D homogeneous vectors (ignoring the homegeneous component) | |
float | icl::math::dist3 (const Vec4 &a, const Vec4 &b) |
3d euclidian distance | |
template<class T > | |
math::FixedColVector< T, 4 > | icl::math::homogenize (const math::FixedMatrix< T, 1, 4 > &v) |
homogenize a vector be normalizing 4th component to 1 | |
template<class T > | |
math::FixedColVector< T, 4 > | icl::math::project (math::FixedMatrix< T, 1, 4 > v, T z) |
perform perspective projection | |
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 | |
Vec4 | icl::math::rotate_vector (const Vec4 &axis, float angle, const Vec4 &vec) |
rotates a vector around a given axis |