ProjectedTextures
Prototype software for spacial augmented reality applications.
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Macros
Public Member Functions | Static Public Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
Similarity Class Reference

#include <Similarity.h>

Public Member Functions

 Similarity ()
 
 Similarity (QVector3D translation, QQuaternion rotation, float scale=1.0f)
 
 Similarity (QMatrix4x4 rigidTransformation)
 
 ~Similarity ()
 
QVector3D translation ()
 
QQuaternion rotation ()
 
QVector3D rotationEuler ()
 
float scale ()
 
virtual QMatrix4x4 matrix ()
 
void setTranslation (QVector3D translation)
 
void setRotation (QQuaternion rotation)
 
void setRotation (float x, float y, float z)
 
void setScale (float scale)
 
Similarity operator* (Similarity &other)
 

Static Public Member Functions

static QVector3D distance (Similarity a, Similarity b)
 
static Similarity interpolate (Similarity a, Similarity b, float t)
 
static Similarity interpolate (Similarity a, Similarity b, float tTrans, float tRot, float tScale=0.5f)
 
static Similarity bezier (QList< Similarity > controlPoints, float t)
 
static Similarity responsiveBezier (QList< Similarity > controlPoints, float maxTranslation, float maxRotation)
 

Static Protected Member Functions

static QList< SimilaritybezierRecursion (QList< Similarity > input, float t)
 
static QList< SimilarityresponsiveBezierRecursion (QList< Similarity > input, float maxTranslation, float maxRotation)
 

Protected Attributes

QVector3D _translation
 
QQuaternion _rotation
 
float _scale
 

Detailed Description

Manages a similarity transformation (translation, rotation, uniform scale)

Constructor & Destructor Documentation

Similarity::Similarity ( )

creates an identity transformation

Similarity::Similarity ( QVector3D  translation,
QQuaternion  rotation,
float  scale = 1.0f 
)

creates a similarity from translation, rotation and scale

Similarity::Similarity ( QMatrix4x4  rigidTransformation)

creates a similarity from a transformation matrix.

Parameters
rigidTransformationmust only contain rigid transformations!
Similarity::~Similarity ( void  )

Member Function Documentation

Similarity Similarity::bezier ( QList< Similarity controlPoints,
float  t 
)
static

returns a point on a bezier curve of Similarities, defined by controlPoints and parameter t

QList< Similarity > Similarity::bezierRecursion ( QList< Similarity input,
float  t 
)
staticprotected
QVector3D Similarity::distance ( Similarity  a,
Similarity  b 
)
static

returns a distance measure for two Similarities

Similarity Similarity::interpolate ( Similarity  a,
Similarity  b,
float  t 
)
static

interpolates between two Similarities

Parameters
tt=0 ==> returns a; t=1 ==> returns b. can be anything.
Similarity Similarity::interpolate ( Similarity  a,
Similarity  b,
float  tTrans,
float  tRot,
float  tScale = 0.5f 
)
static

interpolates between two Similarities with different parameters for translation, rotation and scale

QMatrix4x4 Similarity::matrix ( )
virtual

returns the similarity as 4x4 transformation matrix

Similarity Similarity::operator* ( Similarity other)

concatenation

Similarity Similarity::responsiveBezier ( QList< Similarity controlPoints,
float  maxTranslation,
float  maxRotation 
)
static

pure voodoo.

QList< Similarity > Similarity::responsiveBezierRecursion ( QList< Similarity input,
float  maxTranslation,
float  maxRotation 
)
staticprotected
QQuaternion Similarity::rotation ( )
inline

returns the rotation part

QVector3D Similarity::rotationEuler ( )

returns the rotation part as euler angles

float Similarity::scale ( )
inline

returns the scale part

void Similarity::setRotation ( QQuaternion  rotation)
inline

sets the rotation part from Quaternion

void Similarity::setRotation ( float  x,
float  y,
float  z 
)

sets the rotation part from euler angles

void Similarity::setScale ( float  scale)
inline

sets the scale part

void Similarity::setTranslation ( QVector3D  translation)
inline

sets the translation part

QVector3D Similarity::translation ( )
inline

returns the translation part

Member Data Documentation

QQuaternion Similarity::_rotation
protected

rotation part

float Similarity::_scale
protected

scale part

QVector3D Similarity::_translation
protected

translation part


The documentation for this class was generated from the following files: