Summary of Transform Objects
C Summary
Constants
#define kQ3TransformTypeMatrix Q3_OBJECT_TYPE('m','t','r','x')
#define kQ3TransformTypeQuaternion Q3_OBJECT_TYPE('q','t','r','n')
#define kQ3TransformTypeRotate Q3_OBJECT_TYPE('r','o','t','t')
#define kQ3TransformTypeRotateAboutAxis Q3_OBJECT_TYPE('r','t','a','a')
#define kQ3TransformTypeRotateAboutPoint Q3_OBJECT_TYPE('r','t','a','p')
#define kQ3TransformTypeScale Q3_OBJECT_TYPE('s','c','a','l')
#define kQ3TransformTypeTranslate Q3_OBJECT_TYPE('t','r','n','s')
Data Types
typedef struct TQ3RotateTransformData {
TQ3Axis axis;
float radians;
} TQ3RotateTransformData;
typedef struct TQ3RotateAboutPointTransformData {
TQ3Axis axis;
float radians;
TQ3Point3D about;
} TQ3RotateAboutPointTransformData;
typedef struct TQ3RotateAboutAxisTransformData {
TQ3Point3D origin;
TQ3Vector3D orientation;
float radians;
} TQ3RotateAboutAxisTransformData;
Transform Objects Routines
Managing Transforms
TQ3ObjectType Q3Transform_GetType (
TQ3TransformObject transform);
TQ3Matrix4x4 *Q3Transform_GetMatrix (
TQ3TransformObject transform,
TQ3Matrix4x4 *matrix);
TQ3Status Q3Transform_Submit(TQ3TransformObject transform,
TQ3ViewObject view);
Creating and Manipulating Matrix Transforms
TQ3TransformObject Q3MatrixTransform_New (
const TQ3Matrix4x4 *matrix);
TQ3Status Q3MatrixTransform_Submit (
const TQ3Matrix4x4 *matrix,
TQ3ViewObject view);
TQ3Status Q3MatrixTransform_Get (
TQ3TransformObject transform,
TQ3Matrix4x4 *matrix);
TQ3Status Q3MatrixTransform_Set (
TQ3TransformObject transform,
const TQ3Matrix4x4 *matrix);
Creating and Manipulating Rotate Transforms
TQ3TransformObject Q3RotateTransform_New (
const TQ3RotateTransformData *data);
TQ3Status Q3RotateTransform_Submit (
const TQ3RotateTransformData *data,
TQ3ViewObject view);
TQ3Status Q3RotateTransform_GetData (
TQ3TransformObject transform,
TQ3RotateTransformData *data);
TQ3Status Q3RotateTransform_SetData (
TQ3TransformObject transform,
const TQ3RotateTransformData *data);
TQ3Status Q3RotateTransform_GetAxis (
TQ3TransformObject transform,
TQ3Axis *axis);
TQ3Status Q3RotateTransform_SetAxis (
TQ3TransformObject transform,
TQ3Axis axis);
TQ3Status Q3RotateTransform_GetAngle (
TQ3TransformObject transform,
float *radians);
TQ3Status Q3RotateTransform_SetAngle (
TQ3TransformObject transform,
float radians);
Creating and Manipulating Rotate-About-Point Transforms
TQ3TransformObject Q3RotateAboutPointTransform_New (
const TQ3RotateAboutPointTransformData *data);
TQ3Status Q3RotateAboutPointTransform_Submit (
const TQ3RotateAboutPointTransformData *data,
TQ3ViewObject view);
TQ3Status Q3RotateAboutPointTransform_GetData (
TQ3TransformObject transform,
TQ3RotateAboutPointTransformData *data);
TQ3Status Q3RotateAboutPointTransform_SetData (
TQ3TransformObject transform,
const TQ3RotateAboutPointTransformData *data);
TQ3Status Q3RotateAboutPointTransform_GetAxis (
TQ3TransformObject transform,
TQ3Axis *axis);
TQ3Status Q3RotateAboutPointTransform_SetAxis (
TQ3TransformObject transform,
TQ3Axis axis);
TQ3Status Q3RotateAboutPointTransform_GetAngle (
TQ3TransformObject transform,
float *radians);
TQ3Status Q3RotateAboutPointTransform_SetAngle (
TQ3TransformObject transform,
float radians);
TQ3Status Q3RotateAboutPointTransform_GetAboutPoint (
TQ3TransformObject transform,
TQ3Point3D *about);
TQ3Status Q3RotateAboutPointTransform_SetAboutPoint (
TQ3TransformObject transform,
const TQ3Point3D *about);
Creating and Manipulating Rotate-About-Axis Transforms
TQ3TransformObject Q3RotateAboutAxisTransform_New (
const TQ3RotateAboutAxisTransformData *data);
TQ3Status Q3RotateAboutAxisTransform_Submit (
const TQ3RotateAboutAxisTransformData *data,
TQ3ViewObject view);
TQ3Status Q3RotateAboutAxisTransform_GetData (
TQ3TransformObject transform,
TQ3RotateAboutAxisTransformData *data);
TQ3Status Q3RotateAboutAxisTransform_SetData (
TQ3TransformObject transform,
const TQ3RotateAboutAxisTransformData *data);
TQ3Status Q3RotateAboutAxisTransform_GetOrigin (
TQ3TransformObject transform,
TQ3Point3D *origin);
TQ3Status Q3RotateAboutAxisTransform_SetOrigin (
TQ3TransformObject transform,
const TQ3Point3D *origin);
TQ3Status Q3RotateAboutAxisTransform_GetOrientation (
TQ3TransformObject transform,
TQ3Vector3D *axis);
TQ3Status Q3RotateAboutAxisTransform_SetOrientation (
TQ3TransformObject transform,
const TQ3Vector3D *axis);
TQ3Status Q3RotateAboutAxisTransform_GetAngle (
TQ3TransformObject transform,
float *radians);
TQ3Status Q3RotateAboutAxisTransform_SetAngle (
TQ3TransformObject transform,
float radians);
Creating and Manipulating Scale Transforms
TQ3TransformObject Q3ScaleTransform_New (
const TQ3Vector3D *scale);
TQ3Status Q3ScaleTransform_Submit (
TQ3Vector3D *scale, TQ3ViewObject view);
TQ3Status Q3ScaleTransform_Get(TQ3TransformObject transform,
TQ3Vector3D *scale);
TQ3Status Q3ScaleTransform_Set(TQ3TransformObject transform,
const TQ3Vector3D *scale);
Creating and Manipulating Translate Transforms
TQ3TransformObject Q3TranslateTransform_New (
const TQ3Vector3D *translate);
TQ3Status Q3TranslateTransform_Submit (
const TQ3Vector3D *translate,
TQ3ViewObject view);
TQ3Status Q3TranslateTransform_Get (
TQ3TransformObject transform,
TQ3Vector3D *translate);
TQ3Status Q3TranslateTransform_Set (
TQ3TransformObject transform,
const TQ3Vector3D *translate);
Creating and Manipulating Quaternion Transforms
TQ3TransformObject Q3QuaternionTransform_New (
const TQ3Quaternion *quaternion);
TQ3Status Q3QuaternionTransform_Submit (
const TQ3Quaternion *quaternion,
TQ3ViewObject view);
TQ3Status Q3QuaternionTransform_Get (
TQ3TransformObject transform,
TQ3Quaternion *quaternion);
TQ3Status Q3QuaternionTransform_Set (
TQ3TransformObject transform,
const TQ3Quaternion *quaternion);
Errors