view TaskManager/Test/test_render/SceneGraphList.h @ 530:18446bce1b8b

add SceneGraphList
author aaa
date Wed, 21 Oct 2009 00:56:51 +0900
parents
children fab6f20021c9
line wrap: on
line source

#ifndef SCENE_GRAPH_LIST
#define SCENE_GRAPH_LIST

#include <stdlib.h>
#include "SgStruct.h"

class SceneGraphList : SgStruct {
public:
    SgStruct* pool;
    SgStruct* first;
    SgStruct* last;
    int sgid;

    SceneGraphList (SgStruct* ms) {
        first = last = this;
        next = prev = this;
        pool = ms;
	sgid = 0;
    }

    ~SceneGraphList () {
        free(pool);
    }

    void addFirst(SgStruct* e);
    void addLast(SgStruct* e);
    SgStruct* getFirst();
    SgStruct* getLast();
    int remove(SgStruct* e);
    SgStruct* poll();
    SgStruct* get(char *name);
};

#endif