Last change
on this file since 4196 was
4109,
checked in by bensch, 20 years ago
|
orxonox/trunk: little error in model, and also a speed-fix in Array
|
File size:
1.4 KB
|
Line | |
---|
1 | /*! |
---|
2 | \file array.h |
---|
3 | \brief Contains the Array Class that handles float arrays. |
---|
4 | this class creates a Array of a semi-Dynamic length. |
---|
5 | beware, that after finalizing the array may not be resized again. |
---|
6 | */ |
---|
7 | |
---|
8 | #ifndef _ARRAY_H |
---|
9 | #define _ARRAY_H |
---|
10 | |
---|
11 | #include "stdincl.h" |
---|
12 | |
---|
13 | //! Array Class that handles dynamic-float arrays. |
---|
14 | class Array |
---|
15 | { |
---|
16 | public: |
---|
17 | Array (); |
---|
18 | ~Array(); |
---|
19 | |
---|
20 | void initializeArray (); |
---|
21 | void finalizeArray (void); |
---|
22 | void addEntry (GLfloat entry); |
---|
23 | void addEntry(GLfloat entry0, GLfloat entry1, GLfloat entry2); |
---|
24 | |
---|
25 | /** \returns The array */ |
---|
26 | inline const GLfloat* getArray () const {return this->array;} |
---|
27 | /** \returns The Count of entries in the Array*/ |
---|
28 | inline int getCount(void)const {return this->entryCount;} |
---|
29 | void debug(void) const ; |
---|
30 | private: |
---|
31 | //! One entry of the Array |
---|
32 | struct Entry |
---|
33 | { |
---|
34 | GLfloat value; //!< The value of this Entry. |
---|
35 | Entry* next; //!< Pointer to the Next entry. |
---|
36 | }; |
---|
37 | |
---|
38 | GLfloat* array; //!< The array that will be produced when finalizing the Array. |
---|
39 | int entryCount; //!< The count of Entries in this Array. |
---|
40 | bool finalized; //!< If this variable is set to true, the Array can not be changed anymore. true if finalized, false else (initially). |
---|
41 | Entry* firstEntry; //!< Pointer to the first Entry of this Array |
---|
42 | Entry* currentEntry; //!< Pointer to the current Entry of this Array. The one Entry we are working with. |
---|
43 | |
---|
44 | |
---|
45 | }; |
---|
46 | |
---|
47 | #endif |
---|
Note: See
TracBrowser
for help on using the repository browser.