Developer Documentation

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Namespace List
- Namespace Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
ACG Namespace Reference

Namespace providing different geometric functions concerning angles. More...

## Namespaces
| Geometry
| QtWidgets
| SceneGraph

## Classes
class | AtomicCounter
class | BaseSeparableFilterKernel
class | BezierCurveT
class | BilateralBlurFilter
class | BSplineCurveT
class | BSplineSurfaceT
class | ColorCoder
| Class for generating nice colors for doubles. More...
class | ColorGenerator
class | ColorStack
class | ColorTranslator
class | DisplayList
class | DrawMeshBase
class | DrawMeshFaceInput
class | DrawMeshT
| Mesh Drawing Class. More...
class | DualQuaternionT
| DualQuaternion class for representing rigid motions in 3d. More...
class | FBO
class | GaussianBlurFilter
class | GLBox
class | GLCone
class | GLCylinder
class | GLDisk
class | GLFormatInfo
class | GLLineBox
class | GLMatrixT
| 4x4 matrix implementing OpenGL commands. More...
class | GLPartialDisk
class | GLPrimitive
class | GLSphere
class | GLState
struct | GLStateContext
class | GLTrackball
class | GlutExaminer
class | GlutViewer
class | GPUCacheEfficiencyTester
class | GPUCacheOptimizer
class | GPUCacheOptimizerTipsify
class | HaltonColors
| Implementation of halton colors Provides deterministic pseudo-random low-discrepancy colors with a uniform distribution over a visually pleasing subset of HSL space, independent of the number of colors required. Simply instantiate and use get_next_color(). More...
struct | HeapInterfaceT
class | HeapT
class | HuePartitioningColors
class | IRenderer
class | KnotvectorT
class | Matrix4x4T
class | MeshCompiler
struct | MeshCompiler_EdgeTriMapKey
class | MeshCompilerDefaultFaceInput
class | MeshCompilerFaceInput
class | MeshCompilerVertexCompare
class | Noncopyable
class | NumLimitsT
class | PoissonBlurFilter
class | PolyLineT
class | ProgramBase
class | Progress
class | QtColorTranslator
class | QtLasso
class | QuaternionT
class | QueryCounter
class | QueryObject
class | RadialBlurFilter
struct | RenderObject
| Interface class between scenegraph and renderer. More...
class | RenderObjectModifier
| Interface for modifying render objects. More...
struct | RingTriangle
class | ScreenQuad
class | ShaderCache
| Cache for shaders. More...
class | ShaderGenDesc
class | ShaderGenerator
class | ShaderModifier
class | ShaderModifierFile
class | ShaderProgGenerator
class | ShaderStorageBufferObject
class | SmartTaggerET
class | SmartTaggerFT
class | SmartTaggerHT
class | SmartTaggerT
| Smart Tagger. More...
class | SmartTaggerVT
class | StopWatch
class | Texture
class | Texture1D
class | Texture2D
class | Texture3D
class | TextureBuffer
class | TimedTracing
class | Tracing
class | Triangulator
class | UniformBufferObject
class | VertexArrayObject
class | VertexDeclaration
| Class to define the vertex input layout. More...
union | VertexDeclaration_ptr2uint
struct | VertexElement
| Description of one vertex element. More...

