Apollo
6.0
Open source self driving car software
|
The data structure of a Node in the map. More...
#include <base_map_node.h>
Public Member Functions | |
BaseMapNode () | |
Construct a map node. More... | |
BaseMapNode (BaseMapMatrix *matrix, CompressionStrategy *strategy) | |
Construct a map node. More... | |
virtual | ~BaseMapNode () |
Destruct a map node. More... | |
virtual void | Init (const BaseMapConfig *map_config)=0 |
Initialize the map node. Call this function first before use it! More... | |
virtual void | Init (const BaseMapConfig *map_config, const MapNodeIndex &index, bool create_map_cells=true)=0 |
virtual void | InitMapMatrix (const BaseMapConfig *map_config) |
Initialize the map matrix. More... | |
virtual void | Finalize () |
call before deconstruction or reset. More... | |
virtual void | ResetMapNode () |
Reset map cells data. More... | |
bool | Save () |
Save the map node to the disk. More... | |
bool | SaveIntensityImage () const |
Save intensity image of node. More... | |
bool | SaveAltitudeImage () const |
Save altitude image of node. More... | |
bool | Load () |
Load the map node from the disk. More... | |
bool | Load (const char *filename) |
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. <return> If global coordinate (x, y) belongs to this map node. More... | |
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. More... | |
void | SetMapNodeIndex (const MapNodeIndex &index) |
Set the map node index. More... | |
bool | SaveIntensityImage (const std::string &path) const |
Save intensity image of node. More... | |
bool | SaveAltitudeImage (const std::string &path) const |
Save altitude image of node. More... | |
const BaseMapMatrix & | GetMapCellMatrix () const |
Get map cell matrix. More... | |
BaseMapMatrix & | GetMapCellMatrix () |
const BaseMapConfig & | GetMapConfig () const |
Get the map settings. More... | |
const BaseMapNodeConfig & | GetMapNodeConfig () const |
Get the map node config. More... | |
const MapNodeIndex & | GetMapNodeIndex () const |
Get the map node index. More... | |
void | SetIsReserved (bool is_reserved) |
Set if the map node is reserved. More... | |
bool | GetIsReserved () const |
Get if the map node is reserved. More... | |
bool | GetIsChanged () const |
Get if the map data has changed. More... | |
void | SetIsChanged (bool is) |
Set if the map node data has changed. More... | |
bool | GetIsReady () const |
Get if the map node data is ready. More... | |
const Eigen::Vector2d & | GetLeftTopCorner () const |
void | SetLeftTopCorner (double x, double y) |
Set the left top corner of the map node. More... | |
float | GetMapResolution () const |
Get the resolution of this map nodex. More... | |
Static Public Member Functions | |
static Eigen::Vector2d | ComputeLeftTopCorner (const BaseMapConfig &config, const MapNodeIndex &index) |
static Eigen::Vector2d | GetLeftTopCorner (const BaseMapConfig &option, const MapNodeIndex &index) |
Protected Member Functions | |
bool | CreateMapDirectory (const std::string &path) const |
Try to create the map directory. More... | |
bool | CreateMapDirectoryRecursively (const std::vector< std::string > &paths) const |
Try to create the map directory recursively. More... | |
bool | CheckMapDirectoryRecursively (const std::vector< std::string > &paths) const |
Try to check the map directory recursively. More... | |
virtual bool | LoadBinary (FILE *file) |
Load the map cell from a binary chunk. More... | |
virtual bool | CreateBinary (FILE *file) const |
Create the binary. Serialization of the object. More... | |
virtual size_t | GetBinarySize () const |
Get the binary size of the object. More... | |
virtual size_t | LoadHeaderBinary (const unsigned char *buf) |
Load the map node header from a binary chunk. More... | |
virtual size_t | CreateHeaderBinary (unsigned char *buf, size_t buf_size) const |
Create the binary header. More... | |
virtual size_t | GetHeaderBinarySize () const |
Get the size of the header in bytes. More... | |
virtual size_t | LoadBodyBinary (std::vector< unsigned char > *buf) |
Load the map node body from a binary chunk. More... | |
virtual size_t | CreateBodyBinary (std::vector< unsigned char > *buf) const |
Create the binary body. More... | |
virtual size_t | GetBodyBinarySize () const |
Get the size of the body in bytes. More... | |
Protected Attributes | |
const BaseMapConfig * | map_config_ = nullptr |
The map settings. More... | |
MapNodeIndex | index_ |
The index of this node. More... | |
Eigen::Vector2d | left_top_corner_ |
The left top corner of the map node in the global coordinate system. More... | |
std::shared_ptr< BaseMapNodeConfig > | map_node_config_ = nullptr |
The map node config. More... | |
std::shared_ptr< BaseMapMatrix > | map_matrix_ = nullptr |
The data structure of the map datas, which is a matrix. More... | |
std::shared_ptr< BaseMapMatrixHandler > | map_matrix_handler_ = nullptr |
The class to load and create map matrix binary. More... | |
bool | is_reserved_ = false |
If the node is reserved in map. More... | |
bool | is_changed_ = false |
Has the map node been changed. More... | |
bool | data_is_ready_ = false |
size_t | file_body_binary_size_ = 0 |
The body binary size in file. More... | |
size_t | uncompressed_file_body_size_ = 0 |
std::shared_ptr< CompressionStrategy > | compression_strategy_ = nullptr |
The data structure of a Node in the map.
apollo::localization::msf::pyramid_map::BaseMapNode::BaseMapNode | ( | ) |
Construct a map node.
apollo::localization::msf::pyramid_map::BaseMapNode::BaseMapNode | ( | BaseMapMatrix * | matrix, |
CompressionStrategy * | strategy | ||
) |
Construct a map node.
|
virtual |
Destruct a map node.
|
protected |
Try to check the map directory recursively.
|
static |
|
protectedvirtual |
Create the binary. Serialization of the object.
|
protectedvirtual |
Create the binary body.
<buf,buf_size> | The buffer and its size. |
<return> | The required or the used size of is returned. |
|
protectedvirtual |
Create the binary header.
<buf,buf_size> | The buffer and its size. |
<return> | The required or the used size of is returned. |
|
protected |
Try to create the map directory.
|
protected |
Try to create the map directory recursively.
|
virtual |
call before deconstruction or reset.
|
protectedvirtual |
Get the binary size of the object.
|
protectedvirtual |
Get the size of the body in bytes.
|
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.
Reimplemented in apollo::localization::msf::pyramid_map::PyramidMapNode.
|
virtual |
Reimplemented in apollo::localization::msf::pyramid_map::PyramidMapNode.
|
virtual |
Given the local 2D coordinate, return the global coordinate.
Reimplemented in apollo::localization::msf::pyramid_map::PyramidMapNode.
|
protectedvirtual |
Get the size of the header in bytes.
|
inline |
Get if the map data has changed.
|
inline |
Get if the map node data is ready.
|
inline |
Get if the map node is reserved.
|
inline |
|
static |
|
inline |
Get map cell matrix.
|
inline |
|
inline |
Get the map settings.
|
inline |
Get the map node config.
|
inline |
Get the map node index.
|
inline |
Get the resolution of this map nodex.
|
pure virtual |
Initialize the map node. Call this function first before use it!
Implemented in apollo::localization::msf::pyramid_map::NdtMapNode, and apollo::localization::msf::pyramid_map::PyramidMapNode.
|
pure virtual |
|
virtual |
Initialize the map matrix.
bool apollo::localization::msf::pyramid_map::BaseMapNode::Load | ( | ) |
Load the map node from the disk.
bool apollo::localization::msf::pyramid_map::BaseMapNode::Load | ( | const char * | filename | ) |
|
protectedvirtual |
Load the map cell from a binary chunk.
|
protectedvirtual |
Load the map node body from a binary chunk.
<return> | The size read (the real size of body). |
|
protectedvirtual |
Load the map node header from a binary chunk.
<return> | The size read (the real size of header). |
|
virtual |
Reset map cells data.
bool apollo::localization::msf::pyramid_map::BaseMapNode::Save | ( | ) |
Save the map node to the disk.
bool apollo::localization::msf::pyramid_map::BaseMapNode::SaveAltitudeImage | ( | ) | const |
Save altitude image of node.
bool apollo::localization::msf::pyramid_map::BaseMapNode::SaveAltitudeImage | ( | const std::string & | path | ) | const |
Save altitude image of node.
bool apollo::localization::msf::pyramid_map::BaseMapNode::SaveIntensityImage | ( | ) | const |
Save intensity image of node.
bool apollo::localization::msf::pyramid_map::BaseMapNode::SaveIntensityImage | ( | const std::string & | path | ) | const |
Save intensity image of node.
|
inline |
Set if the map node data has changed.
|
inline |
Set if the map node is reserved.
|
inline |
Set the left top corner of the map node.
void apollo::localization::msf::pyramid_map::BaseMapNode::SetMapNodeIndex | ( | const MapNodeIndex & | index | ) |
Set the map node index.
|
protected |
The compression strategy.
|
protected |
|
mutableprotected |
The body binary size in file.
|
protected |
The index of this node.
|
protected |
Has the map node been changed.
|
protected |
If the node is reserved in map.
|
protected |
The left top corner of the map node in the global coordinate system.
|
protected |
The map settings.
|
protected |
The data structure of the map datas, which is a matrix.
|
protected |
The class to load and create map matrix binary.
|
protected |
The map node config.
|
mutableprotected |