本文整理汇总了C++中SysSBA::addProj方法的典型用法代码示例。如果您正苦于以下问题:C++ SysSBA::addProj方法的具体用法?C++ SysSBA::addProj怎么用?C++ SysSBA::addProj使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SysSBA
的用法示例。
在下文中一共展示了SysSBA::addProj方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: addProj
void SBANode::addProj(const sba::Projection& msg)
{
int camindex = node_indices[msg.camindex];
int pointindex = point_indices[msg.pointindex];
Vector3d keypoint(msg.u, msg.v, msg.d);
bool stereo = msg.stereo;
bool usecovariance = msg.usecovariance;
Eigen::Matrix3d covariance;
covariance << msg.covariance[0], msg.covariance[1], msg.covariance[2],
msg.covariance[3], msg.covariance[4], msg.covariance[5],
msg.covariance[6], msg.covariance[7], msg.covariance[8];
// Make sure it's valid before adding it.
if (pointindex < (int)sba.tracks.size() && camindex < (int)sba.nodes.size())
{
sba.addProj(camindex, pointindex, keypoint, stereo);
if (usecovariance)
sba.setProjCovariance(camindex, pointindex, covariance);
}
else
{
ROS_INFO("Failed to add projection: C: %d, P: %d, Csize: %d, Psize: %d",
camindex, pointindex,(int)sba.nodes.size(),(int)sba.tracks.size());
}
}