## Typedefs
typedef DualQuaternionT< float > | DualQuaternionf
typedef DualQuaternionT< double > | DualQuaterniond
typedef GLMatrixT< float > | GLMatrixf
| typedef
typedef GLMatrixT< double > | GLMatrixd
| typedef
typedef Matrix4x4T< float > | Matrix4x4f
| typedef
typedef Matrix4x4T< double > | Matrix4x4d
| typedef
typedef QuaternionT< float > | Quaternionf
typedef QuaternionT< double > | Quaterniond
typedef VectorT< signed char, 1 > | Vec1c
typedef VectorT< unsigned char, 1 > | Vec1uc
typedef VectorT< signed short int, 1 > | Vec1s
typedef VectorT< unsigned short int, 1 > | Vec1us
typedef VectorT< signed int, 1 > | Vec1i
typedef VectorT< unsigned int, 1 > | Vec1ui
typedef VectorT< float, 1 > | Vec1f
typedef VectorT< double, 1 > | Vec1d
typedef VectorT< signed char, 2 > | Vec2c
typedef VectorT< unsigned char, 2 > | Vec2uc
typedef VectorT< signed short int, 2 > | Vec2s
typedef VectorT< unsigned short int, 2 > | Vec2us
typedef VectorT< signed int, 2 > | Vec2i
typedef VectorT< unsigned int, 2 > | Vec2ui
typedef VectorT< float, 2 > | Vec2f
typedef VectorT< double, 2 > | Vec2d
typedef VectorT< signed char, 3 > | Vec3c
typedef VectorT< unsigned char, 3 > | Vec3uc
typedef VectorT< signed short int, 3 > | Vec3s
typedef VectorT< unsigned short int, 3 > | Vec3us
typedef VectorT< signed int, 3 > | Vec3i
typedef VectorT< unsigned int, 3 > | Vec3ui
typedef VectorT< float, 3 > | Vec3f
typedef VectorT< double, 3 > | Vec3d
typedef VectorT< bool, 3 > | Vec3b
typedef VectorT< signed char, 4 > | Vec4c
typedef VectorT< unsigned char, 4 > | Vec4uc
typedef VectorT< signed short int, 4 > | Vec4s
typedef VectorT< unsigned short int, 4 > | Vec4us
typedef VectorT< signed int, 4 > | Vec4i
typedef VectorT< unsigned int, 4 > | Vec4ui
typedef VectorT< float, 4 > | Vec4f
typedef VectorT< double, 4 > | Vec4d
typedef VectorT< signed char, 6 > | Vec6c
typedef VectorT< unsigned char, 6 > | Vec6uc
typedef VectorT< signed short int, 6 > | Vec6s
typedef VectorT< unsigned short int, 6 > | Vec6us
typedef VectorT< signed int, 6 > | Vec6i
typedef VectorT< unsigned int, 6 > | Vec6ui
typedef VectorT< float, 6 > | Vec6f
typedef VectorT< double, 6 > | Vec6d
typedef ACG::KnotvectorT< double > | Knotvector

## Enumerations
enum | ShaderGenLightType { SG_LIGHT_DIRECTIONAL = 0, SG_LIGHT_POINT, SG_LIGHT_SPOT, SG_LIGHT_FORCE_DWORD = 0xFFFFFFFF }
enum | ShaderGenShadeMode { SG_SHADE_UNLIT = 0, SG_SHADE_FLAT, SG_SHADE_GOURAUD, SG_SHADE_PHONG, SG_SHADE_FORCE_DWORD = 0xFFFFFFFF }
enum | VERTEX_USAGE { VERTEX_USAGE_POSITION = 0, VERTEX_USAGE_NORMAL, VERTEX_USAGE_TEXCOORD, VERTEX_USAGE_COLOR, VERTEX_USAGE_BLENDWEIGHTS, VERTEX_USAGE_BLENDINDICES, VERTEX_USAGE_SHADER_INPUT, VERTEX_USAGE_FORCE_DWORD = 0xFFFFFFFF }
| -— input name in vertex shader ----— More...
enum | MultiplyFrom { MULT_FROM_RIGHT, MULT_FROM_LEFT }

