ProjectedTextures
Prototype software for spacial augmented reality applications.
|
#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< Similarity > | bezierRecursion (QList< Similarity > input, float t) |
static QList< Similarity > | responsiveBezierRecursion (QList< Similarity > input, float maxTranslation, float maxRotation) |
Protected Attributes | |
QVector3D | _translation |
QQuaternion | _rotation |
float | _scale |
Manages a similarity transformation (translation, rotation, uniform scale)
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.
rigidTransformation | must only contain rigid transformations! |
Similarity::~Similarity | ( | void | ) |
|
static |
returns a point on a bezier curve of Similarities, defined by controlPoints and parameter t
|
staticprotected |
must only be called by bezier(QList<Similarity> controlPoints, float t)
|
static |
returns a distance measure for two Similarities
|
static |
interpolates between two Similarities
t | t=0 ==> returns a; t=1 ==> returns b. can be anything. |
|
static |
interpolates between two Similarities with different parameters for translation, rotation and scale
|
virtual |
returns the similarity as 4x4 transformation matrix
Similarity Similarity::operator* | ( | Similarity & | other) |
concatenation
|
static |
pure voodoo.
|
staticprotected |
must only be called by responsiveBezier(QList<Similarity> controlPoints, float maxTranslation, float maxRotation)
|
inline |
returns the rotation part
QVector3D Similarity::rotationEuler | ( | ) |
returns the rotation part as euler angles
|
inline |
returns the scale part
|
inline |
sets the rotation part from Quaternion
void Similarity::setRotation | ( | float | x, |
float | y, | ||
float | z | ||
) |
sets the rotation part from euler angles
|
inline |
sets the scale part
|
inline |
sets the translation part
|
inline |
returns the translation part
|
protected |
rotation part
|
protected |
scale part
|
protected |
translation part