Summary of Group Objects
C Summary
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;
Data Types
typedef struct TQ3GroupPositionPrivate *TQ3GroupPosition;
typedef unsigned long TQ3DisplayGroupState;
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);
Errors
kQ3ErrorInvalidPositionForGroup | No such position in the group |
| kQ3ErrorInvalidObjectForGroup | No such object in the group |
| kQ3ErrorInvalidObjectForPosition | No such object in the position |