## Functions
bool | checkExtensionSupported (const std::string &_extension)
bool | openGLVersion (const int _major, const int _minor)
void | glVertex (const Vec2i &_v)
| Wrapper: glVertex for Vec2i.
void | glVertex (const Vec2f &_v)
| Wrapper: glVertex for Vec2f.
void | glVertex (const Vec2d &_v)
| Wrapper: glVertex for Vec2d.
void | glVertex (const Vec3f &_v)
| Wrapper: glVertex for Vec3f.
void | glVertex (const Vec3d &_v)
| Wrapper: glVertex for Vec3d.
void | glVertex (const Vec4f &_v)
| Wrapper: glVertex for Vec4f.
void | glVertex (const Vec4d &_v)
| Wrapper: glVertex for Vec4d.
void | glTexCoord (const Vec2f &_t)
| Wrapper: glTexCoord for Vec2f.
void | glTexCoord (const Vec2d &_t)
| Wrapper: glTexCoord for Vec2d.
void | glTexCoord (const Vec3f &_t)
| Wrapper: glTexCoord for Vec3f.
void | glTexCoord (const Vec3d &_t)
| Wrapper: glTexCoord for Vec3d.
void | glTexCoord (const Vec4f &_t)
| Wrapper: glTexCoord for Vec4f.
void | glTexCoord (const Vec4d &_t)
| Wrapper: glTexCoord for Vec4d.
void | glNormal (const Vec3f &_n)
| Wrapper: glNormal for Vec3f.
void | glNormal (const Vec3d &_n)
| Wrapper: glNormal for Vec3d.
void | glColor (const Vec3f &_v)
| Wrapper: glColor for Vec3f.
void | glColor (const Vec3uc &_v)
| Wrapper: glColor for Vec3uc.
void | glColor (const Vec4f &_v)
| Wrapper: glColor for Vec4f.
void | glColor (const Vec4uc &_v)
| Wrapper: glColor for Vec4uc.
std::string | glErrorToString (GLenum _error)
| replaces the gluErrorToString function at least for the standard OpenGL Headers More...
void | glCheckErrors ()
template<class T >
void | Texture2D_buildMipMaps_DataInterpreter (Vec4f *_dst, int _numChannels, int _srcOffset, const void *_src)
void | glText (const Vec3f &_pos, const std::string &_text, void *_font=GLUT_BITMAP_8_BY_13)
| Text output in OpenGL, given 3D text position.
void | glText (const Vec2i &_pos, const std::string &_text, void *_font=GLUT_BITMAP_8_BY_13)
| Text output in OpenGL, given 2D text position.
bool | MeshCompiler_forceUnsharedFaceVertex_InnerValenceSorter (const std::pair< int, int > &a, const std::pair< int, int > &b)
uint | qHash (const MeshCompiler_EdgeTriMapKey &k)
void | stipple_alpha (float _alpha)
template<typename Scalar >
Vec2i | bsplineSpan (Scalar _t, int _degree, const std::vector< Scalar > &_knots)
| Find the span of a parameter value. More...
template<typename Scalar >
void | bsplineBasisFunctions (std::vector< Scalar > &_N, const Vec2i &_span, Scalar _t, const std::vector< Scalar > &_knots)
| Evaluate basis functions in a span. More...
template<typename Scalar >
void | bsplineBasisDerivatives (std::vector< Scalar > &_ders, const Vec2i &_span, Scalar _t, int _der, const std::vector< Scalar > &_knots, std::vector< Scalar > *_functionVals)
| Compute derivatives of basis functions in a span. More...
template<typename Scalar >
Scalar | bsplineBasisFunction (int _i, int _degree, Scalar _t, const std::vector< Scalar > &_knots)
| Evaluate a single basis function. More...
template<typename Scalar >
Scalar | bsplineBasisDerivative (int _i, int _degree, Scalar _t, int _der, const std::vector< Scalar > &_knots)
| Compute derivative of a single basis function. More...
template<typename Scalar >
bool | checkEpsilon (Scalar x)
template<>
bool | checkEpsilon (float x)
template<typename Scalar >
std::ostream & | operator<< (std::ostream &os, const Matrix4x4T< Scalar > &m)
| output matrix to ostream os
template<typename Scalar >
std::istream & | operator>> (std::istream &is, Matrix4x4T< Scalar > &m)
| read the space-separated components of a vector from a stream */
QString | getOpenFileName (QWidget *_parent, const QString &_caption, const QString &_filter, const QString &_start)
QString | getOpenMeshName (QWidget *_parent, const QString &_caption, const QString &_start)
QStringList | getOpenFileNames (QWidget *_parent, const QString &_caption, const QString &_filter, const QString &_start)
QStringList | getOpenMeshNames (QWidget *_parent, const QString &_caption, const QString &_start)
QString | getSaveFileName (QWidget *_parent, const QString &_caption, const QString &_filter, bool _askOW, const QString &_start)
QString | getSaveMeshName (QWidget *_parent, const QString &_caption, bool _askOW, const QString &_start)
QVariantMap | json_to_variant_map (QString json)
template<typename Scalar >
std::ostream & | operator<< (std::ostream &_stream, const KnotvectorT< Scalar > &_knotvector)
template<typename Scalar >
std::istream & | operator>> (std::istream &_is, KnotvectorT< Scalar > &_knotvector)

## Variables
const GLubyte | stippleMask [17][128]

## Detailed Description

Namespace providing different geometric functions concerning angles.

## Typedef Documentation

typedef VectorT<signed char,1> ACG::Vec1c

1-byte signed vector

Definition at line 79 of file VectorT.hh.

typedef VectorT<double,1> ACG::Vec1d

1-double vector

Definition at line 93 of file VectorT.hh.

typedef VectorT<float,1> ACG::Vec1f

1-float vector

Definition at line 91 of file VectorT.hh.

typedef VectorT<signed int,1> ACG::Vec1i

1-int signed vector

Definition at line 87 of file VectorT.hh.

typedef VectorT<signed short int,1> ACG::Vec1s

1-short signed vector

Definition at line 83 of file VectorT.hh.

typedef VectorT<unsigned char,1> ACG::Vec1uc

1-byte unsigned vector

Definition at line 81 of file VectorT.hh.

typedef VectorT<unsigned int,1> ACG::Vec1ui

1-int unsigned vector

Definition at line 89 of file VectorT.hh.

typedef VectorT<unsigned short int,1> ACG::Vec1us

1-short unsigned vector

Definition at line 85 of file VectorT.hh.

typedef VectorT<signed char,2> ACG::Vec2c

2-byte signed vector

Definition at line 96 of file VectorT.hh.

typedef VectorT<double,2> ACG::Vec2d

2-double vector

Definition at line 110 of file VectorT.hh.

typedef VectorT<float,2> ACG::Vec2f

2-float vector

Definition at line 108 of file VectorT.hh.

typedef VectorT<signed int,2> ACG::Vec2i

2-int signed vector

Definition at line 104 of file VectorT.hh.

typedef VectorT<signed short int,2> ACG::Vec2s

2-short signed vector

Definition at line 100 of file VectorT.hh.

typedef VectorT<unsigned char,2> ACG::Vec2uc

2-byte unsigned vector

Definition at line 98 of file VectorT.hh.

typedef VectorT<unsigned int,2> ACG::Vec2ui

2-int unsigned vector

Definition at line 106 of file VectorT.hh.

typedef VectorT<unsigned short int,2> ACG::Vec2us

2-short unsigned vector

Definition at line 102 of file VectorT.hh.

typedef VectorT<bool,3> ACG::Vec3b

3-bool vector

Definition at line 129 of file VectorT.hh.

typedef VectorT<signed char,3> ACG::Vec3c

3-byte signed vector

Definition at line 113 of file VectorT.hh.

typedef VectorT<double,3> ACG::Vec3d

3-double vector

Definition at line 127 of file VectorT.hh.

typedef VectorT<float,3> ACG::Vec3f

3-float vector

Definition at line 125 of file VectorT.hh.

typedef VectorT<signed int,3> ACG::Vec3i

3-int signed vector

Definition at line 121 of file VectorT.hh.

typedef VectorT<signed short int,3> ACG::Vec3s

3-short signed vector

Definition at line 117 of file VectorT.hh.

typedef VectorT<unsigned char,3> ACG::Vec3uc

3-byte unsigned vector

Definition at line 115 of file VectorT.hh.

typedef VectorT<unsigned int,3> ACG::Vec3ui

3-int unsigned vector

Definition at line 123 of file VectorT.hh.

typedef VectorT<unsigned short int,3> ACG::Vec3us

3-short unsigned vector

Definition at line 119 of file VectorT.hh.

typedef VectorT<signed char,4> ACG::Vec4c

4-byte signed vector

Definition at line 132 of file VectorT.hh.

typedef VectorT<double,4> ACG::Vec4d

4-double vector

Definition at line 146 of file VectorT.hh.

typedef VectorT<float,4> ACG::Vec4f

4-float vector

Definition at line 144 of file VectorT.hh.

typedef VectorT<signed int,4> ACG::Vec4i

4-int signed vector

Definition at line 140 of file VectorT.hh.

typedef VectorT<signed short int,4> ACG::Vec4s

4-short signed vector

Definition at line 136 of file VectorT.hh.

typedef VectorT<unsigned char,4> ACG::Vec4uc

4-byte unsigned vector

Definition at line 134 of file VectorT.hh.

typedef VectorT<unsigned int,4> ACG::Vec4ui

4-int unsigned vector

Definition at line 142 of file VectorT.hh.

typedef VectorT<unsigned short int,4> ACG::Vec4us

4-short unsigned vector

Definition at line 138 of file VectorT.hh.

typedef VectorT<signed char,6> ACG::Vec6c

6-byte signed vector

Definition at line 149 of file VectorT.hh.

typedef VectorT<double,6> ACG::Vec6d

6-double vector

Definition at line 163 of file VectorT.hh.

typedef VectorT<float,6> ACG::Vec6f

6-float vector

Definition at line 161 of file VectorT.hh.

typedef VectorT<signed int,6> ACG::Vec6i

6-int signed vector

Definition at line 157 of file VectorT.hh.

typedef VectorT<signed short int,6> ACG::Vec6s

6-short signed vector

Definition at line 153 of file VectorT.hh.

typedef VectorT<unsigned char,6> ACG::Vec6uc

6-byte unsigned vector

Definition at line 151 of file VectorT.hh.

typedef VectorT<unsigned int,6> ACG::Vec6ui

6-int unsigned vector

Definition at line 159 of file VectorT.hh.

typedef VectorT<unsigned short int,6> ACG::Vec6us

6-short unsigned vector

Definition at line 155 of file VectorT.hh.

## Enumeration Type Documentation

enum ACG::MultiplyFrom

enum to chose whether to multiply new matrices from right (default) or left to the current matrix

