Image Component Library (ICL)
|
#include <ICLCore/Types.h>
#include <ICLMath/FixedMatrix.h>
#include <ICLMath/FixedVector.h>
#include <vector>
#include <ICLCore/Color.h>
#include <ICLUtils/Point32f.h>
Go to the source code of this file.
Namespaces | |
namespace | icl |
The ICL-namespace. | |
namespace | icl::geom |
Typedefs | |
typedef core::Color4D32f | icl::geom::GeomColor |
color for geometry primitives | |
typedef math::FixedMatrix < icl32f, 4, 4 > | icl::geom::Mat4D32f |
Matrix Typedef of float matrices. | |
typedef math::FixedMatrix < icl64f, 4, 4 > | icl::geom::Mat4D64f |
Matrix Typedef of double matrices. | |
typedef math::FixedColVector < icl32f, 4 > | icl::geom::Vec4D32f |
Vector typedef of float vectors. | |
typedef math::FixedColVector < icl64f, 4 > | icl::geom::Vec4D64f |
Vector typedef of double vectors. | |
typedef Vec4D32f | icl::geom::Vec |
Short typedef for 4D float vectors. | |
typedef Mat4D32f | icl::geom::Mat |
Short typedef for 4D float matrices. | |
typedef math::FixedColVector < icl32f, 3 > | icl::geom::Vec3 |
another shortcut for 3D vectors | |
typedef std::vector< Vec > | icl::geom::VecArray |
typedef for vector of Vec instances | |
Functions | |
GeomColor | icl::geom::geom_white (float alpha=255) |
inline utililty function to create a white color instance | |
GeomColor | icl::geom::geom_red (float alpha=255) |
inline utililty function to create a red color instance | |
GeomColor | icl::geom::geom_blue (float alpha=255) |
inline utililty function to create a blue color instance | |
GeomColor | icl::geom::geom_green (float alpha=255) |
inline utililty function to create a green color instance | |
GeomColor | icl::geom::geom_yellow (float alpha=255) |
inline utililty function to create a yellow color instance | |
GeomColor | icl::geom::geom_magenta (float alpha=255) |
inline utililty function to create a magenta color instance | |
GeomColor | icl::geom::geom_cyan (float alpha=255) |
inline utililty function to create a cyan color instance | |
GeomColor | icl::geom::geom_black (float alpha=255) |
inline utililty function to create a cyan color instance | |
GeomColor | icl::geom::geom_invisible () |
inline utililty function to create an invisible color instance (alpha is 0.0f) | |
template<class T > | |
T | icl::geom::linear_interpolate (const T &a, const T &b, float x) |
linearly interpolates between a, b (x must be in range [0,1]) | |
float | icl::geom::dist_point_linesegment (const Vec &p, const Vec &lineStart, const Vec &lineEnd, Vec *nearestPoint=0) |
distance from point p to line segment (lineStart -> lineEnd) | |
float | icl::geom::dist_point_triangle (const Vec &p, const Vec &a, const Vec &b, const Vec &c, Vec *nearestPoint=0) |
distance from point p to triangle (a - b - c) | |
Vec | icl::geom::bilinear_interpolate (const Vec corners[4], float x, float y) |
bilinear vector interpolation | |
template<class T > | |
math::FixedColVector< T, 4 > | icl::geom::normalize (const math::FixedMatrix< T, 1, 4 > &v) |
normalize a vector to length 1 | |
template<class T > | |
math::FixedColVector< T, 4 > | icl::geom::normalize3 (const math::FixedMatrix< T, 1, 4 > &v, const double &h=1) |
normalize a vector to length 1 | |
float | icl::geom::sprod3 (const Vec &a, const Vec &b) |
3D scalar (aka dot-) product for 4D homogeneous vectors (ignoring the homegeneous component) | |
float | icl::geom::sqrnorm3 (const Vec &a) |
sqared norm for 4D homogeneous vectors (ignoring the homegeneous component) | |
float | icl::geom::norm3 (const Vec &a) |
3D- euclidian norm for 4D homogeneous vectors (ignoring the homegeneous component) | |
template<class T > | |
math::FixedColVector< T, 4 > | icl::geom::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::geom::project (math::FixedMatrix< T, 1, 4 > v, T z) |
perform perspective projection | |
template<class T > | |
math::FixedColVector< T, 4 > | icl::geom::cross (const math::FixedMatrix< T, 1, 4 > &v1, const math::FixedMatrix< T, 1, 4 > &v2) |
homogeneous 3D cross-product | |
Vec | icl::geom::rotate_vector (const Vec &axis, float angle, const Vec &vec) |
rotates a vector around a given axis |