Vuo  1.2.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Classes | Enumerations | Functions
VuoTransform.h File Reference


VuoTransform C type definition.


struct  VuoTransform
 A 3D transformation (scale, rotation, translation). More...
union  VuoTransform.rotationSource
struct  VuoTransform.rotationSource.__unnamed__


enum  VuoTransformType { VuoTransformTypeEuler, VuoTransformTypeQuaternion, VuoTransformTypeTargeted }
 The type of rotation description used to construct this transform. More...


void VuoTransform_getMatrix (const VuoTransform value, float *matrix)
 Converts value into a column-major matrix of 16 values, composed as a rotation followed by a scale followed by a translation.
void VuoTransform_getBillboardMatrix (VuoInteger imageWidth, VuoInteger imageHeight, VuoReal translationX, VuoReal translationY, VuoInteger viewportWidth, VuoInteger viewportHeight, float *billboardMatrix)
 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.
VuoPoint3d VuoTransform_getEuler (const VuoTransform transform)
 Returns the transform's rotation, represented as euler angles in radians (see VuoTransform_makeEuler).
VuoPoint4d VuoTransform_getQuaternion (const VuoTransform transform)
 Returns the transform's rotation, represented as a quaternion (see VuoTransform_makeQuaternion).
VuoPoint3d VuoTransform_getDirection (const VuoTransform transform)
 Start with an object pointing rightward (increasing X axis).
VuoTransform VuoTransform_makeIdentity (void)
 Creates a VuoTransform with no effect.
VuoTransform VuoTransform_makeEuler (VuoPoint3d translation, VuoPoint3d rotation, VuoPoint3d scale)
 Creates a VuoTransform from translation, rotation (Euler angles, in radians), and scale values.
VuoTransform VuoTransform_makeQuaternion (VuoPoint3d translation, VuoPoint4d rotation, VuoPoint3d scale)
 Creates a VuoTransform from translation, rotation (quaternion), and scale values.
VuoTransform VuoTransform_makeFrom2d (VuoTransform2d transform2d)
 Creates a 3D transform from a 2D transform.
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.
VuoTransform VuoTransform_makeFromMatrix4x4 (const float *matrix)
 Creates a transform from the specified matrix (assumed to consist of affine rotation, scale, and translation).
VuoTransform VuoTransform_composite (const VuoTransform a, const VuoTransform b)
 Returns a composite transformation, consisting of a followed by b.
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).
static VuoPoint4d VuoTransform_quaternionFromAxisAngle (VuoPoint3d axis, float angle) __attribute__((const ))
 Returns the quaternion describing the rotation of angle radians about axis.
VuoPoint4d VuoTransform_quaternionFromBasis (VuoPoint3d basis[3])
 Returns a quaternion representing the rotation of the specified basis matrix.
static VuoPoint4d VuoTransform_quaternionFromVectors (VuoPoint3d from, VuoPoint3d to) __attribute__((const ))
 Returns the quaternion describing the rotation from direction from to to.
static VuoPoint3d VuoTransform_rotateVectorWithQuaternion (const VuoPoint3d v, const VuoPoint4d q) __attribute__((const ))
 Rotates 3D vector v by quaternion q.
static bool VuoTransform_isIdentity (const VuoTransform transform)
 Returns true if the transform is an identity (i.e., causes no change).
static void VuoTransform_multiplyMatrices4x4 (const float *a, const float *b, float *outputMatrix)
 Multiplies the specified matrices.
static void VuoTransform_copyMatrix4x4 (const float *sourceMatrix, float *destMatrix)
 Copies sourceMatrix to destMatrix.
static void VuoTransform_printMatrix4x4 (const float *matrix)
 Prints the specified column-major matrix.
void VuoTransform_invertMatrix4x4 (const float *matrix, float *outputInvertedMatrix)
 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.
static VuoPoint3d VuoTransform_transformPoint (const float *matrix, VuoPoint3d point)
 Transforms point using matrix (a column-major matrix of 16 values), and returns the new point.
VuoRectangle VuoTransform_transformRectangle (const float *matrix, VuoRectangle rectangle)
 Transforms rectangle using matrix (a column-major matrix of 16 values), and returns the new rectangle.
VuoTransform VuoTransform_makeFromJson (json_object *js)
 Decodes the JSON object js to create a new value.
json_objectVuoTransform_getJson (const VuoTransform value)
 Encodes value as a JSON object.
char * VuoTransform_getSummary (const VuoTransform value)
 Produces a brief human-readable summary of value.
VuoTransform VuoTransform_makeFromString (const char *str)
 Automatically generated function.
char * VuoTransform_getString (const VuoTransform value)
 Automatically generated function.
void VuoTransform_retain (VuoTransform value)
 Automatically generated function.
void VuoTransform_release (VuoTransform value)
 Automatically generated function.