00001
00002 #ifndef EDITCAM_H
00003 #define EDITCAM_H
00004
00005
00006
00007 #define MAX_EDIT_CAM_NODES 1024
00008
00009
00010 enum {
00011 EDIT_CAM_NODE_AXIS_XY,
00012 EDIT_CAM_NODE_AXIS_XZ,
00013 EDIT_CAM_NODE_AXIS_ZY,
00014 EDIT_CAM_NODE_AXIS_X,
00015 EDIT_CAM_NODE_AXIS_Y,
00016 EDIT_CAM_NODE_AXIS_Z,
00017 };
00018
00019 typedef struct _EDIT_CAM_NODE {
00020 long Type, ZoomFactor;
00021 VEC Pos;
00022 struct _EDIT_CAM_NODE *Link;
00023 long ID;
00024 } EDIT_CAM_NODE;
00025
00026 typedef struct {
00027 long Type;
00028 long x, y, z, ZoomFactor;
00029 long Link;
00030 long UnUsed1;
00031 long UnUsed2;
00032 long ID;
00033 } FILE_CAM_NODE;
00034
00035
00036
00037 extern void InitEditCamNodes(void);
00038 extern void KillEditCamNodes(void);
00039 extern void LoadEditCamNodeModels(void);
00040 extern void FreeEditCamNodeModels(void);
00041 extern void LoadEditCamNodes(char *file);
00042 extern void SaveEditCamNodes(char *file);
00043 extern void DrawEditCamNodes(void);
00044 extern void DisplayCamNodeInfo(EDIT_CAM_NODE *node);
00045 extern void EditCamNodes(void);
00046 extern EDIT_CAM_NODE *AllocEditCamNode(void);
00047 extern void FreeEditCamNode(EDIT_CAM_NODE *node);
00048
00049
00050
00051 extern EDIT_CAM_NODE *CurrentEditCamNode;
00052
00053 #endif