g2o
Loading...
Searching...
No Matches
Public Member Functions | List of all members
IncrementalEdgesCompare Struct Reference

Sort Edges for inserting them sequentially. More...

Public Member Functions

bool operator() (SparseOptimizer::Edge *const &e1, SparseOptimizer::Edge *const &e2)
 
bool operator() (SparseOptimizer::Edge *const &e1, SparseOptimizer::Edge *const &e2)
 
bool operator() (const EdgeInformation &e1, const EdgeInformation &e2)
 
bool operator() (SparseOptimizer::Edge *const &e1, SparseOptimizer::Edge *const &e2)
 

Detailed Description

Sort Edges for inserting them sequentially.

Definition at line 66 of file g2o.cpp.

Member Function Documentation

◆ operator()() [1/4]

bool IncrementalEdgesCompare::operator() ( const EdgeInformation e1,
const EdgeInformation e2 
)
inline

Definition at line 48 of file g2o_incremental.cpp.

48 {
49 int i11 = e1.fromId, i12 = e1.toId;
50 if (i11 > i12) swap(i11, i12);
51 int i21 = e2.fromId, i22 = e2.toId;
52 if (i21 > i22) swap(i21, i22);
53 if (i12 < i22) return true;
54 if (i12 > i22) return false;
55 return i11 < i21;
56 }

References EdgeInformation::fromId, and EdgeInformation::toId.

◆ operator()() [2/4]

bool IncrementalEdgesCompare::operator() ( SparseOptimizer::Edge *const &  e1,
SparseOptimizer::Edge *const &  e2 
)
inline

Definition at line 67 of file g2o.cpp.

68 {
69 const SparseOptimizer::Vertex* to1 =
70 static_cast<const SparseOptimizer::Vertex*>(e1->vertices()[1]);
71 const SparseOptimizer::Vertex* to2 =
72 static_cast<const SparseOptimizer::Vertex*>(e2->vertices()[1]);
73
74 int i11 = e1->vertices()[0]->id(), i12 = e1->vertices()[1]->id();
75 if (i11 > i12) {
76 swap(i11, i12);
77 }
78 int i21 = e2->vertices()[0]->id(), i22 = e2->vertices()[1]->id();
79 if (i21 > i22) {
80 swap(i21, i22);
81 }
82 if (i12 < i22) return true;
83 if (i12 > i22) return false;
84 // push the odometry to be the first
85 return to1->dimension() > to2->dimension();
86 }

References g2o::HyperGraph::Edge::vertices().

◆ operator()() [3/4]

bool IncrementalEdgesCompare::operator() ( SparseOptimizer::Edge *const &  e1,
SparseOptimizer::Edge *const &  e2 
)
inline

Definition at line 79 of file g2o-unfold.cpp.

80 {
81 const SparseOptimizer::Vertex* to1 =
82 static_cast<const SparseOptimizer::Vertex*>(e1->vertex(0));
83 const SparseOptimizer::Vertex* to2 =
84 static_cast<const SparseOptimizer::Vertex*>(e2->vertex(0));
85
86 int i11 = e1->vertex(0)->id(), i12 = e1->vertex(1)->id();
87 if (i11 > i12) {
88 swap(i11, i12);
89 }
90 int i21 = e2->vertex(0)->id(), i22 = e2->vertex(1)->id();
91 if (i21 > i22) {
92 swap(i21, i22);
93 }
94 if (i12 < i22) return true;
95 if (i12 > i22) return false;
96 if (to1->dimension() !=
97 to2->dimension()) { // push the odometry to be the first
98 return to1->dimension() > to2->dimension();
99 }
100 return (i11 < i21);
101 }

References g2o::HyperGraph::Vertex::id(), and g2o::HyperGraph::Edge::vertex().

◆ operator()() [4/4]

bool IncrementalEdgesCompare::operator() ( SparseOptimizer::Edge *const &  e1,
SparseOptimizer::Edge *const &  e2 
)
inline

Definition at line 52 of file generate_commands.cpp.

53 {
54 const SparseOptimizer::Vertex* to1 =
55 static_cast<const SparseOptimizer::Vertex*>(e1->vertices()[0]);
56 const SparseOptimizer::Vertex* to2 =
57 static_cast<const SparseOptimizer::Vertex*>(e2->vertices()[0]);
58
59 int i11 = e1->vertices()[0]->id(), i12 = e1->vertices()[1]->id();
60 if (i11 > i12) {
61 swap(i11, i12);
62 }
63 int i21 = e2->vertices()[0]->id(), i22 = e2->vertices()[1]->id();
64 if (i21 > i22) {
65 swap(i21, i22);
66 }
67 if (i12 < i22) return true;
68 if (i12 > i22) return false;
69 if (to1->dimension() !=
70 to2->dimension()) { // push the odometry to be the first
71 return to1->dimension() > to2->dimension();
72 }
73 return (i11 < i21);
74 }

References g2o::HyperGraph::Edge::vertices().


The documentation for this struct was generated from the following files: