]> ruin.nu Git - popboot.git/commitdiff
planning and execution seems to work now
authorMichael Andreen <harv@ruin.nu>
Thu, 19 May 2005 11:17:12 +0000 (11:17 +0000)
committerMichael Andreen <harv@ruin.nu>
Thu, 19 May 2005 11:17:12 +0000 (11:17 +0000)
planner.cpp

index 747f3517760b42634ee5dcb5caa9d428dc93cc83..46cf230d1421c25d4aa28574a79a53987fc8cbba 100644 (file)
@@ -24,6 +24,7 @@ Planner::Planner(std::vector<Action> actions, Literals init, Literals goal){
 }
 
 Planner::~Planner(){
+       cerr << "Deleting " << _addedNodes.size() << " nodes" << endl;
        for (vector<Node*>::iterator node = _addedNodes.begin(); node != _addedNodes.end(); ++node){
                cerr << "Deleting node " << (*node)->action().name() << endl;
                delete *node;
@@ -85,8 +86,13 @@ void Planner::addNode(Node* node){
 
 void Planner::execute(){
        _start->execute(Literals());
-       /*for (hash_map<string,Node*>::iterator node = _addedNodes.begin(); node != _addedNodes.end(); ++node){
-               if (node->second->executed()){
-       }*/
-       _start->execute(Literals());
+       cerr << "Number of nodes: " << _addedNodes.size() << endl;
+       for (vector<Node*>::iterator node = _addedNodes.begin(); node != _addedNodes.end(); ++node){
+               if ((*node)->executed()){
+                       //remove stuff
+               }
+               delete *node;
+       }
+       _addedNodes.clear();
+       cerr << "Number of nodes left: " << _addedNodes.size() << endl;
 }