#ifdef pazlib_h #else #define pazlib_h #include "pazpl5.h" /* scene calls */ extern PAZSCENE currentScene; extern int PAZerrStatus; extern void PAZinit ( int device, int x_size, int y_size, int device_A, int device_B, int device_C, int magic_A, int magic_B, int magic_C, int processor_id ); extern PAZSCENE PAZcreateScene (); extern PAZSCENE PAZdeleteScene ( PAZSCENE handle ); extern void PAZsetScene ( PAZSCENE handle ); /* object calls */ extern int PAZcreateObjects ( char *s, OBJECT **objects ); extern int PAZcreateBinObjects ( int *data, OBJECT **objects ); extern PAZOBJECT PAZcreateObject ( char *s ); extern PAZOBJECT PAZcreateBinObject ( int *data ); extern int PAZdeleteObject ( PAZOBJECT o ); extern void PAZreadBound ( PAZOBJECT o, POINT* bound ); /* instance calls */ extern PAZINST PAZcreateInstance (); extern PAZINST PAZdeleteInstance ( PAZINST inst ); extern void PAZreadInstance ( PAZINST local ); extern void PAZwriteInstance ( PAZINST local ); /* lighting calls */ extern PAZLIGHT PAZcreateLight (); extern PAZLIGHT PAZdeleteLight ( PAZLIGHT light ); extern void PAZreadLight ( PAZLIGHT local ); extern void PAZwriteLight ( PAZLIGHT local ); extern void PAZinitLight ( PAZLIGHT v, int type, float a, float b, float c, float x, float y, float z ); /* viewing calls */ extern PAZVIEW PAZcreateView (); extern PAZVIEW PAZdeleteView ( PAZVIEW view ); extern void PAZreadView ( PAZVIEW local ); extern void PAZwriteView ( PAZVIEW local ); extern void PAZinitView ( PAZVIEW v, float d, float near, float far, float x, float y, float aspect, int device ); /* geometry calls */ extern void PAZidMatrix ( MATRIX m ); extern void PAZtranslate ( MATRIX m, float x, float y, float z, int post ); extern void PAZrotate ( MATRIX m, float angle, int axis, int post ); extern void PAZscale ( MATRIX m, float sx, float sy, float sz, int post ); extern void PAZtranslatePair ( MATRIX f, MATRIX b, float x, float y, float z ); extern void PAZrotatePair ( MATRIX f, MATRIX b, float angle, int axis ); extern void PAZscalePair ( MATRIX f, MATRIX b, float sx, float sy, float sz ); extern void PAZconcat ( MATRIX m, MATRIX a, MATRIX b, int post ); /* miscellaneous control calls */ extern void PAZrenderScene ( int me, int nodes ); extern void PAZsetBackGND ( float r, float g, float b ); /* heirarchies */ extern INSTANCE *PAZlink ( INSTANCE *parent, INSTANCE *chain ); extern INSTANCE *PAZnest ( INSTANCE *parent, INSTANCE *child ); extern INSTANCE *PAZunlink ( INSTANCE *chain ); extern INSTANCE *PAZunnest ( INSTANCE *child ); extern void PAZdeleteTree ( INSTANCE *root ); extern int PAZlinkName ( int parent, int chain ); extern int PAZnestName ( int parent, int child ); extern int PAZunlinkName ( int chain ); extern int PAZunnestName ( int child ); extern void PAZdeleteTreeName ( int root ); #endif