00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef __mitkNodeHeap_h
00012 #define __mitkNodeHeap_h
00013 #include "mitkNode.h"
00014 #include "mitkObject.h"
00015
00019 class MITK_COMMON_API mitkSglNode
00020 {
00021 public:
00025 mitkSglNode(){next = NULL;};
00026
00030 ~mitkSglNode()
00031 {
00032 if (next)
00033 {
00034 next = NULL;
00035 }
00036 };
00037
00038 mitkNode node;
00039 mitkSglNode *next;
00040 };
00041
00046
00047 class MITK_COMMON_API mitkNodeHeap
00048 {
00049 public:
00053 mitkNodeHeap();
00054
00058 ~mitkNodeHeap();
00059
00065 mitkNode top();
00066
00070 void pop();
00071
00076 void push(mitkNode node);
00077
00083 bool empty();
00084
00085 private:
00086 mitkSglNode *m_pNodeLink;
00087 int m_NodeNum;
00088 };
00089
00090 #endif
00091