Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/orxonox/branches/importer/importer/array.cc @ 2804

Last change on this file since 2804 was 2804, checked in by bensch, 20 years ago

orxonox/branches/importer: added heavy logging

File size: 1.4 KB
Line 
1#include "array.h"
2
3Array::Array ()
4{
5  createArray (2000);
6}
7Array::Array (unsigned int arraySize)
8{
9  createArray (arraySize);
10}
11
12void Array::createArray (unsigned int newArraySize)
13{
14  if (verbose >= 2)
15    printf ("crating new Array of size %i\n", newArraySize);
16  array = new GLfloat [newArraySize];
17  entryCount = -1; //0 means one entry
18  arraySize = newArraySize;
19  return;
20}
21
22void Array::resizeArray (unsigned int newSize)
23{
24  if (verbose >= 2)
25    printf ("Resizing Array to size %i\n", newSize); 
26  GLfloat* newArray = new GLfloat [newSize];
27 
28  for (int i=0; i<=entryCount; i++)
29      newArray[i] = array[i];
30
31  delete [] array;
32  array = newArray;
33  arraySize = newSize;
34
35  return;
36}
37 
38void Array::finalizeArray (void)
39{
40  if (verbose >= 3)
41    printf ("Finalizing array.\n"); 
42  resizeArray (entryCount+1);
43  return;
44}
45
46
47void Array::addEntry (GLfloat entry)
48{
49  if (verbose >= 3)
50    printf ("adding new Entry to Array: %f\n", entry);
51  entryCount++;
52
53  if (entryCount > arraySize)
54    resizeArray(arraySize+2000);
55 
56  array[entryCount] = entry;
57
58}
59
60void Array::addEntry (GLfloat entry0, GLfloat entry1, GLfloat entry2)
61{
62  addEntry (entry0);
63  addEntry (entry1);
64  addEntry (entry2);
65}
66 
67
68GLfloat* Array::getArray ()
69{
70  return array;
71}
72
73int Array::getCount()
74{
75  return entryCount;
76}
77
78
79
80void Array::debug ()
81{
82  printf ("arraySize=%i, entryCount=%i, address=%p\n", arraySize, entryCount, array);
83}
Note: See TracBrowser for help on using the repository browser.