#include <TripleMatchSetLineSeg.h>
Public Types | |
enum | { NoMatch = -1 } |
Public Member Functions | |
TripleMatchSetLineSeg () | |
TripleMatchSetLineSeg (LineSegSet &lines1, LineSegSet &lines2, LineSegSet &lines3) | |
TripleMatchSetLineSeg (const PairMatchSetLineSeg &, const PairMatchSetLineSeg &) | |
void | set (LineSegSet &lines1, LineSegSet &lines2, LineSegSet &lines3) |
PairMatchSetLineSeg * | get_matches12 () |
PairMatchSetLineSeg * | get_matches23 () |
LineSegSet * | get_linesegs1 () |
LineSegSet * | get_linesegs2 () |
LineSegSet * | get_linesegs3 () |
PairMatchSetLineSeg const * | get_matches12 () const |
PairMatchSetLineSeg const * | get_matches23 () const |
LineSegSet const * | get_linesegs1 () const |
LineSegSet const * | get_linesegs2 () const |
LineSegSet const * | get_linesegs3 () const |
void | extract_matches (vcl_vector< HomgLineSeg2D > &linesegs1, vcl_vector< int > &lineseg_index_1, vcl_vector< HomgLineSeg2D > &linesegs2, vcl_vector< int > &lineseg_index_2, vcl_vector< HomgLineSeg2D > &linesegs3, vcl_vector< int > &lineseg_index_3) const |
Copy inliers to three arrays, and record the original indices. | |
void | extract_matches (vcl_vector< HomgLineSeg2D > &linesegs1, vcl_vector< HomgLineSeg2D > &linesegs2, vcl_vector< HomgLineSeg2D > &linesegs3) const |
Copy inliers to three arrays. | |
void | clear_matches () |
Remove all tuples. | |
void | clear_nontriplets () |
int | count () const |
Return the number of triplets. O(n). | |
bool | add_match (int i, int ii, int iii) |
Add triplet (i1, i2, i3) to the matchset. | |
bool | delete_match (int i1, int i2, int i3) |
bool | contains (int i1, int i2, int i3) |
bool | get_1 (int i1, int *i1out, int *i2out, int *i3out) const |
Select(1 = c). | |
bool | get_2 (int i2, int *i1out, int *i2out, int *i3out) const |
Select(2 = c). | |
bool | get_3 (int i3, int *i1out, int *i2out, int *i3out) const |
Select(3 = c). | |
int | get_match_12 (int i1) const |
Select(1 = i1).2, meaning take the 2nd component of the tuples in which the first component equals i1. | |
int | get_match_23 (int i2) const |
Select(2 = i2).3 Complexity O(1). | |
int | get_match_31 (int i3) const |
Select(3 = i3).1 Complexity O(n). | |
int | get_match_21 (int i2) const |
Select(2 = i2).1 Complexity O(n). | |
int | get_match_32 (int i3) const |
Select(3 = i3).2 Complexity O(n). | |
int | get_match_13 (int i1) const |
Select(1 = i1).3. | |
int | get_match_123 (int i1, int i2) const |
Select({1,2} = {i1, i2}).3. | |
void | set (PairMatchSet *match12, PairMatchSet *match23) |
Destroy current PairMatchSets and adopt two new ones. | |
void | set_from_pairwise_matches (const PairMatchSet &matches12, const PairMatchSet &matches23) |
Join two PairMatchSets on their 2nd and 1st columns respectively. | |
void | write_ascii (vcl_ostream &s) const |
Write as three ascii columns. | |
bool | read_ascii (vcl_istream &s) |
Read from ascii vcl_istream. | |
void | update_feature_match_data () |
int | size () const |
bool | get_match (int at, int *i1, int *i2, int *i3) const |
iterator | begin () const |
Static Public Member Functions | |
static bool | matchp (int i) |
Return true if i is not the "NoMatch" value. | |
Protected Attributes | |
PairMatchSet * | match12_ |
PairMatchSet * | match23_ |
Definition at line 24 of file TripleMatchSetLineSeg.h.
anonymous enum [inherited] |
Definition at line 29 of file MatchSet.h.
TripleMatchSetLineSeg::TripleMatchSetLineSeg | ( | ) |
Definition at line 17 of file TripleMatchSetLineSeg.cxx.
TripleMatchSetLineSeg::TripleMatchSetLineSeg | ( | LineSegSet & | lines1, |
LineSegSet & | lines2, | ||
LineSegSet & | lines3 | ||
) |
Definition at line 22 of file TripleMatchSetLineSeg.cxx.
TripleMatchSetLineSeg::TripleMatchSetLineSeg | ( | const PairMatchSetLineSeg & | match12, |
const PairMatchSetLineSeg & | match23 | ||
) |
Definition at line 30 of file TripleMatchSetLineSeg.cxx.
bool TripleMatchSet::add_match | ( | int | i1, |
int | i2, | ||
int | i3 | ||
) | [inherited] |
Add triplet (i1, i2, i3) to the matchset.
Any existing matches of the form (i1, *, *) are removed. O(1).
Definition at line 127 of file TripleMatchSet.cxx.
iterator TripleMatchSet::begin | ( | ) | const [inline, inherited] |
Definition at line 102 of file TripleMatchSet.h.
void TripleMatchSet::clear_matches | ( | ) | [inherited] |
Remove all tuples.
Definition at line 156 of file TripleMatchSet.cxx.
void TripleMatchSet::clear_nontriplets | ( | ) | [inherited] |
Definition at line 245 of file TripleMatchSet.cxx.
bool TripleMatchSet::contains | ( | int | i1, |
int | i2, | ||
int | i3 | ||
) | [inherited] |
int TripleMatchSet::count | ( | ) | const [inherited] |
Return the number of triplets. O(n).
Definition at line 147 of file TripleMatchSet.cxx.
bool TripleMatchSet::delete_match | ( | int | i1, |
int | i2, | ||
int | i3 | ||
) | [inherited] |
Definition at line 281 of file TripleMatchSet.cxx.
void TripleMatchSetLineSeg::extract_matches | ( | vcl_vector< HomgLineSeg2D > & | linesegs1, |
vcl_vector< int > & | lineseg_index_1, | ||
vcl_vector< HomgLineSeg2D > & | linesegs2, | ||
vcl_vector< int > & | lineseg_index_2, | ||
vcl_vector< HomgLineSeg2D > & | linesegs3, | ||
vcl_vector< int > & | lineseg_index_3 | ||
) | const |
Copy inliers to three arrays, and record the original indices.
Definition at line 44 of file TripleMatchSetLineSeg.cxx.
void TripleMatchSetLineSeg::extract_matches | ( | vcl_vector< HomgLineSeg2D > & | linesegs1, |
vcl_vector< HomgLineSeg2D > & | linesegs2, | ||
vcl_vector< HomgLineSeg2D > & | linesegs3 | ||
) | const |
Copy inliers to three arrays.
bool TripleMatchSet::get_1 | ( | int | c, |
int * | i1, | ||
int * | i2, | ||
int * | i3 | ||
) | const [inherited] |
Select(1 = c).
{1,2,3}. Complexity O(1). Returns true iff a match was found.
Definition at line 214 of file TripleMatchSet.cxx.
bool TripleMatchSet::get_2 | ( | int | c, |
int * | i1, | ||
int * | i2, | ||
int * | i3 | ||
) | const [inherited] |
bool TripleMatchSet::get_3 | ( | int | c, |
int * | i1, | ||
int * | i2, | ||
int * | i3 | ||
) | const [inherited] |
LineSegSet* TripleMatchSetLineSeg::get_linesegs1 | ( | ) | [inline] |
Definition at line 36 of file TripleMatchSetLineSeg.h.
LineSegSet const* TripleMatchSetLineSeg::get_linesegs1 | ( | ) | const [inline] |
Definition at line 43 of file TripleMatchSetLineSeg.h.
LineSegSet* TripleMatchSetLineSeg::get_linesegs2 | ( | ) | [inline] |
Definition at line 37 of file TripleMatchSetLineSeg.h.
LineSegSet const* TripleMatchSetLineSeg::get_linesegs2 | ( | ) | const [inline] |
Definition at line 44 of file TripleMatchSetLineSeg.h.
LineSegSet* TripleMatchSetLineSeg::get_linesegs3 | ( | ) | [inline] |
Definition at line 38 of file TripleMatchSetLineSeg.h.
LineSegSet const* TripleMatchSetLineSeg::get_linesegs3 | ( | ) | const [inline] |
Definition at line 45 of file TripleMatchSetLineSeg.h.
bool TripleMatchSet::get_match | ( | int | at, |
int * | i1, | ||
int * | i2, | ||
int * | i3 | ||
) | const [inline, inherited] |
Definition at line 74 of file TripleMatchSet.h.
int TripleMatchSet::get_match_12 | ( | int | i1 | ) | const [inherited] |
Select(1 = i1).2, meaning take the 2nd component of the tuples in which the first component equals i1.
Complexity O(1).
Definition at line 165 of file TripleMatchSet.cxx.
int TripleMatchSet::get_match_123 | ( | int | i1, |
int | i2 | ||
) | const [inherited] |
int TripleMatchSet::get_match_13 | ( | int | i1 | ) | const [inherited] |
int TripleMatchSet::get_match_21 | ( | int | i2 | ) | const [inherited] |
Select(2 = i2).1 Complexity O(n).
Definition at line 184 of file TripleMatchSet.cxx.
int TripleMatchSet::get_match_23 | ( | int | i2 | ) | const [inherited] |
Select(2 = i2).3 Complexity O(1).
Definition at line 178 of file TripleMatchSet.cxx.
int TripleMatchSet::get_match_31 | ( | int | i3 | ) | const [inherited] |
Select(3 = i3).1 Complexity O(n).
Definition at line 190 of file TripleMatchSet.cxx.
int TripleMatchSet::get_match_32 | ( | int | i3 | ) | const [inherited] |
Select(3 = i3).2 Complexity O(n).
Definition at line 196 of file TripleMatchSet.cxx.
PairMatchSetLineSeg* TripleMatchSetLineSeg::get_matches12 | ( | ) | [inline] |
Definition at line 33 of file TripleMatchSetLineSeg.h.
PairMatchSetLineSeg const* TripleMatchSetLineSeg::get_matches12 | ( | ) | const [inline] |
Definition at line 40 of file TripleMatchSetLineSeg.h.
PairMatchSetLineSeg* TripleMatchSetLineSeg::get_matches23 | ( | ) | [inline] |
Definition at line 34 of file TripleMatchSetLineSeg.h.
PairMatchSetLineSeg const* TripleMatchSetLineSeg::get_matches23 | ( | ) | const [inline] |
Definition at line 41 of file TripleMatchSetLineSeg.h.
static bool MatchSet::matchp | ( | int | i | ) | [inline, static, inherited] |
Return true if i is not the "NoMatch" value.
Definition at line 32 of file MatchSet.h.
bool TripleMatchSet::read_ascii | ( | vcl_istream & | s | ) | [inherited] |
Read from ascii vcl_istream.
Definition at line 77 of file TripleMatchSet.cxx.
void TripleMatchSetLineSeg::set | ( | LineSegSet & | lines1, |
LineSegSet & | lines2, | ||
LineSegSet & | lines3 | ||
) |
Definition at line 39 of file TripleMatchSetLineSeg.cxx.
void TripleMatchSet::set | ( | PairMatchSet * | match12, |
PairMatchSet * | match23 | ||
) | [inherited] |
Destroy current PairMatchSets and adopt two new ones.
Definition at line 41 of file TripleMatchSet.cxx.
void TripleMatchSet::set_from_pairwise_matches | ( | const PairMatchSet & | matches12, |
const PairMatchSet & | matches23 | ||
) | [inherited] |
Join two PairMatchSets on their 2nd and 1st columns respectively.
I.e. make the TripleMatchSet which contains (i1,i2,i3) iff
matches12.contains(i1, i2) and matches23.contains(i2, i3)
Definition at line 54 of file TripleMatchSet.cxx.
int TripleMatchSet::size | ( | ) | const [inherited] |
Definition at line 300 of file TripleMatchSet.cxx.
void TripleMatchSet::update_feature_match_data | ( | ) | [inherited] |
Definition at line 306 of file TripleMatchSet.cxx.
void TripleMatchSet::write_ascii | ( | vcl_ostream & | s | ) | const [inherited] |
Write as three ascii columns.
Definition at line 67 of file TripleMatchSet.cxx.
PairMatchSet* TripleMatchSet::match12_ [protected, inherited] |
Definition at line 107 of file TripleMatchSet.h.
PairMatchSet* TripleMatchSet::match23_ [protected, inherited] |
Definition at line 108 of file TripleMatchSet.h.