/*
	name:	defs.h

	Defenitions and Includes
	------------------------

*/

#include  <sys/types.h>
#include  <math.h>
#ifdef _M68881
#include  <m68881.h>		/* Inline std. math coprocessor functions */
#endif				/* if compiled for Motorola 68881+ FPU (Amiga) */

#include  "typedef.h"
#include  "protos.h"


#define parraymaxpix 5000		/* Maximum amount of pixels per line */
#define parraysize parraymaxpix*3
#define maxobjects 1000			/* Maximum amount of objects */
#define maxlights 50			/* Maximum amount of light-sources */
#define mincoord -10000.0		/* Minimum value for any x/y/z coordinate */
#define maxcoord 10000.0		/* Maximum value for any x/y/z coordinate */
#define maxsumcoord 3*maxcoord
#define aamaxlevel 9			/* Antialiasing recursion matrix (9 <=> 9x9 matrix <=> 4 recursions) */

#define EPSILON 1.0e-7			/* A small value > 0 */
#ifndef PID4
#define PID4 0.78539816339744830962	/* PI/4 = 45 degrees */
#endif
#ifndef PID2
#define PID2 1.57079632679489661923	/* PI/2 = 90 degrees */
#endif
#ifndef PI
#define PI   3.14159265358979323846	/* PI   = 180 degrees */
#endif
#ifndef PIM2
#define PIM2 6.28318530717958647692	/* PI*2 = 360 degrees */
#endif
#define RADPDEG 0.01745329252480056695	/* 2PI / 360 */
#define DEGPRAD 57.29577951308234943	/* 360 / 2PI */


#define SHAPE_PLANE 1			/* Define shape identifiers */
#define SHAPE_SPHERE 2
#define SHAPE_ELLIPSOID 3
#define SHAPE_BOX 4
#define SHAPE_TRIANGLE 5
#define SHAPE_DISC 6
#define SHAPE_CYLINDER 7

#define PATTERN_NONE 0			/* Define texture pattern identifiers */
#define PATTERN_CHECKER 1
#define PATTERN_CIRCLES 2
#define PATTERN_RINGS 3
#define PATTERN_SPOTS 4
#define PATTERN_GRADIENT 5

#define TRANSFORM_NONE 0		/* Define transform identifiers */
#define TRANSFORM_SCALE 1
#define TRANSFORM_MOVE 2
#define TRANSFORM_ROTATE 3
