39     std::vector<boost::shared_ptr<TreeNode> > clusters;
    49     while(clusters.size() > 1)
    58       for(
unsigned int i = 0; i < clusters.size(); i++)
    60     if(clusters[i]->mObjectSet->mIdentifier == cluster->mObjectSet->mIdentifier)
    62           clusters.erase(clusters.begin() + i);
    70         for(
unsigned int i = 0; i < clusters.size(); i++)
    72       if(clusters[i]->mObjectSet->mIdentifier == child->mObjectSet->mIdentifier)
    74             clusters.erase(clusters.begin() + i);
    81       clusters.push_back(cluster);
    95     std::vector<boost::shared_ptr<TreeNode> > clusters;
   107       if(objectSet->objects[0]->type.compare(pType) == 0)
   110         pRoot.reset(
new TreeNode(objectSet));
   122     while(clusters.size() > 0)
   125       std::vector<boost::shared_ptr<TreeNode> > assignedNodes;
   128       std::queue<boost::shared_ptr<TreeNode> > nodesToVisit;
   129       nodesToVisit.push(pRoot);
   131       while(nodesToVisit.size() > 0)
   137           nodesToVisit.push(child);
   139         assignedNodes.push_back(node);
   144       clusters.erase(clusters.begin());
   156         std::queue<boost::shared_ptr<TreeNode> > nodesToVisitAgain;
   157         nodesToVisitAgain.push(pRoot);
   159         while(nodesToVisitAgain.size() > 0)
   162           nodesToVisitAgain.pop();
   166             node->addChild(nodeToAssign);
   171             nodesToVisitAgain.push(child);
   174         pRoot->addChild(nodeToAssign);
   175         ROS_INFO(
"Scene tree: No matching candidate found. Appended to root node.");
   194       heuristic->apply(pClusters);
   211       heuristic->apply(pClusters, pChild);
   221     for(
unsigned int i = 0; i < pObjectSets.
mObjectSets.size(); i++)
   223       if (pObjectSets.
mObjectSets[i]->objects.size() == 0 )
 void buildTree(ObjectSetList pObjectSets, boost::shared_ptr< TreeNode > &pRoot)
HeuristicalTreeGenerator()
std::vector< boost::shared_ptr< ISM::ObjectSet > > mObjectSets
std::vector< boost::shared_ptr< AbstractHeuristic > > mHeuristics
void deleteEmptyObjectSets(ObjectSetList &pObjectSets)
void addHeuristic(boost::shared_ptr< AbstractHeuristic > pHeuristic)
void evaluateHeuristics(std::vector< boost::shared_ptr< TreeNode > > pClusters)
~HeuristicalTreeGenerator()