Apollo 11.0
自动驾驶开放平台
apollo::perception::lidar::SppCluster结构体 参考

#include <spp_cluster.h>

apollo::perception::lidar::SppCluster 的协作图:

Public 成员函数

 SppCluster ()
 
void AddPointSample (const base::PointF &point, float height, uint32_t point_id)
 
void SortPoint ()
 
void clear ()
 
void RemovePoints (const CloudMask &mask)
 

Public 属性

std::vector< SppPoint > points
 
std::vector< uint32_t > point_ids
 
std::vector< uint32_t > pixels
 
std::vector< float > class_prob
 
SppClassType type = SppClassType::OTHERS
 
float yaw = 0.f
 
float confidence = 1.f
 
float top_z = kDefaultTopZ
 
size_t points_in_roi = 0
 

静态 Public 属性

static const size_t kDefaultReserveSize = 1000
 
static constexpr float kDefaultTopZ = 50.f
 

详细描述

在文件 spp_cluster.h 第 56 行定义.

构造及析构函数说明

◆ SppCluster()

apollo::perception::lidar::SppCluster::SppCluster ( )
inline

在文件 spp_cluster.h 第 70 行定义.

70 {
74 class_prob.reserve(static_cast<size_t>(SppClassType::MAX_TYPE));
75 }
std::vector< uint32_t > point_ids
Definition spp_cluster.h:59
std::vector< uint32_t > pixels
Definition spp_cluster.h:61
std::vector< SppPoint > points
Definition spp_cluster.h:58
static const size_t kDefaultReserveSize

成员函数说明

◆ AddPointSample()

void apollo::perception::lidar::SppCluster::AddPointSample ( const base::PointF &  point,
float  height,
uint32_t  point_id 
)
inline

在文件 spp_cluster.h 第 77 行定义.

78 {
79 points.push_back(SppPoint(point, height));
80 point_ids.push_back(point_id);
81 }

◆ clear()

void apollo::perception::lidar::SppCluster::clear ( )
inline

◆ RemovePoints()

void apollo::perception::lidar::SppCluster::RemovePoints ( const CloudMask &  mask)
inline

在文件 spp_cluster.h 第 112 行定义.

112 {
113 size_t valid = 0;
114 for (size_t i = 0; i < point_ids.size(); ++i) {
115 if (mask[point_ids[i]]) {
116 if (valid != i) {
117 point_ids[valid] = point_ids[i];
118 points[valid] = points[i];
119 }
120 ++valid;
121 }
122 }
123 points.resize(valid);
124 point_ids.resize(valid);
125 }

◆ SortPoint()

void apollo::perception::lidar::SppCluster::SortPoint ( )
inline

在文件 spp_cluster.h 第 83 行定义.

83 {
84 std::vector<int> indices(points.size(), 0);
85 std::iota(indices.begin(), indices.end(), 0);
86 std::sort(indices.begin(), indices.end(),
87 [&](const int lhs, const int rhs) {
88 return points[lhs].z < points[rhs].z;
89 });
90 std::vector<SppPoint> points_target(points.size());
91 std::vector<uint32_t> point_ids_target(points.size());
92 for (size_t i = 0; i < points.size(); ++i) {
93 points_target[i] = points[indices[i]];
94 point_ids_target[i] = point_ids[indices[i]];
95 }
96 points.swap(points_target);
97 point_ids.swap(point_ids_target);
98 }

类成员变量说明

◆ class_prob

std::vector<float> apollo::perception::lidar::SppCluster::class_prob

在文件 spp_cluster.h 第 63 行定义.

◆ confidence

float apollo::perception::lidar::SppCluster::confidence = 1.f

在文件 spp_cluster.h 第 66 行定义.

◆ kDefaultReserveSize

const size_t apollo::perception::lidar::SppCluster::kDefaultReserveSize = 1000
static

在文件 spp_cluster.h 第 127 行定义.

◆ kDefaultTopZ

constexpr float apollo::perception::lidar::SppCluster::kDefaultTopZ = 50.f
staticconstexpr

在文件 spp_cluster.h 第 128 行定义.

◆ pixels

std::vector<uint32_t> apollo::perception::lidar::SppCluster::pixels

在文件 spp_cluster.h 第 61 行定义.

◆ point_ids

std::vector<uint32_t> apollo::perception::lidar::SppCluster::point_ids

在文件 spp_cluster.h 第 59 行定义.

◆ points

std::vector<SppPoint> apollo::perception::lidar::SppCluster::points

在文件 spp_cluster.h 第 58 行定义.

◆ points_in_roi

size_t apollo::perception::lidar::SppCluster::points_in_roi = 0

在文件 spp_cluster.h 第 68 行定义.

◆ top_z

float apollo::perception::lidar::SppCluster::top_z = kDefaultTopZ

在文件 spp_cluster.h 第 67 行定义.

◆ type

SppClassType apollo::perception::lidar::SppCluster::type = SppClassType::OTHERS

在文件 spp_cluster.h 第 64 行定义.

◆ yaw

float apollo::perception::lidar::SppCluster::yaw = 0.f

在文件 spp_cluster.h 第 65 行定义.


该结构体的文档由以下文件生成: