VuoTransform C type definition.
Definition in file VuoTransform.h.
Go to the source code of this file.
Classes | |
struct | VuoTransform |
A 3D transformation (scale, rotation, translation). More... | |
struct | VuoTransform.rotationSource |
struct | VuoTransform.rotationSource.__unnamed__ |
Enumerations | |
enum | VuoTransformType { VuoTransformTypeEuler, VuoTransformTypeQuaternion, VuoTransformTypeTargeted } |
The type of rotation description used to construct this transform. More... | |
Functions | |
void | VuoTransform_getMatrix (const VuoTransform value, float *matrix) |
void | VuoTransform_getBillboardMatrix (VuoInteger imageWidth, VuoInteger imageHeight, VuoReal imageScaleFactor, VuoBoolean preservePhysicalSize, VuoReal translationX, VuoReal translationY, VuoInteger viewportWidth, VuoInteger viewportHeight, VuoReal backingScaleFactor, VuoPoint2d mesh0, float *billboardMatrix) __attribute__((nonnull)) |
Returns a column-major matrix of 16 values that transforms a 1x1 quad so that it renders the specified image at real (pixel-perfect) size. More... | |
VuoPoint3d | VuoTransform_getEuler (const VuoTransform transform) |
Returns the transform's rotation, represented as euler angles in radians (see VuoTransform_makeEuler). More... | |
VuoPoint4d | VuoTransform_getQuaternion (const VuoTransform transform) |
Returns the transform's rotation, represented as a quaternion (see VuoTransform_makeQuaternion). More... | |
VuoPoint3d | VuoTransform_getDirection (const VuoTransform transform) |
VuoTransform | VuoTransform_makeIdentity (void) |
VuoTransform | VuoTransform_makeEuler (VuoPoint3d translation, VuoPoint3d rotation, VuoPoint3d scale) |
VuoTransform | VuoTransform_makeQuaternion (VuoPoint3d translation, VuoPoint4d rotation, VuoPoint3d scale) |
void | VuoTransform_rotationMatrixFromQuaternion (const VuoPoint4d quaternion, float *matrix) __attribute__((nonnull)) |
Populate a 3x3 matrix with a normalized quaternion. More... | |
void | VuoTransform_rotationMatrixFromEuler (const VuoPoint3d euler, float *matrix) __attribute__((nonnull)) |
Populate a 3x3 matrix with an euler rotation. More... | |
VuoTransform | VuoTransform_makeFrom2d (VuoTransform2d transform2d) |
Creates a 3D transform from a 2D transform. More... | |
VuoTransform2d | VuoTransform_get2d (VuoTransform transform) |
Creates a 2D transform from a 3D transform. More... | |
VuoTransform | VuoTransform_makeFromTarget (VuoPoint3d position, VuoPoint3d target, VuoPoint3d upDirection) |
Create a transform that translates to position and looks at target with roll determined by upDirection . More... | |
VuoTransform | VuoTransform_makeFromMatrix4x4 (const float *matrix) __attribute__((nonnull)) |
Creates a transform from the specified matrix (assumed to consist of affine rotation, scale, and translation). More... | |
VuoTransform | VuoTransform_composite (const VuoTransform a, const VuoTransform b) |
Returns a composite transformation, consisting of a followed by b . More... | |
static VuoPoint4d | VuoTransform_quaternionComposite (VuoPoint4d a, VuoPoint4d b) __attribute__((const)) |
Returns the composite of quaternion a with quaternion b (i.e., the rotation described by a followed by the rotation described by b ). More... | |
static VuoPoint4d | VuoTransform_quaternionFromAxisAngle (VuoPoint3d axis, float angle) __attribute__((const)) |
Returns the quaternion describing the rotation of angle radians about axis . More... | |
VuoPoint4d | VuoTransform_quaternionFromBasis (VuoPoint3d basis[3]) |
Returns a quaternion representing the rotation of the specified basis matrix. More... | |
static VuoPoint4d | VuoTransform_quaternionFromVectors (VuoPoint3d from, VuoPoint3d to) __attribute__((const)) |
Returns the quaternion describing the rotation from direction from to to. More... | |
static VuoPoint4d | VuoTransform_quaternionFromMatrix (const float *rotation) __attribute__((nonnull)) |
Create a unit quaternion from a rotation matrix (3x3). More... | |
static VuoPoint4d | VuoTransform_quaternionFromEuler (const VuoPoint3d euler) __attribute__((const)) |
Convert an euler angle (radians) to a quaternion. More... | |
static VuoPoint3d | VuoTransform_eulerFromQuaternion (const VuoPoint4d quaternion) __attribute__((const)) |
Convert a quaternion to an euler angle. More... | |
static VuoPoint3d | VuoTransform_eulerFromMatrix (const float *matrix) __attribute__((nonnull)) |
Convert a rotation matrix (3x3) to an euler angle. More... | |
static VuoPoint3d | VuoTransform_rotateVectorWithQuaternion (const VuoPoint3d v, const VuoPoint4d q) __attribute__((const)) |
Rotates 3D vector v by quaternion q . More... | |
static bool | VuoTransform_isIdentity (const VuoTransform transform) |
Returns true if the transform is an identity (i.e., causes no change). More... | |
static void | VuoTransform_multiplyMatrices4x4 (const float *a, const float *b, float *outputMatrix) __attribute__((nonnull)) |
Multiplies the specified matrices. More... | |
static void | VuoTransform_copyMatrix4x4 (const float *sourceMatrix, float *destMatrix) __attribute__((nonnull)) |
Copies sourceMatrix to destMatrix . More... | |
static VuoPoint3d | VuoTransform_getMatrix4x4Translation (const float *matrix) __attribute__((nonnull)) |
Returns the translation specified in matrix . More... | |
static VuoPoint3d | VuoTransform_getMatrix4x4Scale (const float *matrix) __attribute__((nonnull)) |
Returns the scale specified in matrix . More... | |
static void | VuoTransform_printMatrix4x4 (const float *matrix) __attribute__((nonnull)) |
Prints the specified column-major matrix. More... | |
void | VuoTransform_invertMatrix4x4 (const float *matrix, float *outputInvertedMatrix) __attribute__((nonnull)) |
Outputs the inverse of matrix (which is assumed to consist of a rotation followed by a scale followed by a translation, like the output of VuoTransform_getMatrix), such that outputInvertedMatrix * matrix = identityMatrix . More... | |
static VuoPoint3d | VuoTransform_transformPoint (const float *matrix, VuoPoint3d point) __attribute__((nonnull)) |
VuoPoint2d | VuoTransform_transform_VuoPoint2d (VuoTransform transform, VuoPoint2d point) |
Applies transform to point , using input Z coordinate 0 and discarding the transformed Z coordinate. More... | |
VuoPoint3d | VuoTransform_transform_VuoPoint3d (VuoTransform transform, VuoPoint3d point) |
Applies transform to point . More... | |
static VuoPoint3d | VuoTransform_transformVector (const float *matrix, VuoPoint3d point) __attribute__((nonnull)) |
VuoRectangle | VuoTransform_transformRectangle (const float *matrix, VuoRectangle rectangle) __attribute__((nonnull)) |
Transforms rectangle using matrix (a column-major matrix of 16 values), and returns the new rectangle. More... | |
VuoTransform | VuoTransform_makeFromJson (json_object *js) |
json_object * | VuoTransform_getJson (const VuoTransform value) |
char * | VuoTransform_getSummary (const VuoTransform value) |
VuoTransform | VuoTransform_makeFromString (const char *str) |
Automatically generated function. More... | |
char * | VuoTransform_getString (const VuoTransform value) |
Automatically generated function. More... | |
void | VuoTransform_retain (VuoTransform value) |
Automatically generated function. More... | |
void | VuoTransform_release (VuoTransform value) |
Automatically generated function. More... | |