X-Git-Url: https://ruin.nu/git/?p=popboot.git;a=blobdiff_plain;f=planner.cpp;h=10f5e57f2970f1cd7a111d497de7d75c81dc848b;hp=d49fb911beb267aa1b7005a8bdd9a729b84f2e22;hb=fdcf46671ca1dab0dadb490bb4375dc3dd2fc9a4;hpb=41efed0d6ee664fb79ea21a0e7239edcf51926d8 diff --git a/planner.cpp b/planner.cpp index d49fb91..10f5e57 100644 --- a/planner.cpp +++ b/planner.cpp @@ -19,14 +19,14 @@ Planner::Planner(std::vector actions, Literals init, Literals goal){ _actions[*effect] = *action; } } - cout << "Number of actions: " << _actions.size() << endl; + cerr << "Number of actions: " << _actions.size() << endl; makePlan(_finish); } Planner::~Planner(){ - for (hash_map::iterator node = _addedNodes.begin(); node != _addedNodes.end(); ++node){ - cerr << "Deleting node " << node->second->action().name() << endl; - delete node->second; + for (vector::iterator node = _addedNodes.begin(); node != _addedNodes.end(); ++node){ + cerr << "Deleting node " << (*node)->action().name() << endl; + delete *node; } } @@ -45,8 +45,8 @@ void Planner::makePlan(Node* node){ }else{ for (Preconditions::const_iterator precond = preconds.begin(); precond != preconds.end(); ++precond){ cerr << "Looking for: '" << precond->first << "'" << endl; - hash_map::iterator addedNode = _addedNodes.find(precond->first); - if(addedNode != _addedNodes.end()){ + hash_map::iterator addedNode = _addedEffects.find(precond->first); + if(addedNode != _addedEffects.end()){ cerr << "Using already added node" << endl; addedNode->second->addChild(node); }else { @@ -73,10 +73,11 @@ void Planner::addNode(Node* node){ cerr << "Adding node for action: " << node->action().name() << endl; const Literals& effects = node->action().effects(0); cerr << "Number of effects: " << effects.size() << endl; + _addedNodes.push_back(node); for (Literals::const_iterator effect = effects.begin(); effect != effects.end(); ++effect){ - cout << "Adding node for effect: " << *effect << endl; - _addedNodes[*effect] = node; + cerr << "Adding node for effect: " << *effect << endl; + _addedEffects[*effect] = node; } }