#include "array.h" Array::Array () { createArray (2000); } Array::Array (unsigned int arraySize) { createArray (arraySize); } void Array::createArray (unsigned int newArraySize) { if (verbose >= 2) printf ("crating new Array of size %i\n", newArraySize); array = new GLfloat [newArraySize]; entryCount = -1; //0 means one entry arraySize = newArraySize; return; } void Array::resizeArray (unsigned int newSize) { if (verbose >= 2) printf ("Resizing Array to size %i\n", newSize); GLfloat* newArray = new GLfloat [newSize]; for (int i=0; i<=entryCount; i++) newArray[i] = array[i]; delete [] array; array = newArray; arraySize = newSize; return; } void Array::finalizeArray (void) { if (verbose >= 3) printf ("Finalizing array.\n"); resizeArray (entryCount+1); return; } void Array::addEntry (GLfloat entry) { if (verbose >= 3) printf ("adding new Entry to Array: %f\n", entry); entryCount++; if (entryCount > arraySize) resizeArray(arraySize+2000); array[entryCount] = entry; } void Array::addEntry (GLfloat entry0, GLfloat entry1, GLfloat entry2) { addEntry (entry0); addEntry (entry1); addEntry (entry2); } GLfloat* Array::getArray () { return array; } int Array::getCount() { return entryCount; } void Array::debug () { printf ("arraySize=%i, entryCount=%i, address=%p\n", arraySize, entryCount, array); }