3D Graphics Programming with QuickDraw 3D

10 Summary of Group Objects

10 C Summary

10 Constants

#define kQ3GroupTypeDisplay             Q3_OBJECT_TYPE('d','s','p','g')
#define kQ3GroupTypeInfo             Q3_OBJECT_TYPE('i','n','f','o')
#define kQ3GroupTypeLight             Q3_OBJECT_TYPE('l','g','h','g')
#define kQ3DisplayGroupTypeIOProxy             Q3_OBJECT_TYPE('i','o','p','x')
#define kQ3DisplayGroupTypeOrdered             Q3_OBJECT_TYPE('o','r','d','g')
typedef enum TQ3DisplayGroupStateMasks {
 kQ3DisplayGroupStateNone              = 0,
 kQ3DisplayGroupStateMaskIsDrawn              = 1 << 0,
 kQ3DisplayGroupStateMaskIsInline              = 1 << 1,
 kQ3DisplayGroupStateMaskUseBoundingBox              = 1 << 2,
 kQ3DisplayGroupStateMaskUseBoundingSphere              = 1 << 3,
 kQ3DisplayGroupStateMaskIsPicked              = 1 << 4,
 kQ3DisplayGroupStateMaskIsWritten              = 1 << 5
} TQ3DisplayGroupStateMasks;

10 Data Types

typedef struct TQ3GroupPositionPrivate               *TQ3GroupPosition;
typedef unsigned long               TQ3DisplayGroupState;

10 Group Objects Routines

Creating Groups

TQ3GroupObject Q3Group_New (void);
TQ3GroupObject Q3LightGroup_New (
void);
TQ3GroupObject Q3DisplayGroup_New (
void);
TQ3GroupObject Q3InfoGroup_New (void);
TQ3GroupObject Q3OrderedDisplayGroup_New (
void);
TQ3GroupObject Q3IOProxyDisplayGroup_New (
void);

Managing Groups

TQ3ObjectType Q3Group_GetType (TQ3GroupObject group);
TQ3Status Q3Group_CountObjects (TQ3GroupObject group, 
unsigned long *nObjects);
TQ3Status Q3Group_CountObjectsOfType (
TQ3GroupObject group, 
TQ3ObjectType isType, 
unsigned long *nObjects);
TQ3GroupPosition Q3Group_AddObject (
TQ3GroupObject group, TQ3Object object);
TQ3GroupPosition Q3Group_AddObjectBefore (
TQ3GroupObject group, 
TQ3GroupPosition position, 
TQ3Object object);
TQ3GroupPosition Q3Group_AddObjectAfter (
TQ3GroupObject group, 
TQ3GroupPosition position, 
TQ3Object object);
TQ3Status Q3Group_GetPositionObject (
TQ3GroupObject group, 
TQ3GroupPosition position, 
TQ3Object *object);
TQ3Status Q3Group_SetPositionObject (
TQ3GroupObject group, 
TQ3GroupPosition position, 
TQ3Object object);
TQ3Object Q3Group_RemovePosition (
TQ3GroupObject group, 
TQ3GroupPosition position);
TQ3Status Q3Group_EmptyObjects (TQ3GroupObject group);
TQ3Status Q3Group_EmptyObjectsOfType (
TQ3GroupObject group, TQ3ObjectType isType);

Managing Display Groups

TQ3ObjectType Q3DisplayGroup_GetType (
TQ3GroupObject group);
TQ3Status Q3DisplayGroup_GetState (
TQ3GroupObject group, 
TQ3DisplayGroupState *state);
TQ3Status Q3DisplayGroup_SetState (
TQ3GroupObject group, 
TQ3DisplayGroupState state);
TQ3Status Q3DisplayGroup_Submit (
TQ3GroupObject group, TQ3ViewObject view);

Getting Group Positions

TQ3Status Q3Group_GetFirstPosition (
TQ3GroupObject group, 
TQ3GroupPosition *position);
TQ3Status Q3Group_GetFirstPositionOfType (
TQ3GroupObject group, 
TQ3ObjectType isType, 
TQ3GroupPosition *position);
TQ3Status Q3Group_GetLastPosition (
TQ3GroupObject group, 
TQ3GroupPosition *position);
TQ3Status Q3Group_GetLastPositionOfType (
TQ3GroupObject group, 
TQ3ObjectType isType, 
TQ3GroupPosition *position);
TQ3Status Q3Group_GetNextPosition (
TQ3GroupObject group, 
TQ3GroupPosition *position);
TQ3Status Q3Group_GetNextPositionOfType (
TQ3GroupObject group, 
TQ3ObjectType isType, 
TQ3GroupPosition *position);
TQ3Status Q3Group_GetPreviousPosition (
TQ3GroupObject group, 
TQ3GroupPosition *position);
TQ3Status Q3Group_GetPreviousPositionOfType (
TQ3GroupObject group, 
TQ3ObjectType isType, 
TQ3GroupPosition *position);

Getting Object Positions

TQ3Status Q3Group_GetFirstObjectPosition (
TQ3GroupObject group, 
TQ3Object object, 
TQ3GroupPosition *position);
TQ3Status Q3Group_GetLastObjectPosition (
TQ3GroupObject group, 
TQ3Object object, 
TQ3GroupPosition *position);
TQ3Status Q3Group_GetNextObjectPosition (
TQ3GroupObject group, 
TQ3Object object, 
TQ3GroupPosition *position);
TQ3Status Q3Group_GetPreviousObjectPosition (
TQ3GroupObject group, 
TQ3Object object, 
TQ3GroupPosition *position);

10 Errors
kQ3ErrorInvalidPositionForGroupNo such position in the group
kQ3ErrorInvalidObjectForGroupNo such object in the group
kQ3ErrorInvalidObjectForPositionNo such object in the position

10 - C Summary
10 - Constants
10 - Data Types
10 - Group Objects Routines
Creating Groups
Managing Groups
Managing Display Groups
Getting Group Positions
Getting Object Positions
10 - Errors

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

© Apple Computer, Inc.

Let us know what you think of these prototype pages.

Generated with Harlequin WebMaker