示例#1
0
pcl::PointCloud<pcl::PointXYZ>::Ptr
zFilter (pcl::PointCloud<pcl::PointXYZ>::Ptr input_cloud, float min_ratio, float max_ratio)
{
    std::vector<float> z_range = findZRange(input_cloud);

    pcl::PointCloud<pcl::PointXYZ>::Ptr filtered_cloud(new pcl::PointCloud<pcl::PointXYZ>);
    pcl::PassThrough<pcl::PointXYZ> pass;

    pass.setInputCloud(input_cloud);
    pass.setFilterFieldName("z");
    pass.setFilterLimits(min_ratio * z_range[0], max_ratio * z_range[1]);
    pass.filter(*filtered_cloud);
    return filtered_cloud;
}
示例#2
0
文件: WScatterData.C 项目: DTidd/wt
double WScatterData::maximum(Axis axis) const
{
  if (axis == XAxis_3D) {
    if (!xRangeCached_) {
      findXRange();
    }
    return xMax_;
  } else if (axis == YAxis_3D) {
    if (!yRangeCached_) {
      findYRange();
    }
    return yMax_;
  } else if (axis == ZAxis_3D) {
    if (!rangeCached_) {
      findZRange();
    }
    return zMax_;
  } else {
    throw WException("WScatterData: unknown Axis-type");
  }
}