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 (BaseMapMatrix *matrix, CompressionStrategy *strategy) | |
Construct a map node. More... | |
virtual | ~BaseMapNode () |
Destruct a map node. More... | |
virtual void | Init (const BaseMapConfig *map_config, const MapNodeIndex &index, bool create_map_cells=true) |
Initialize the map node. Call this function first before use it! More... | |
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 | Load () |
Load the map node from the disk. More... | |
bool | Load (const char *filename) |
const BaseMapMatrix & | GetMapCellMatrix () const |
Set compression strategy. More... | |
BaseMapMatrix & | GetMapCellMatrix () |
const BaseMapConfig & | GetMapConfig () const |
Get the map settings. More... | |
void | SetMapNodeIndex (const MapNodeIndex &index) |
Set the map node index. 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 |
Get the left top corner of the map node. More... | |
void | SetLeftTopCorner (double x, double y) |
float | GetMapResolution () const |
Get the resolution of this map nodex. More... | |
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... | |
bool | GetCoordinate (const Eigen::Vector3d &coordinate, unsigned int *x, unsigned int *y) const |
Eigen::Vector2d | GetCoordinate (unsigned int x, unsigned int y) const |
Given the local 2D coordinate, return the global coordinate, eigen version. More... | |
Static Public Member Functions | |
static Eigen::Vector2d | GetLeftTopCorner (const BaseMapConfig &option, const MapNodeIndex &index) |
Protected Member Functions | |
virtual unsigned int | LoadBinary (FILE *file) |
Load the map cell from a binary chunk. More... | |
virtual unsigned int | CreateBinary (FILE *file) const |
Create the binary. Serialization of the object. More... | |
virtual unsigned int | GetBinarySize () const |
Get the binary size of the object. More... | |
virtual unsigned int | LoadHeaderBinary (unsigned char *buf) |
Load the map node header from a binary chunk. More... | |
virtual unsigned int | CreateHeaderBinary (unsigned char *buf, unsigned int buf_size) const |
Create the binary header. More... | |
virtual unsigned int | GetHeaderBinarySize () const |
Get the size of the header in bytes. More... | |
virtual unsigned int | LoadBodyBinary (std::vector< unsigned char > *buf) |
Load the map node body from a binary chunk. More... | |
virtual unsigned int | CreateBodyBinary (std::vector< unsigned char > *buf) const |
Create the binary body. More... | |
virtual unsigned int | GetBodyBinarySize () const |
Get the size of the body in bytes. More... | |
bool | SaveIntensityImage (const std::string &path) const |
Save intensity image of node. 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... | |
BaseMapMatrix * | map_matrix_ |
The data structure of the map datas, which is a matrix. 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 |
unsigned int | file_body_binary_size_ = 0 |
The body binary size in file. It's useful when reading and writing files. More... | |
CompressionStrategy * | compression_strategy_ = nullptr |
float | min_altitude_ = 1e6 |
The min altitude of point cloud in the node. More... | |
The data structure of a Node in the map.
apollo::localization::msf::BaseMapNode::BaseMapNode | ( | BaseMapMatrix * | matrix, |
CompressionStrategy * | strategy | ||
) |
Construct a map node.
|
virtual |
Destruct a map node.
|
protectedvirtual |
Create the binary. Serialization of the object.
<return> | The the used size of binary is returned. |
|
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. |
|
virtual |
call before deconstruction or reset.
|
protectedvirtual |
Get the binary size of the object.
|
protectedvirtual |
Get the size of the body in bytes.
bool apollo::localization::msf::BaseMapNode::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.
Given the local 2D coordinate, return the global coordinate. 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, eigen version.
bool apollo::localization::msf::BaseMapNode::GetCoordinate | ( | const Eigen::Vector3d & | coordinate, |
unsigned int * | x, | ||
unsigned int * | y | ||
) | const |
Eigen::Vector2d apollo::localization::msf::BaseMapNode::GetCoordinate | ( | unsigned int | x, |
unsigned int | y | ||
) | const |
Given the local 2D coordinate, return the global coordinate, eigen version.
|
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 |
Get the left top corner of the map node.
|
static |
|
inline |
Set compression strategy.
Get map cell matrix.
|
inline |
|
inline |
Get the map settings.
|
inline |
Get the map node index.
|
inline |
Get the resolution of this map nodex.
|
virtual |
Initialize the map node. Call this function first before use it!
|
virtual |
Initialize the map matrix.
bool apollo::localization::msf::BaseMapNode::Load | ( | ) |
Load the map node from the disk.
bool apollo::localization::msf::BaseMapNode::Load | ( | const char * | filename | ) |
|
protectedvirtual |
Load the map cell from a binary chunk.
<return> | The size read (the real size of object). |
|
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::BaseMapNode::Save | ( | ) |
Save the map node to the disk.
bool apollo::localization::msf::BaseMapNode::SaveIntensityImage | ( | ) | const |
Save intensity image of node.
|
protected |
Save intensity image of node.
|
inline |
Set if the map node data has changed.
|
inline |
Set if the map node is reserved.
|
inline |
|
inline |
Set the map node index.
|
protected |
The compression strategy.
|
protected |
|
mutableprotected |
The body binary size in file. It's useful when reading and writing files.
|
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 min altitude of point cloud in the node.