#include <tracks.h>
Classes | |
struct | factory_t |
A tkeypoint factory. More... | |
Public Member Functions | |
tkeypoint () | |
tkeypoint (const tkeypoint &a) | |
void | set (tframe *f, float u, float v) |
act as a constructor. | |
const tkeypoint & | operator= (const tkeypoint &a) |
int | track_length () |
return the length of the track the point belongs to. | |
bool | track_is_longer (int l) |
return true if the point has been matched on at least 'l' frames. | |
virtual void | dispose () |
overload this function to handle forgotten keypoints. Allows memory recycling. | |
virtual | ~tkeypoint () |
void | unlink () |
Remove the point from the tracks structure. | |
Public Attributes | |
mlist_elem< tkeypoint > | points_in_frame |
doubly linked list to other points in the same frame | |
mlist_elem< tkeypoint > | matches |
pointers to corresponding points on next and previous frames. | |
tframe * | frame |
Pointer to the frame the point belongs to. Can't be null. | |
ttrack * | track |
A pointer to the track the point belongs to. |
Definition at line 52 of file tracks.h.
tkeypoint::tkeypoint | ( | ) | [inline] |
tkeypoint::~tkeypoint | ( | ) | [virtual] |
virtual void tkeypoint::dispose | ( | ) | [inline, virtual] |
overload this function to handle forgotten keypoints. Allows memory recycling.
Reimplemented in pyr_keypoint, and vobj_keypoint.
Definition at line 83 of file tracks.h.
Referenced by tracks::remove_point_track(), and tracks::remove_track_tail().
Definition at line 25 of file tracks.cpp.
References frame, matches, mlist_elem< T >::next, points_in_frame, mlist_elem< T >::prev, and track.
void tkeypoint::set | ( | tframe * | f, | |
float | u, | |||
float | v | |||
) |
act as a constructor.
Before calling set(), make sur the point is unlink()ed.
Definition at line 81 of file tracks.cpp.
References bucket2d< T >::add_pt(), frame, tframe::points, track, and unlink().
int tkeypoint::track_length | ( | ) |
return the length of the track the point belongs to.
Definition at line 110 of file tracks.cpp.
References matches, and mlist_elem< T >::prev.
Referenced by vobj_tracker::incremental_learning(), and kpt_tracker::track_ncclk().
void tkeypoint::unlink | ( | ) |
Remove the point from the tracks structure.
This method removes the point from the match linked list and from the frame point list.
Definition at line 91 of file tracks.cpp.
References tracks::all_tracks, ttrack::db, ttrack::factory_t::destroy(), frame, ttrack::keypoints, matches, MLIST_RM, ttrack::point_removed(), tframe::points, RLIST_RM, bucket2d< T >::rm_pt(), track, and tracks::ttrack_factory.
Referenced by pyr_keypoint::dispose(), set(), and ~tkeypoint().
Pointer to the frame the point belongs to. Can't be null.
Definition at line 61 of file tracks.h.
Referenced by visual_object::add_keypoint(), pyr_keypoint::dispose(), get_correspondences(), visual_object::get_correspondences_std(), vobj_tracker::incremental_learning(), operator=(), pyr_track::point_added(), pyr_keypoint::prepare_patch(), set(), tkeypoint(), unlink(), and update_query_with_frame().
pointers to corresponding points on next and previous frames.
Definition at line 58 of file tracks.h.
Referenced by vobj_keypoint::next_match_vobj(), tracks::keypoint_match_iterator::operator++(), tracks::keypoint_match_iterator::operator--(), operator=(), vobj_keypoint::prev_match_vobj(), tracks::remove_point_track(), tracks::remove_track_tail(), tracks::remove_unmatched_tracks(), VSView::segment_scene(), tracks::set_match(), VSView::timerEvent(), track_length(), kpt_tracker::track_ncclk(), unlink(), tracks::unset_match(), and update_query_with_frame().
doubly linked list to other points in the same frame
Definition at line 55 of file tracks.h.
Referenced by operator=().
A pointer to the track the point belongs to.
The pointer is null if it has never been matched.
Definition at line 66 of file tracks.h.
Referenced by get_correspondences(), visual_object::get_correspondences_std(), operator=(), VSView::segment_scene(), set(), tracks::set_match(), tkeypoint(), track_is_longer(), kpt_tracker::track_ncclk(), unlink(), tracks::unset_match(), and update_query_with_frame().