19 #include <boost/shared_ptr.hpp> 41 void addChild(
const boost::shared_ptr<Tree>& child);
46 void addVotes(
const std::string& voterType,
const std::vector<VoteSpecifierPtr>& votes);
47 std::vector<VoteSpecifierPtr>
getVotesByType(
const std::string& type);
53 Tree(std::string pattern,
unsigned clusterId,
const TrackPtr reference, std::vector<ClusterPtr>& clustersLeft,
const std::vector<ClusterPtr>& allClusters,
IsmPtr& ism,
bool naive);
55 void build(std::string pattern,
unsigned clusterId,
const TrackPtr reference, std::vector<ClusterPtr>& clustersLeft,
const std::vector<ClusterPtr>& allClusters,
IsmPtr& ism,
bool naive);
60 std::pair<TrackPtr, ClusterPtr>
getReference(std::vector<std::pair<int, TrackPtr> >& objectTracks,
const std::vector<ClusterPtr>& currentClusters,
const ObjectRelations& topology)
const;
62 template <
typename T>
static bool pairCompare(
const std::pair<unsigned, T>& firstElem,
const std::pair<unsigned, T>& secondElem);
69 std::vector<boost::shared_ptr<Tree> >
children;
TreePtr generateTree(const std::string &pattern, const TrackPtr &reference, std::vector< ClusterPtr > clusters, bool naive=false)
std::vector< boost::shared_ptr< Tree > > children
static const char * LOG_COLOR_GREEN
void build(std::string pattern, unsigned clusterId, const TrackPtr reference, std::vector< ClusterPtr > &clustersLeft, const std::vector< ClusterPtr > &allClusters, IsmPtr &ism, bool naive)
void addVotes(const std::string &voterType, const std::vector< VoteSpecifierPtr > &votes)
void addChild(const boost::shared_ptr< Tree > &child)
static bool pairCompare(const std::pair< unsigned, T > &firstElem, const std::pair< unsigned, T > &secondElem)
std::vector< VoteSpecifierPtr > generateISM(ISM::ObjectRelations)
std::vector< VoteSpecifierPtr > getVotesByType(const std::string &type)
boost::shared_ptr< Cluster > ClusterPtr
const char * LOG_COLOR_CLUSTER
static bool compareClusters(const ClusterPtr &one, const ClusterPtr &two)
std::map< unsigned int, ISM::ObjectRelationPtr, std::less< unsigned > > ObjectRelations
boost::shared_ptr< ImplicitShapeModel > IsmPtr
boost::shared_ptr< Tree > TreePtr
const char * LOG_COLOR_TREE
void setHeight(unsigned height)
std::map< std::string, std::vector< VoteSpecifierPtr > > votesByVotersType
void setWeight(unsigned weight)
static const char * LOG_COLOR_MAGENTA
boost::shared_ptr< Track > TrackPtr
std::pair< std::map< ISM::TrackPtr, int >, std::vector< std::pair< int, ISM::TrackPtr > > > getMostCommonObjects(const ISM::ObjectRelations &topology) const
this namespace contains all generally usable classes.
std::vector< ClusterPtr > buildClusters(ISM::ObjectRelations) const