当前位置: 首页>>代码示例>>C++>>正文


C++ Vector4d::setZero方法代码示例

本文整理汇总了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;
  }
开发者ID:mruan,项目名称:range_calib,代码行数:19,代码来源:linearTF_solver.hpp

示例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;
}
开发者ID:praman2s,项目名称:brics_3d,代码行数:24,代码来源:Centroid3D.cpp


注:本文中的eigen::Vector4d::setZero方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。