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