view Renderer/Engine/SceneGraphArray.h @ 996:78ebcdaae8bc

add sdl_test file
author yutaka@charles.cr.ie.u-ryukyu.ac.jp
date Mon, 11 Oct 2010 18:56:51 +0900
parents 735f76483bb2
children
line wrap: on
line source

#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