本文整理汇总了C++中eigen::Vector4d::setZero方法的典型用法代码示例。如果您正苦于以下问题:C++ Vector4d::setZero方法的具体用法?C++ Vector4d::setZero怎么用?C++ Vector4d::setZero使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类eigen::Vector4d
的用法示例。
在下文中一共展示了Vector4d::setZero方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
bool compute3DCentroid(std::vector<Point3d>& cloud, Eigen::Vector4d& centroid)
{
if (cloud.empty())
return false;
// Initialize to all 0
centroid.setZero();
for(int i=0; i< cloud.size(); ++i)
{
centroid[0] += cloud[i].x;
centroid[1] += cloud[i].y;
centroid[2] += cloud[i].z;
// printf("Point[%d]: %lf %lf %lf\n", cloud[i].x, cloud[i].y, cloud[i].z);
}
centroid[3] = 0.0;
centroid /= static_cast<double>(cloud.size());
return true;
}
示例2:
Eigen::Vector4d Centroid3D::computeCentroid (PointCloud3D *inCloud, const std::vector<int> &indices) {
Eigen::Vector4d centroid;
centroid.setZero ();
if (indices.size () == 0) {
return Eigen::Vector4d(0,0,0,0);
}
// For each point in the cloud
int cp = 0;
for (size_t i = 0; i < indices.size (); ++i) {
// Check if the point is invalid
if ( isnan( (*inCloud->getPointCloud())[indices[i]].getX() ) || isnan( (*inCloud->getPointCloud())[indices[i]].getY() ) || isnan( (*inCloud->getPointCloud())[indices[i]].getZ() ))
continue;
centroid[0] += (*inCloud->getPointCloud())[indices[i]].getX();
centroid[1] += (*inCloud->getPointCloud())[indices[i]].getY();
centroid[2] += (*inCloud->getPointCloud())[indices[i]].getZ();
cp++;
}
centroid /= cp;
return centroid;
}