#include <HeuristicalTreeGenerator.h>
Public Member Functions | |
void | addHeuristic (boost::shared_ptr< AbstractHeuristic > pHeuristic) |
void | buildTree (ObjectSetList pObjectSets, boost::shared_ptr< TreeNode > &pRoot) |
void | buildTree (ObjectSetList pTrajectories, boost::shared_ptr< TreeNode > &pRoot, std::string pType) |
void | evaluateHeuristics (std::vector< boost::shared_ptr< TreeNode > > pClusters) |
void | evaluateHeuristics (std::vector< boost::shared_ptr< TreeNode > > pClusters, boost::shared_ptr< TreeNode > pChild) |
HeuristicalTreeGenerator () | |
~HeuristicalTreeGenerator () | |
Public Member Functions inherited from SceneModel::AbstractGraphGenerator | |
AbstractGraphGenerator () | |
virtual | ~AbstractGraphGenerator () |
Private Member Functions | |
void | deleteEmptyObjectSets (ObjectSetList &pObjectSets) |
Private Attributes | |
std::vector< boost::shared_ptr< AbstractHeuristic > > | mHeuristics |
Realization of the abstract tree generator class. It creates the tree by evaluating predefined relations and clustering the trajectories with the best score.
Definition at line 47 of file HeuristicalTreeGenerator.h.
SceneModel::HeuristicalTreeGenerator::HeuristicalTreeGenerator | ( | ) |
Constructor.
Definition at line 23 of file HeuristicalTreeGenerator.cpp.
SceneModel::HeuristicalTreeGenerator::~HeuristicalTreeGenerator | ( | ) |
Destructor.
Definition at line 28 of file HeuristicalTreeGenerator.cpp.
void SceneModel::HeuristicalTreeGenerator::addHeuristic | ( | boost::shared_ptr< AbstractHeuristic > | pHeuristic | ) |
Adds a heuristic.
pHeuristic | The heuristic to add. |
Definition at line 180 of file HeuristicalTreeGenerator.cpp.
|
virtual |
Builds the tree using agglomerative clustering.
pObjectSets | The list of trajectories to build the tree from. |
pRoot | The root node of the tree. |
Reimplemented from SceneModel::AbstractGraphGenerator.
Definition at line 32 of file HeuristicalTreeGenerator.cpp.
|
virtual |
Builds the tree, forces the object with the given type as root node and appends a new node to what ever node it is appropriate
pTrajectories | The list of trajectories to build the tree from. |
pRoot | The root node of the tree. |
pType | Type of the object that should be forced as root node. |
Reimplemented from SceneModel::AbstractGraphGenerator.
Definition at line 88 of file HeuristicalTreeGenerator.cpp.
|
private |
Deletes empty object sets.
pObjectSets | The list of trajectories to build the tree from. |
Definition at line 218 of file HeuristicalTreeGenerator.cpp.
void SceneModel::HeuristicalTreeGenerator::evaluateHeuristics | ( | std::vector< boost::shared_ptr< TreeNode > > | pClusters | ) |
Find the heuristic that generates the highest score.
pClusters | The list of trajectories to build the tree from. |
Definition at line 185 of file HeuristicalTreeGenerator.cpp.
void SceneModel::HeuristicalTreeGenerator::evaluateHeuristics | ( | std::vector< boost::shared_ptr< TreeNode > > | pClusters, |
boost::shared_ptr< TreeNode > | pChild | ||
) |
Find the heuristic that generates the highest score.
pClusters | The list of trajectories to build the tree from. |
pChild | The node that must be the child node. |
Definition at line 201 of file HeuristicalTreeGenerator.cpp.
|
private |
A list of heuristics used for clustering.
Definition at line 111 of file HeuristicalTreeGenerator.h.