Mercurial > hg > Members > kono > Cerium
diff Renderer/Engine/SceneGraphArray.h @ 507:735f76483bb2
Reorganization..
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 12 Oct 2009 09:39:35 +0900 |
parents | Renderer/test_render/SceneGraphArray.h@55ea4465b1a2 |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Renderer/Engine/SceneGraphArray.h Mon Oct 12 09:39:35 2009 +0900 @@ -0,0 +1,43 @@ +#ifndef INCUDED_SCENE_GRAPH_ARRAY +#define INCUDED_SCENE_GRAPH_ARRAY + +#include "SceneGraph.h" + +// 下ですぐ #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