Image Component Library (ICL)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Namespaces | Typedefs | Functions
GeomDefs.h File Reference
#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 >
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
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines