Apollo 11.0
自动驾驶开放平台
apollo::perception::lidar::ROIServiceContent类 参考

#include <roi_service.h>

类 apollo::perception::lidar::ROIServiceContent 继承关系图:
apollo::perception::lidar::ROIServiceContent 的协作图:

Public 类型

enum class  DirectionMajor { XMAJOR = 0 , YMAJOR = 1 }
 
using Vec2ui = Eigen::Matrix< size_t, 2, 1 >
 

Public 成员函数

 ROIServiceContent ()=default
 
 ~ROIServiceContent ()=default
 
void GetCopy (SceneServiceContent *content) const override
 
void SetContent (const SceneServiceContent &content) override
 
std::string Name () const override
 
bool CheckBit (const size_t loc, const uint64_t block) const
 
bool Check (const Eigen::Vector3d &world_point) const
 
- Public 成员函数 继承自 apollo::perception::lidar::SceneServiceContent
 SceneServiceContent ()=default
 
virtual ~SceneServiceContent ()=default
 
bool IsServiceReady () const
 

Public 属性

std::vector< uint64_t > bitmap_
 
Vec2ui map_size_
 
double cell_size_ = 0.25
 
double range_ = 120.0
 
DirectionMajor major_dir_ = DirectionMajor::XMAJOR
 
Eigen::Vector3d transform_
 

额外继承的成员函数

- Protected 属性 继承自 apollo::perception::lidar::SceneServiceContent
bool service_ready_ = false
 

详细描述

在文件 roi_service.h 第 32 行定义.

成员类型定义说明

◆ Vec2ui

using apollo::perception::lidar::ROIServiceContent::Vec2ui = Eigen::Matrix<size_t, 2, 1>

在文件 roi_service.h 第 37 行定义.

成员枚举类型说明

◆ DirectionMajor

构造及析构函数说明

◆ ROIServiceContent()

apollo::perception::lidar::ROIServiceContent::ROIServiceContent ( )
default

◆ ~ROIServiceContent()

apollo::perception::lidar::ROIServiceContent::~ROIServiceContent ( )
default

成员函数说明

◆ Check()

bool apollo::perception::lidar::ROIServiceContent::Check ( const Eigen::Vector3d &  world_point) const

在文件 roi_service.cc 第 63 行定义.

63 {
64 if (!service_ready_) {
65 return false;
66 }
67 Eigen::Vector2d pt;
68 pt(0) = world_point(0) - transform_(0) + range_;
69 pt(1) = world_point(1) - transform_(1) + range_;
70 if (pt(0) >= 0 && pt(0) < 2 * range_ && pt(1) >= 0 && pt(1) < 2 * range_) {
71 const size_t ix =
72 static_cast<size_t>(pt(static_cast<size_t>(major_dir_)) / cell_size_);
73 const size_t iy = static_cast<size_t>(
74 pt(static_cast<size_t>(major_dir_) ^ 1) / cell_size_);
75 const size_t idx_y = iy >> 6;
76 const size_t idx_z = iy & 63;
77 const size_t idx = ix * map_size_[1] + idx_y;
78 return CheckBit(idx_z, bitmap_[idx]);
79 }
80 return false;
81}
bool CheckBit(const size_t loc, const uint64_t block) const

◆ CheckBit()

bool apollo::perception::lidar::ROIServiceContent::CheckBit ( const size_t  loc,
const uint64_t  block 
) const
inline

在文件 roi_service.cc 第 58 行定义.

59 {
60 return block & (static_cast<uint64_t>(1) << loc);
61}

◆ GetCopy()

void apollo::perception::lidar::ROIServiceContent::GetCopy ( SceneServiceContent *  content) const
overridevirtual

实现了 apollo::perception::lidar::SceneServiceContent.

在文件 roi_service.cc 第 27 行定义.

27 {
28 ROIServiceContent* roi_content = dynamic_cast<ROIServiceContent*>(content);
29 if (roi_content == nullptr) {
30 return;
31 }
32 roi_content->bitmap_ = bitmap_;
33 roi_content->map_size_ = map_size_;
34 roi_content->cell_size_ = cell_size_;
35 roi_content->range_ = range_;
36 roi_content->major_dir_ = major_dir_;
37 roi_content->transform_ = transform_;
38 roi_content->service_ready_ = service_ready_;
39}

◆ Name()

std::string apollo::perception::lidar::ROIServiceContent::Name ( ) const
inlineoverridevirtual

实现了 apollo::perception::lidar::SceneServiceContent.

在文件 roi_service.h 第 53 行定义.

53{ return "ROIServiceContent"; }

◆ SetContent()

void apollo::perception::lidar::ROIServiceContent::SetContent ( const SceneServiceContent &  content)
overridevirtual

实现了 apollo::perception::lidar::SceneServiceContent.

在文件 roi_service.cc 第 41 行定义.

41 {
42 const ROIServiceContent* roi_content =
43 dynamic_cast<const ROIServiceContent*>(&content);
44 if (roi_content == nullptr) {
45 return;
46 }
47 // copy content
48 bitmap_ = roi_content->bitmap_;
49 map_size_ = roi_content->map_size_;
50 cell_size_ = roi_content->cell_size_;
51 range_ = roi_content->range_;
52 major_dir_ = roi_content->major_dir_;
53 transform_ = roi_content->transform_;
54 // set ready to true
55 service_ready_ = true;
56}

类成员变量说明

◆ bitmap_

std::vector<uint64_t> apollo::perception::lidar::ROIServiceContent::bitmap_

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

◆ cell_size_

double apollo::perception::lidar::ROIServiceContent::cell_size_ = 0.25

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

◆ major_dir_

DirectionMajor apollo::perception::lidar::ROIServiceContent::major_dir_ = DirectionMajor::XMAJOR

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

◆ map_size_

Vec2ui apollo::perception::lidar::ROIServiceContent::map_size_

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

◆ range_

double apollo::perception::lidar::ROIServiceContent::range_ = 120.0

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

◆ transform_

Eigen::Vector3d apollo::perception::lidar::ROIServiceContent::transform_

在文件 roi_service.h 第 69 行定义.


该类的文档由以下文件生成: