Headers/objects.h

//
// Object.h
//
 
#include "qd3d_support.h"
 
 
enum
{
    EVENT_GENRE,
    GEOMETRY_GENRE,
    DISPLAY_GROUP_GENRE
};
 
    /* OBJ_MODE FLAGS */
 
#define OBJ_MODE_MOVE       1
#define OBJ_MODE_DRAW       (1<<1)
#define OBJ_MODE_ANIM       (1<<2)
 
 
 
//========================================================
 
extern  void InitObjectManager(void);
extern  ObjNode *MakeNewObject(NewObjectDefinitionType *newObjDef);
extern  void MoveObjects(void);
extern  void DrawObjects(QD3DSetupOutputType *viewInfo);
extern  void DeleteAllObjects(void);
extern  void DeleteObject(ObjNode   *theNode);
extern  void GetObjectInfo(ObjNode *theNode);
extern  void UpdateObject(ObjNode *theNode);
extern  ObjNode *MakeNewDisplayGroupObject(NewObjectDefinitionType *newObjDef);
extern  void AttachGeometryToDisplayGroupObject(ObjNode *theNode, TQ3GeometryObject geometry);
extern  void CreateBaseGroup(ObjNode *theNode);
extern  void UpdateObjectTransforms(ObjNode *theNode);
extern  void SetObjectTransformMatrix(ObjNode *theNode);
extern  void TransformObjectBaseMatrix(ObjNode *theNode, TQ3Matrix4x4 *inMatrix);
extern  void TranslateObjectBaseMatrixByXYZ(ObjNode *theNode);