Apollo 10.0
自动驾驶开放平台
|
#include <pyramid_map_node.h>
Public 成员函数 | |
PyramidMapNode () | |
~PyramidMapNode () | |
virtual void | Init (const BaseMapConfig *map_config) |
Initialize the map node. | |
virtual void | Init (const BaseMapConfig *map_config, const MapNodeIndex &index, bool create_map_cells=true) |
void | BottomUpSafe () |
Propagate the data to the coarse resolution by check. | |
void | BottomUpBase () |
Propagate the data to the coarse resolution. | |
bool | AddValueIfInBound (const Eigen::Vector3d &coordinate, unsigned char intensity, unsigned int level=0) |
Add the value of a pixel in the map node if the pixel in the node. | |
void | AddValueIfInBound (const std::vector< Eigen::Vector3d > &coordinates, const std::vector< unsigned char > &intensity, unsigned int level=0) |
Add the value of a pixel in the map node if the pixel in the node. | |
bool | GetCoordinate (const Eigen::Vector2d &coordinate, unsigned int level, unsigned int *x, unsigned int *y) const |
Given the global coordinate, get the local 2D coordinate of the map cell matrix. | |
Eigen::Vector2d | GetCoordinate (unsigned int level, unsigned int x, unsigned int y) const |
Given the local 2D coordinate, return the global coordinate. | |
virtual bool | GetCoordinate (const Eigen::Vector2d &coordinate, unsigned int *x, unsigned int *y) const |
Given the global coordinate, get the local 2D coordinate of the map cell matrix. | |
virtual bool | GetCoordinate (const Eigen::Vector3d &coordinate, unsigned int *x, unsigned int *y) const |
virtual Eigen::Vector2d | GetCoordinate (unsigned int x, unsigned int y) const |
Given the local 2D coordinate, return the global coordinate. | |
float | GetIntensitySafe (const Eigen::Vector3d &coordinate, unsigned int level=0) const |
Given the 3D global coordinate, get the map cell intensity with check. | |
float | GetIntensityVarSafe (const Eigen::Vector3d &coordinate, unsigned int level=0) const |
Given the 3D global coordinate, get the map cell variance of the intensity with check. | |
float | GetAltitudeSafe (const Eigen::Vector3d &coordinate, unsigned int level=0) const |
Given the 3D global coordinate, get the map cell's average altitude with check. | |
float | GetAltitudeVarSafe (const Eigen::Vector3d &coordinate, unsigned int level=0) const |
Given the 3D global coordinate, get the map cell's variance of the altitude with check. | |
float | GetGroundAltitudeSafe (const Eigen::Vector3d &coordinate, unsigned int level=0) const |
Given the 3D global coordinate, get the map cell's average ground altitude with check. | |
unsigned int | GetCountSafe (const Eigen::Vector3d &coordinate, unsigned int level=0) const |
Given the 3D global coordinate, get the map cell's count of the samples with check. | |
unsigned int | GetGroundCountSafe (const Eigen::Vector3d &coordinate, unsigned int level=0) const |
Given the 3D global coordinate, get the map cell's count of the ground samples with check. | |
float | GetIntensity (const Eigen::Vector3d &coordinate, unsigned int level=0) const |
Given the 3D global coordinate, get the map cell intensity without check. | |
float | GetIntensityVar (const Eigen::Vector3d &coordinate, unsigned int level=0) const |
Given the 3D global coordinate, get the map cell variance of the intensity without check. | |
float | GetAltitude (const Eigen::Vector3d &coordinate, unsigned int level=0) const |
Given the 3D global coordinate, get the map cell's average altitude without check. | |
float | GetAltitudeVar (const Eigen::Vector3d &coordinate, unsigned int level=0) const |
Given the 3D global coordinate, get the map cell's variance of the altitude without check. | |
float | GetGroundAltitude (const Eigen::Vector3d &coordinate, unsigned int level=0) const |
Given the 3D global coordinate, get the map cell's average ground altitude without check. | |
unsigned int | GetCount (const Eigen::Vector3d &coordinate, unsigned int level=0) const |
Given the 3D global coordinate, get the map cell's count of the samples without check. | |
unsigned int | GetGroundCount (const Eigen::Vector3d &coordinate, unsigned int level=0) const |
Given the 3D global coordinate, get the map cell's count of the ground samples without check. | |
double | ComputeMeanIntensity (unsigned int level=0) |
Compute mean intensity. | |
![]() | |
BaseMapNode () | |
Construct a map node. | |
BaseMapNode (BaseMapMatrix *matrix, CompressionStrategy *strategy) | |
Construct a map node. | |
virtual | ~BaseMapNode () |
Destruct a map node. | |
virtual void | InitMapMatrix (const BaseMapConfig *map_config) |
Initialize the map matrix. | |
virtual void | Finalize () |
call before deconstruction or reset. | |
virtual void | ResetMapNode () |
Reset map cells data. | |
bool | Save () |
Save the map node to the disk. | |
bool | SaveIntensityImage () const |
Save intensity image of node. | |
bool | SaveAltitudeImage () const |
Save altitude image of node. | |
bool | Load () |
Load the map node from the disk. | |
bool | Load (const char *filename) |
void | SetMapNodeIndex (const MapNodeIndex &index) |
Set the map node index. | |
bool | SaveIntensityImage (const std::string &path) const |
Save intensity image of node. | |
bool | SaveAltitudeImage (const std::string &path) const |
Save altitude image of node. | |
const BaseMapMatrix & | GetMapCellMatrix () const |
Get map cell matrix. | |
BaseMapMatrix & | GetMapCellMatrix () |
const BaseMapConfig & | GetMapConfig () const |
Get the map settings. | |
const BaseMapNodeConfig & | GetMapNodeConfig () const |
Get the map node config. | |
const MapNodeIndex & | GetMapNodeIndex () const |
Get the map node index. | |
void | SetIsReserved (bool is_reserved) |
Set if the map node is reserved. | |
bool | GetIsReserved () const |
Get if the map node is reserved. | |
bool | GetIsChanged () const |
Get if the map data has changed. | |
void | SetIsChanged (bool is) |
Set if the map node data has changed. | |
bool | GetIsReady () const |
Get if the map node data is ready | |
const Eigen::Vector2d & | GetLeftTopCorner () const |
void | SetLeftTopCorner (double x, double y) |
Set the left top corner of the map node. | |
float | GetMapResolution () const |
Get the resolution of this map nodex. | |
额外继承的成员函数 | |
![]() | |
static Eigen::Vector2d | ComputeLeftTopCorner (const BaseMapConfig &config, const MapNodeIndex &index) |
static Eigen::Vector2d | GetLeftTopCorner (const BaseMapConfig &option, const MapNodeIndex &index) |
![]() | |
bool | CreateMapDirectory (const std::string &path) const |
Try to create the map directory. | |
bool | CreateMapDirectoryRecursively (const std::vector< std::string > &paths) const |
Try to create the map directory recursively. | |
bool | CheckMapDirectoryRecursively (const std::vector< std::string > &paths) const |
Try to check the map directory recursively. | |
virtual bool | LoadBinary (FILE *file) |
Load the map cell from a binary chunk. | |
virtual bool | CreateBinary (FILE *file) const |
Create the binary. | |
virtual size_t | GetBinarySize () const |
Get the binary size of the object. | |
virtual size_t | LoadHeaderBinary (const unsigned char *buf) |
Load the map node header from a binary chunk. | |
virtual size_t | CreateHeaderBinary (unsigned char *buf, size_t buf_size) const |
Create the binary header. | |
virtual size_t | GetHeaderBinarySize () const |
Get the size of the header in bytes. | |
virtual size_t | LoadBodyBinary (std::vector< unsigned char > *buf) |
Load the map node body from a binary chunk. | |
virtual size_t | CreateBodyBinary (std::vector< unsigned char > *buf) const |
Create the binary body. | |
virtual size_t | GetBodyBinarySize () const |
Get the size of the body in bytes. | |
![]() | |
const BaseMapConfig * | map_config_ = nullptr |
The map settings. | |
MapNodeIndex | index_ |
The index of this node | |
Eigen::Vector2d | left_top_corner_ |
The left top corner of the map node in the global coordinate system. | |
std::shared_ptr< BaseMapNodeConfig > | map_node_config_ = nullptr |
The map node config. | |
std::shared_ptr< BaseMapMatrix > | map_matrix_ = nullptr |
The data structure of the map datas, which is a matrix. | |
std::shared_ptr< BaseMapMatrixHandler > | map_matrix_handler_ = nullptr |
The class to load and create map matrix binary. | |
bool | is_reserved_ = false |
If the node is reserved in map. | |
bool | is_changed_ = false |
Has the map node been changed. | |
bool | data_is_ready_ = false |
size_t | file_body_binary_size_ = 0 |
The body binary size in file. | |
size_t | uncompressed_file_body_size_ = 0 |
std::shared_ptr< CompressionStrategy > | compression_strategy_ = nullptr |
@bried The compression strategy. | |
在文件 pyramid_map_node.h 第 30 行定义.
apollo::localization::msf::pyramid_map::PyramidMapNode::PyramidMapNode | ( | ) |
在文件 pyramid_map_node.cc 第 29 行定义.
apollo::localization::msf::pyramid_map::PyramidMapNode::~PyramidMapNode | ( | ) |
在文件 pyramid_map_node.cc 第 31 行定义.
bool apollo::localization::msf::pyramid_map::PyramidMapNode::AddValueIfInBound | ( | const Eigen::Vector3d & | coordinate, |
unsigned char | intensity, | ||
unsigned int | level = 0 |
||
) |
Add the value of a pixel in the map node if the pixel in the node.
<coordinate> | The 3D global coordinate. |
<intensity> | The reflectance intensity. |
<return> | True, if pixel in the bound of the node, else False. |
在文件 pyramid_map_node.cc 第 114 行定义.
void apollo::localization::msf::pyramid_map::PyramidMapNode::AddValueIfInBound | ( | const std::vector< Eigen::Vector3d > & | coordinates, |
const std::vector< unsigned char > & | intensity, | ||
unsigned int | level = 0 |
||
) |
Add the value of a pixel in the map node if the pixel in the node.
<coordinates> | The 3D global coordinates. |
<intensities> | The reflectance intensities. |
在文件 pyramid_map_node.cc 第 133 行定义.
void apollo::localization::msf::pyramid_map::PyramidMapNode::BottomUpBase | ( | ) |
Propagate the data to the coarse resolution.
only update count, intensity, intensity var and altitude
在文件 pyramid_map_node.cc 第 102 行定义.
void apollo::localization::msf::pyramid_map::PyramidMapNode::BottomUpSafe | ( | ) |
Propagate the data to the coarse resolution by check.
在文件 pyramid_map_node.cc 第 108 行定义.
double apollo::localization::msf::pyramid_map::PyramidMapNode::ComputeMeanIntensity | ( | unsigned int | level = 0 | ) |
Compute mean intensity.
在文件 pyramid_map_node.cc 第 495 行定义.
float apollo::localization::msf::pyramid_map::PyramidMapNode::GetAltitude | ( | const Eigen::Vector3d & | coordinate, |
unsigned int | level = 0 |
||
) | const |
Given the 3D global coordinate, get the map cell's average altitude without check.
在文件 pyramid_map_node.cc 第 388 行定义.
float apollo::localization::msf::pyramid_map::PyramidMapNode::GetAltitudeSafe | ( | const Eigen::Vector3d & | coordinate, |
unsigned int | level = 0 |
||
) | const |
Given the 3D global coordinate, get the map cell's average altitude with check.
在文件 pyramid_map_node.cc 第 239 行定义.
float apollo::localization::msf::pyramid_map::PyramidMapNode::GetAltitudeVar | ( | const Eigen::Vector3d & | coordinate, |
unsigned int | level = 0 |
||
) | const |
Given the 3D global coordinate, get the map cell's variance of the altitude without check.
在文件 pyramid_map_node.cc 第 409 行定义.
float apollo::localization::msf::pyramid_map::PyramidMapNode::GetAltitudeVarSafe | ( | const Eigen::Vector3d & | coordinate, |
unsigned int | level = 0 |
||
) | const |
Given the 3D global coordinate, get the map cell's variance of the altitude with check.
在文件 pyramid_map_node.cc 第 260 行定义.
|
virtual |
Given the global coordinate, get the local 2D coordinate of the map cell matrix.
<return> If global coordinate (x, y) belongs to this map node.
重载 apollo::localization::msf::pyramid_map::BaseMapNode .
在文件 pyramid_map_node.cc 第 182 行定义.
bool apollo::localization::msf::pyramid_map::PyramidMapNode::GetCoordinate | ( | const Eigen::Vector2d & | coordinate, |
unsigned int | level, | ||
unsigned int * | x, | ||
unsigned int * | y | ||
) | const |
Given the global coordinate, get the local 2D coordinate of the map cell matrix.
<return> If global coordinate (x, y) belongs to this map node.
在文件 pyramid_map_node.cc 第 145 行定义.
|
virtual |
Eigen::Vector2d apollo::localization::msf::pyramid_map::PyramidMapNode::GetCoordinate | ( | unsigned int | level, |
unsigned int | x, | ||
unsigned int | y | ||
) | const |
Given the local 2D coordinate, return the global coordinate.
在文件 pyramid_map_node.cc 第 166 行定义.
|
virtual |
Given the local 2D coordinate, return the global coordinate.
重载 apollo::localization::msf::pyramid_map::BaseMapNode .
在文件 pyramid_map_node.cc 第 191 行定义.
unsigned int apollo::localization::msf::pyramid_map::PyramidMapNode::GetCount | ( | const Eigen::Vector3d & | coordinate, |
unsigned int | level = 0 |
||
) | const |
Given the 3D global coordinate, get the map cell's count of the samples without check.
在文件 pyramid_map_node.cc 第 452 行定义.
unsigned int apollo::localization::msf::pyramid_map::PyramidMapNode::GetCountSafe | ( | const Eigen::Vector3d & | coordinate, |
unsigned int | level = 0 |
||
) | const |
Given the 3D global coordinate, get the map cell's count of the samples with check.
在文件 pyramid_map_node.cc 第 303 行定义.
float apollo::localization::msf::pyramid_map::PyramidMapNode::GetGroundAltitude | ( | const Eigen::Vector3d & | coordinate, |
unsigned int | level = 0 |
||
) | const |
Given the 3D global coordinate, get the map cell's average ground altitude without check.
在文件 pyramid_map_node.cc 第 430 行定义.
float apollo::localization::msf::pyramid_map::PyramidMapNode::GetGroundAltitudeSafe | ( | const Eigen::Vector3d & | coordinate, |
unsigned int | level = 0 |
||
) | const |
Given the 3D global coordinate, get the map cell's average ground altitude with check.
在文件 pyramid_map_node.cc 第 281 行定义.
unsigned int apollo::localization::msf::pyramid_map::PyramidMapNode::GetGroundCount | ( | const Eigen::Vector3d & | coordinate, |
unsigned int | level = 0 |
||
) | const |
Given the 3D global coordinate, get the map cell's count of the ground samples without check.
在文件 pyramid_map_node.cc 第 473 行定义.
unsigned int apollo::localization::msf::pyramid_map::PyramidMapNode::GetGroundCountSafe | ( | const Eigen::Vector3d & | coordinate, |
unsigned int | level = 0 |
||
) | const |
Given the 3D global coordinate, get the map cell's count of the ground samples with check.
在文件 pyramid_map_node.cc 第 324 行定义.
float apollo::localization::msf::pyramid_map::PyramidMapNode::GetIntensity | ( | const Eigen::Vector3d & | coordinate, |
unsigned int | level = 0 |
||
) | const |
Given the 3D global coordinate, get the map cell intensity without check.
在文件 pyramid_map_node.cc 第 346 行定义.
float apollo::localization::msf::pyramid_map::PyramidMapNode::GetIntensitySafe | ( | const Eigen::Vector3d & | coordinate, |
unsigned int | level = 0 |
||
) | const |
Given the 3D global coordinate, get the map cell intensity with check.
在文件 pyramid_map_node.cc 第 196 行定义.
float apollo::localization::msf::pyramid_map::PyramidMapNode::GetIntensityVar | ( | const Eigen::Vector3d & | coordinate, |
unsigned int | level = 0 |
||
) | const |
Given the 3D global coordinate, get the map cell variance of the intensity without check.
在文件 pyramid_map_node.cc 第 367 行定义.
float apollo::localization::msf::pyramid_map::PyramidMapNode::GetIntensityVarSafe | ( | const Eigen::Vector3d & | coordinate, |
unsigned int | level = 0 |
||
) | const |
Given the 3D global coordinate, get the map cell variance of the intensity with check.
在文件 pyramid_map_node.cc 第 217 行定义.
|
virtual |
Initialize the map node.
Call this function first before use it!
实现了 apollo::localization::msf::pyramid_map::BaseMapNode.
在文件 pyramid_map_node.cc 第 33 行定义.
|
virtual |
实现了 apollo::localization::msf::pyramid_map::BaseMapNode.
在文件 pyramid_map_node.cc 第 69 行定义.