class defines
{
	public double MINX;
	public double MAXX;
	public double MINY;
	public double MAXY;
	public double MINZ;
	public double MAXZ;
	public double WIDTH;
	public double HEIGHT;
	public double XCENTER;
	public double YCENTER;
	public double XSCALE;
	public double YSCALE;
	public double PI;

	public int COLOR_RANGE;
	public int COLOR_START;

	public static float[] CosTable;
	public static float[] SinTable;

	public int DEGREECOUNT;

	public defines()
	{
		PI = 3.141592654;
		MINX = 10;
		MAXX = 309;
		MINY = 10;
		MAXY = 189;
		MINZ = 100;
	//	MINZ = -500;


		MAXZ = 10000;
		WIDTH = 320;
		HEIGHT = 200;
		XCENTER = 160;
		YCENTER = 100;
		XSCALE = 120;
		YSCALE = -120;

		COLOR_RANGE = 255;
		COLOR_START = 1;

		DEGREECOUNT = 1024;
		CosTable = new float[DEGREECOUNT];
		SinTable = new float[DEGREECOUNT];

	}// defines()

	//--------------------------------------------------

	public void InitMath()
	{
		double Unit = (PI * 2.0) / (double)DEGREECOUNT;

		// Loop through all DEGREECOUNT degrees:
		for (int N = 0; N<DEGREECOUNT; N++)
		{
			double Degree = N;
			CosTable[N] = (float)(Math.cos(Unit*Degree));
			SinTable[N] = (float)(Math.sin(Unit*Degree));
		}
	}// InitMath()

	//----------------------------------------------------

	public float COS(int a)
	{
		return CosTable[a & (DEGREECOUNT-1)];
	}// COS()

	//----------------------------------------------------

	public float SIN(int a)
	{
		return SinTable[a & (DEGREECOUNT-1)];
	}// SIN()

};
