本文整理汇总了C++中Measurement::GetType方法的典型用法代码示例。如果您正苦于以下问题:C++ Measurement::GetType方法的具体用法?C++ Measurement::GetType怎么用?C++ Measurement::GetType使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Measurement
的用法示例。
在下文中一共展示了Measurement::GetType方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: switch
void G2ODriver::AddEdge(int edgeId, Vertex* point, Vertex* keyFrame, const Measurement& meas)
{
Edge* e = nullptr;
switch ( meas.GetType() )
{
case Measurement::LEFT :
// Left-only measurements
e = BuildMonoEdge( {meas.GetKeypoints()[0].pt.x, meas.GetKeypoints()[0].pt.y} );
break;
case Measurement::STEREO :
// Stereo measurements (x1,y1,x2) as cameras are rectified, left and right meas share the same y-axis
e = BuildStereoEdge( {meas.GetKeypoints()[0].pt.x, meas.GetKeypoints()[0].pt.y, meas.GetKeypoints()[1].pt.x} );
break;
case Measurement::RIGHT :
// Right-only measurements
e = BuildMonoEdgeRight( {meas.GetKeypoints()[0].pt.x, meas.GetKeypoints()[0].pt.y} );
break;
default:
// TODO throw an exception (tfischer)
assert( false );
break;
}
e->vertices()[0] = point;
e->vertices()[1] = keyFrame;
g2o::RobustKernelHuber* rk = new g2o::RobustKernelHuber;
e->setRobustKernel(rk);
rk->setDelta(robust_cost_function_delta_);
e->setId( edgeId );
optimizer_.addEdge( e );
}