Developer Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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  Histogram
 
class  HistogramT
 
class  HuePartitioningColors
 
class  IColorCoder
 
class  IRenderer
 
class  KnotvectorT
 
class  LinearTwoColorCoder
 
class  Matrix3x3T
 
class  Matrix4x4T
 
class  MeshCompiler
 
struct  MeshCompiler_EdgeTriMapKey
 
class  MeshCompilerDefaultFaceInput
 
class  MeshCompilerFaceInput
 
class  MeshCompilerVertexCompare
 
class  Noncopyable
 
class  NumLimitsT
 
class  PoissonBlurFilter
 
class  PoissonReconstructionT
 
class  PolyLineT
 
class  ProgramBase
 
class  Progress
 
class  QtColorTranslator
 
class  QtLasso
 
class  QtPrincipalAxisDialog
 
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 Matrix3x3T< float > Matrix3x3f
 
typedef Matrix3x3T< double > Matrix3x3d
 
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)
 
Vec4f to_Vec4f (const QColor _color)
 
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)
 
void DumpOutput (const char *format,...)
 

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 to chose whether to multiply new matrices from right (default) or left to the current matrix

Definition at line 79 of file GLMatrixT.hh.

-— 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
_iindex of basis function
_degreespline degree
_tparameter value
_derorder of derivative
_knotsknotvector
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
_dersoutput derivative values of all basis functions in the span
_spanspan of the parameter _t
_tparameter value
_derorder of derivative (ie. first, second, third order...)
_knotsknotvector
_functionValsoutput 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
_iindex of basis function
_degreespline degree
_tparameter value
_knotsknotvector
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
_Noutput basis function values
_spanspan of the parameter _t
_tparameter value
_knotsknotvector

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
_tparameter value
_degreespline degree
_knotsknotvector

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.