Mercurial > hg > Members > kono > Cerium
diff Renderer/test_render/SceneGraphArray.h @ 283:55ea4465b1a2
fix test_render
author | e065746@localhost.localdomain |
---|---|
date | Fri, 05 Jun 2009 16:49:12 +0900 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Renderer/test_render/SceneGraphArray.h Fri Jun 05 16:49:12 2009 +0900 @@ -0,0 +1,45 @@ +#ifndef INCUDED_SCENE_GRAPH_ARRAY +#define INCUDED_SCENE_GRAPH_ARRAY + +#ifndef INCLUDED_SCENE_GRAPH +# include "SceneGraph.h" +#endif + +// 下ですぐ #undef してます +#define MAX_SIZE 32 + +class SceneGraphArray { +public: + SceneGraph buf[MAX_SIZE]; + int size; + int pad[3]; + + SceneGraphArray(void) : size(0) {} + + /** + * array の初期化 + */ + void init(void) { + size = 0; + } + + /** + * buf から SceneGraph buffer を返す + * + * @retval SceneGraph if size < MAX_SIZE + * @retval NULL if size >= MAX_SIZE + */ + SceneGraphPtr getNext(void) { + if (size >= MAX_SIZE) { + return NULL; + } else { + return &buf[size++]; + } + } +}; + +typedef SceneGraphArray *SceneGraphArrayPtr; + +#undef MAX_SIZE + +#endif