14.11.2009, 13:07
Currently I'm doing it this way:
So I have a question, is my way any good, or would using two separate arrays to store 4 dimensions be a better solution. Or is there an even better one available?
Код:
#define FIRST_DIMENSION 3
#define SECOND_DIMENSION 16
#define THIRD_DIMENSION 24
// GetFirstDim(firstDim, secondDim, secondDimSize);
#define GetFirstDim(%0,%1,%2) ((%1 < %2)?((%0*%2)+%1):((%0*%2)+%2-1))
enum bPathInf
{
sampleInt,
Float: sampleFloat
};
new SampleArray[FIRST_DIMENSION*SECOND_DIMENSION][THIRD_DIMENSION][bPathInf];
// Somewhere in my code I get a value like that:
SampleArray[GetFirstDim(0, 1, SECOND_DIMENSION)][0][sampleInt] = 0;

