Image Component Library (ICL)
|
Classes | |
class | Camera |
Camera class. More... | |
class | ComplexCoordinateFrameSceneObject |
Special SceneObject implementation that define a visible coordinate frame. More... | |
class | CoordinateFrameSceneObject |
Special SceneObject implementation that define a visible coordinate frame. More... | |
class | CoplanarPointPoseEstimator |
Utility class that allows for 6D pose estimation from a set of at least 4 coplanar points. More... | |
struct | DataSegment |
The DataSegment class defines a strided data segment (or 1D or 2D ordred array of vectors) More... | |
struct | DataSegment< T, 1 > |
template specialization for data-segments, where each entry is just 1D More... | |
struct | DataSegmentBase |
Abstract data segment class. More... | |
class | DepthCameraPointCloudGrabber |
PointCloudGrabber implementation for 2D core::depth-image based creation of point clouds. More... | |
class | GridSceneObject |
SceneObject specialization for grid like objects. More... | |
struct | Hit |
utility structure that defines a hit between a ViewRay and SceneObjects More... | |
class | ICP |
Implementaiton of the Iterator Closest utils::Point (ICP) Algorithm. More... | |
class | OctreeObject |
The OctreeObjects provides a visualizable SceneObject interface for the Octree class. More... | |
class | OpenCVCamCalib |
Cameracalibration using OpenCV functions. More... | |
class | PCDFileGrabber |
class | PCLPointCloudObject |
PointCloudObject implementation for the PCLPointCloud types. More... | |
struct | PlaneEquation |
Utility structure for calculation of view-ray / plane intersections. More... | |
struct | Plot3D |
Specialized 3D visualization component intended for 3D-box plots (needs ICLGeom-library to be linked) More... | |
class | PlotHandle3D |
Handle class for image components. More... | |
class | PlotWidget3D |
class | PointCloudCreator |
Utility class that allows to create 3D (optionally colored) point clouds from given 2D core::depth images. More... | |
class | PointCloudCreatorCL |
struct | PointCloudGrabber |
Generic interface for PointCloud sources. More... | |
class | PointCloudNormalEstimator |
class | PointCloudObject |
Base implementation of the SceneObjectBase interface for compability with common icl::SceneObjects. More... | |
class | PointCloudObjectBase |
Base class for point cloud data types. More... | |
class | PoseEstimator |
Utility class for 6D PoseEstimation. More... | |
class | Posit |
Implementation of the posit algorithm for 6D pose detection from a single camera. More... | |
struct | Primitive |
Abastract base type for geoemtric primitives. More... | |
struct | LinePrimitive |
line primitive (the line references 2 vertices) More... | |
struct | TrianglePrimitive |
triangle primitive More... | |
struct | QuadPrimitive |
quad primitive More... | |
struct | PolygonPrimitive |
polygon primitive More... | |
struct | AlphaFuncProperty |
extra base class for primitives, that use a special alpha function (in particular textures) More... | |
struct | TexturePrimitive |
Texture Primitive. More... | |
class | TextureGridPrimitive |
Special texture Primitive for single textures spread over a regular grid of vertices. More... | |
class | TwoSidedTextureGridPrimitive |
struct | SharedTexturePrimitive |
The shared texture primitive references a texture from the parent SceneObject. More... | |
struct | GenericTexturePrimitive |
Texture Primitive for rendering textures with arbitrary texture coordinates. More... | |
struct | TextPrimitive |
Text Texture. More... | |
class | RayCastOctreeObject |
Special Octree implemenation that supports to query points close to caste rays. More... | |
class | RGBDMapping |
Utility class for RGBDMapping. More... | |
class | Scene |
Scene Implementation that is used to handle a list of objects and cameras. More... | |
class | SceneLight |
Wrapper class for OpenGL lights. More... | |
class | SceneLightObject |
The scene light object looks like a light bulb and represents an OpenGL light. More... | |
struct | MouseMappingTableEntry |
mouse mapping table entry More... | |
struct | MouseSensitivities |
mouse sensitivities More... | |
class | SceneMouseHandler |
Class providing a mouse handler for class scene. More... | |
class | SceneObject |
The SceneObject class defines visible objects in scenes or scene graph nodes. More... | |
class | SceneObjectBase |
The SceneObjectBase class defines and abstract interface for visible entities in 3D scenes. More... | |
class | Segmentation3D |
class | SoftPosit |
struct | ViewRay |
This is a view-ray's line equation in parameter form. More... | |
Typedefs | |
typedef core::Color4D32f | GeomColor |
color for geometry primitives | |
typedef math::FixedMatrix < icl32f, 4, 4 > | Mat4D32f |
Matrix Typedef of float matrices. | |
typedef math::FixedMatrix < icl64f, 4, 4 > | Mat4D64f |
Matrix Typedef of double matrices. | |
typedef math::FixedColVector < icl32f, 4 > | Vec4D32f |
Vector typedef of float vectors. | |
typedef math::FixedColVector < icl64f, 4 > | Vec4D64f |
Vector typedef of double vectors. | |
typedef Vec4D32f | Vec |
Short typedef for 4D float vectors. | |
typedef Mat4D32f | Mat |
Short typedef for 4D float matrices. | |
typedef math::FixedColVector < icl32f, 3 > | Vec3 |
another shortcut for 3D vectors | |
typedef std::vector< Vec > | VecArray |
typedef for vector of Vec instances | |
typedef void(* | MouseActionCallback )(const qt::MouseEvent &, const utils::Point32f &, const utils::Point32f &, Camera &, void *) |
Mouse action function pointer. | |
Enumerations | |
enum | PrimitiveType { vertexPrimitive = 1<<0, linePrimitive = 1<<1, trianglePrimitive = 1<<2, quadPrimitive = 1<<3, polygonPrimitive = 1<<4, texturePrimitive = 1<<5, textPrimitive = 1<<6, noPrimitive = 1<<7, PRIMITIVE_TYPE_COUNT = 8 } |
enum | MouseSensitivitiesModifier { LowMouseSensitivity = 0, NormalMouseSensitivity = 1, HighMouseSensitivity = 2, MAX_MOUSE_SENSITIVITY = HighMouseSensitivity } |
mouse sensitivities modifier More... | |
Functions | |
std::ostream & | operator<< (std::ostream &os, const Camera &cam) |
ostream operator (writes camera in XML core::format) | |
std::istream & | operator>> (std::istream &is, Camera &cam) throw (utils::ParseException) |
istream operator parses a camera from an XML-string | |
GeomColor | geom_white (float alpha=255) |
inline utililty function to create a white color instance | |
GeomColor | geom_red (float alpha=255) |
inline utililty function to create a red color instance | |
GeomColor | geom_blue (float alpha=255) |
inline utililty function to create a blue color instance | |
GeomColor | geom_green (float alpha=255) |
inline utililty function to create a green color instance | |
GeomColor | geom_yellow (float alpha=255) |
inline utililty function to create a yellow color instance | |
GeomColor | geom_magenta (float alpha=255) |
inline utililty function to create a magenta color instance | |
GeomColor | geom_cyan (float alpha=255) |
inline utililty function to create a cyan color instance | |
GeomColor | geom_black (float alpha=255) |
inline utililty function to create a cyan color instance | |
GeomColor | geom_invisible () |
inline utililty function to create an invisible color instance (alpha is 0.0f) | |
template<class T > | |
T | linear_interpolate (const T &a, const T &b, float x) |
linearly interpolates between a, b (x must be in range [0,1]) | |
float | 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 | 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 | bilinear_interpolate (const Vec corners[4], float x, float y) |
bilinear vector interpolation | |
template<class T > | |
math::FixedColVector< T, 4 > | normalize (const math::FixedMatrix< T, 1, 4 > &v) |
normalize a vector to length 1 | |
template<class T > | |
math::FixedColVector< T, 4 > | normalize3 (const math::FixedMatrix< T, 1, 4 > &v, const double &h=1) |
normalize a vector to length 1 | |
float | sprod3 (const Vec &a, const Vec &b) |
3D scalar (aka dot-) product for 4D homogeneous vectors (ignoring the homegeneous component) | |
float | sqrnorm3 (const Vec &a) |
sqared norm for 4D homogeneous vectors (ignoring the homegeneous component) | |
float | norm3 (const Vec &a) |
3D- euclidian norm for 4D homogeneous vectors (ignoring the homegeneous component) | |
template<class T > | |
math::FixedColVector< T, 4 > | homogenize (const math::FixedMatrix< T, 1, 4 > &v) |
homogenize a vector be normalizing 4th component to 1 | |
template<class T > | |
math::FixedColVector< T, 4 > | project (math::FixedMatrix< T, 1, 4 > v, T z) |
perform perspective projection | |
template<class T > | |
math::FixedColVector< T, 4 > | cross (const math::FixedMatrix< T, 1, 4 > &v1, const math::FixedMatrix< T, 1, 4 > &v2) |
homogeneous 3D cross-product | |
Vec | rotate_vector (const Vec &axis, float angle, const Vec &vec) |
rotates a vector around a given axis | |
std::ostream & | operator<< (std::ostream &s, const PlaneEquation &p) |
ostream operator | |
std::ostream & | operator<< (std::ostream &s, const PointCloudObjectBase::FeatureType t) |
overloaded ostream operator for PointCloudObjectBase::FeatureType | |
std::ostream & | operator<< (std::ostream &s, const ViewRay &vr) |
ostream operator |
typedef core::Color4D32f icl::geom::GeomColor |
color for geometry primitives
typedef Mat4D32f icl::geom::Mat |
Short typedef for 4D float matrices.
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 void(* icl::geom::MouseActionCallback)(const qt::MouseEvent &, const utils::Point32f &, const utils::Point32f &, Camera &, void *) |
Mouse action function pointer.
parameters: const qt::MouseEvent& pMouseEvent, const utils::Point32f& pCurrentMousePosition, const utils::Point32f& pDeltaMousePosition, Camera& pCamera, void* pData
typedef Vec4D32f icl::geom::Vec |
Short typedef for 4D float vectors.
typedef math::FixedColVector<icl32f,3> icl::geom::Vec3 |
another shortcut for 3D vectors
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 std::vector<Vec> icl::geom::VecArray |
typedef for vector of Vec instances
Vec icl::geom::bilinear_interpolate | ( | const Vec | corners[4], |
float | x, | ||
float | y | ||
) | [inline] |
bilinear vector interpolation
corner order ul, ur, ll, lr 0 ----- 1 | | | --> x | 2 ------3 \/ y
math::FixedColVector<T,4> icl::geom::cross | ( | const math::FixedMatrix< T, 1, 4 > & | v1, |
const math::FixedMatrix< T, 1, 4 > & | v2 | ||
) | [inline] |
homogeneous 3D cross-product
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)
The implementation is based on the code of http://www.geometrictools.com which is povided under the terms of the "Boost Software License 1.0" (http://www.boost.org/LICENSE_1_0.txt)
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)
The implementation is based on the code of http://www.geometrictools.com which is povided under the terms of the "Boost Software License 1.0" (http://www.boost.org/LICENSE_1_0.txt)
GeomColor icl::geom::geom_black | ( | float | alpha = 255 | ) | [inline] |
inline utililty function to create a cyan color instance
GeomColor icl::geom::geom_blue | ( | float | alpha = 255 | ) | [inline] |
inline utililty function to create a blue color instance
GeomColor icl::geom::geom_cyan | ( | float | alpha = 255 | ) | [inline] |
inline utililty function to create a cyan color instance
GeomColor icl::geom::geom_green | ( | float | alpha = 255 | ) | [inline] |
inline utililty function to create a green color instance
GeomColor icl::geom::geom_invisible | ( | ) | [inline] |
inline utililty function to create an invisible color instance (alpha is 0.0f)
GeomColor icl::geom::geom_magenta | ( | float | alpha = 255 | ) | [inline] |
inline utililty function to create a magenta color instance
GeomColor icl::geom::geom_red | ( | float | alpha = 255 | ) | [inline] |
inline utililty function to create a red color instance
GeomColor icl::geom::geom_white | ( | float | alpha = 255 | ) | [inline] |
inline utililty function to create a white color instance
GeomColor icl::geom::geom_yellow | ( | float | alpha = 255 | ) | [inline] |
inline utililty function to create a yellow color instance
math::FixedColVector<T,4> icl::geom::homogenize | ( | const math::FixedMatrix< T, 1, 4 > & | v | ) | [inline] |
homogenize a vector be normalizing 4th component to 1
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])
if x is 0, a is returned and if x is 1, b is returned
float icl::geom::norm3 | ( | const Vec & | a | ) | [inline] |
3D- euclidian norm for 4D homogeneous vectors (ignoring the homegeneous component)
math::FixedColVector<T,4> icl::geom::normalize | ( | const math::FixedMatrix< T, 1, 4 > & | v | ) | [inline] |
normalize a vector to length 1
math::FixedColVector<T,4> icl::geom::normalize3 | ( | const math::FixedMatrix< T, 1, 4 > & | v, |
const double & | h = 1 |
||
) | [inline] |
normalize a vector to length 1
std::ostream& icl::geom::operator<< | ( | std::ostream & | s, |
const PlaneEquation & | p | ||
) |
ostream operator
std::ostream& icl::geom::operator<< | ( | std::ostream & | s, |
const ViewRay & | vr | ||
) |
ostream operator
std::ostream& icl::geom::operator<< | ( | std::ostream & | s, |
const PointCloudObjectBase::FeatureType | t | ||
) |
overloaded ostream operator for PointCloudObjectBase::FeatureType
std::ostream& icl::geom::operator<< | ( | std::ostream & | os, |
const Camera & | cam | ||
) |
ostream operator (writes camera in XML core::format)
std::istream& icl::geom::operator>> | ( | std::istream & | is, |
Camera & | cam | ||
) | throw (utils::ParseException) |
istream operator parses a camera from an XML-string
math::FixedColVector<T,4> icl::geom::project | ( | math::FixedMatrix< T, 1, 4 > | v, |
T | z | ||
) | [inline] |
perform perspective projection
Vec icl::geom::rotate_vector | ( | const Vec & | axis, |
float | angle, | ||
const Vec & | vec | ||
) | [inline] |
rotates a vector around a given axis
float icl::geom::sprod3 | ( | const Vec & | a, |
const Vec & | b | ||
) | [inline] |
3D scalar (aka dot-) product for 4D homogeneous vectors (ignoring the homegeneous component)
float icl::geom::sqrnorm3 | ( | const Vec & | a | ) | [inline] |
sqared norm for 4D homogeneous vectors (ignoring the homegeneous component)