Definition at line 79 of file GLMatrixT.hh.

enum ACG::VERTEX_USAGE

-— input name in vertex shader ----—

Enumerator
VERTEX_USAGE_POSITION | "inPosition"
VERTEX_USAGE_NORMAL | "inNormal"
VERTEX_USAGE_TEXCOORD | "inTexCoord"
VERTEX_USAGE_COLOR | "inColor"
VERTEX_USAGE_BLENDWEIGHTS | "inBlendWeights"
VERTEX_USAGE_BLENDINDICES | "inBlendIndices"
VERTEX_USAGE_SHADER_INPUT | defined by user via VertexElement::shaderInputName_

Definition at line 69 of file VertexDeclaration.hh.

## Function Documentation

template<typename Scalar >

Scalar ACG::bsplineBasisDerivative | ( | int | _i,
|  | int | _degree,
|  | Scalar | _t,
|  | int | _der,
|  | const std::vector< Scalar > & | _knots
| ) |  |

Compute derivative of a single basis function.

Uses the recursive definition of the basis function. This is slower than using bsplineBasisDerivatives() for all values in a span.

Parameters

  _i | index of basis function
  _degree | spline degree
  _t | parameter value
  _der | order of derivative
  _knots | knotvector

Returns
  derivative of basis function value

Definition at line 334 of file BSplineBasis.cc.

template<typename Scalar >

void ACG::bsplineBasisDerivatives | ( | std::vector< Scalar > & | _ders,
|  | const Vec2i & | _span,
|  | Scalar | _t,
|  | int | _der,
|  | const std::vector< Scalar > & | _knots,
|  | std::vector< Scalar > * | _functionVals
| ) |  |

Compute derivatives of basis functions in a span.

Uses a fast algorithm to compute all derivatives of basis functions in a span. The output vector _ders must have enough space to hold _span[1] - _span[0] values.

Parameters

  _ders | output derivative values of all basis functions in the span
  _span | span of the parameter _t
  _t | parameter value
  _der | order of derivative (ie. first, second, third order...)
  _knots | knotvector
  _functionVals | output basis function values, null is accepted (optional)

Definition at line 173 of file BSplineBasis.cc.

template<typename Scalar >

Scalar ACG::bsplineBasisFunction | ( | int | _i,
|  | int | _degree,
|  | Scalar | _t,
|  | const std::vector< Scalar > & | _knots
| ) |  |

Evaluate a single basis function.

Uses the recursive definition of the basis function. This is slower than using bsplineBasisFunctions() for all values in a span.

Parameters

  _i | index of basis function
  _degree | spline degree
  _t | parameter value
  _knots | knotvector

Returns
  basis function value

Definition at line 295 of file BSplineBasis.cc.

template<typename Scalar >

void ACG::bsplineBasisFunctions | ( | std::vector< Scalar > & | _N,
|  | const Vec2i & | _span,
|  | Scalar | _t,
|  | const std::vector< Scalar > & | _knots
| ) |  |

Evaluate basis functions in a span.

Uses a fast algorithm to compute all basis functions in a span. The output vector _N must have enough space to hold _span[1] - _span[0] values.

Parameters

  _N | output basis function values
  _span | span of the parameter _t
  _t | parameter value
  _knots | knotvector

Definition at line 125 of file BSplineBasis.cc.

template<typename Scalar >

Vec2i ACG::bsplineSpan | ( | Scalar | _t,
|  | int | _degree,
|  | const std::vector< Scalar > & | _knots
| ) |  |

Find the span of a parameter value.

Parameters

  _t | parameter value
  _degree | spline degree
  _knots | knotvector

Definition at line 77 of file BSplineBasis.cc.

bool ACGDLLEXPORT ACG::checkExtensionSupported | ( | const std::string & | _extension | ) |

Check if the extension given by a std::string is supported by the current OpenGL extension

Cache glGetString(...) output because depending on the graphics driver it might return 0 the second time we call it.

Definition at line 73 of file gl.cc.

void ACG::glCheckErrors | ( |  | ) |
| inline

Nice wrapper that outputs all current OpenGL errors to std::cerr. If no error is present nothing is printed.

Definition at line 105 of file GLError.hh.

std::string ACGDLLEXPORT ACG::glErrorToString | ( | GLenum | _error | ) |

replaces the gluErrorToString function at least for the standard OpenGL Headers

Definition at line 69 of file GLError.cc.

bool ACGDLLEXPORT ACG::openGLVersion | ( | const int | _major,
|  | const int | _minor
| ) |  |

Check if OpenGL Version is greater or equal than the given values

Definition at line 95 of file gl.cc.