3D Graphics Programming with QuickDraw 3D

7 Summary of Transform Objects

7 C Summary

7 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')

7 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;

7 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);

7 Errors
kQ3ErrorScaleOfZero 

7 - C Summary
7 - Constants
7 - Data Types
7 - Transform Objects Routines
Managing Transforms
Creating and Manipulating Matrix Transforms
Creating and Manipulating Rotate Transforms
Creating and Manipulating Rotate-About-Point Transforms
Creating and Manipulating Rotate-About-Axis Transforms
Creating and Manipulating Scale Transforms
Creating and Manipulating Translate Transforms
Creating and Manipulating Quaternion Transforms
7 - Errors

3D Graphics Programming with QuickDraw 3D - 20 OCT 1995

© Apple Computer, Inc.

Let us know what you think of these prototype pages.

Generated with Harlequin WebMaker