#pragma once

#include "Constants.h"

class Projection
{
public:
	Projection();
	~Projection(void);
	int getIndex(int x, int y, int z);
	__int64 projectAligned(bool space[maxExpansion][maxExpansion][maxExpansion]);

private:
	int fx, fy, fz;
	int mapping[xD][yD][zD], rxmapping[xD * yD * zD], rymapping[xD * yD * zD], rzmapping[xD * yD * zD];

public:
	void getCoordinates(int index, int& x, int& y, int& z);
};
