00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00016
00017
00018
00019
00021
00022 #ifndef PROJECTION_NODE_HH
00023 #define PROJECTION_NODE_HH
00024
00025 #include <iostream>
00026 #include <vector>
00027
00028 using namespace std;
00029
00030
00034 class ProjectionNode {
00035
00036 public:
00037
00038
00039
00040
00041
00051 ProjectionNode(int *theEdge, vector<int> *theDeletedNodes,
00052 vector<int*> *theDeletedEdges, vector<int*> *theFalseEdges,
00053 ProjectionNode *prevNode);
00054
00058 ~ProjectionNode();
00059
00069 ProjectionNode* addNode(int theEdge[2], vector<int> *theDeletedNodes,
00070 vector<int*> *theDeletedEdges,
00071 vector<int*> *theFalseEdges);
00072
00079 int getEdge(int i);
00080
00087 vector<int>* getDeletedNodes();
00088
00095 vector<int*>* getDeletedEdges();
00096
00103 vector<int*>* getFalseEdges();
00104
00111 ProjectionNode* getPreviousNode();
00112
00113
00114 private:
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124
00128 int edge[2];
00129
00133 vector<int> deletedNodes;
00134
00138 vector<int*> deletedEdges;
00139
00143 vector<int*> falseEdges;
00144
00148 ProjectionNode* previousNode;
00149
00153 vector< ProjectionNode* > itsNodes;
00154
00155 };
00156
00157 #endif
00158