Apollo 10.0
自动驾驶开放平台
apollo::localization::msf::pyramid_map::PyramidMap类 参考

#include <pyramid_map.h>

类 apollo::localization::msf::pyramid_map::PyramidMap 继承关系图:
apollo::localization::msf::pyramid_map::PyramidMap 的协作图:

Public 成员函数

 PyramidMap (PyramidMapConfig *config)
 
 ~PyramidMap ()
 
float GetIntensitySafe (const Eigen::Vector3d &coordinate, int zone_id, unsigned int resolution_id, unsigned int level=0)
 Given the 3D global coordinate, this function loads the corresponding map node in the cache thread safely and return intensity, if necessary.
 
float GetIntensityVarSafe (const Vector3d &coordinate, int zone_id, unsigned int resolution_id, unsigned int level=0)
 Given the 3D global coordinate, this function loads the corresponding map node in the cache and return intensity var, if necessary.
 
float GetAltitudeSafe (const Eigen::Vector3d &coordinate, int zone_id, unsigned int resolution_id, unsigned int level=0)
 Given the 3D global coordinate, this function loads the corresponding map node in the cache thread safely and return altitude, if necessary.
 
float GetAltitudeVarSafe (const Eigen::Vector3d &coordinate, int zone_id, unsigned int resolution_id, unsigned int level=0)
 Given the 3D global coordinate, this function loads the corresponding map node in the cache thread safely and return altitude var, if necessary.
 
float GetGroundAltitudeSafe (const Eigen::Vector3d &coordinate, int zone_id, unsigned int resolution_id, unsigned int level=0)
 Given the 3D global coordinate, this function loads the corresponding map node in the cache thread safely and return ground altitude, if necessary.
 
unsigned int GetCountSafe (const Eigen::Vector3d &coordinate, int zone_id, unsigned int resolution_id, unsigned int level=0)
 Get the number of samples in the map cell thread safely.
 
unsigned int GetGroundCountSafe (const Eigen::Vector3d &coordinate, int zone_id, unsigned int resolution_id, unsigned int level=0)
 Get the number of ground samples in the map cell thread safely.
 
- Public 成员函数 继承自 apollo::localization::msf::pyramid_map::BaseMap
 BaseMap (BaseMapConfig *config)
 The constructor.
 
virtual ~BaseMap ()
 The destructor.
 
virtual void InitMapNodeCaches (int cacheL1_size, int cahceL2_size)
 
void AttachMapNodePool (BaseMapNodePool *p_map_node_pool)
 Attach map node pointer.
 
BaseMapNodeGetMapNode (const MapNodeIndex &index)
 Return the map node, if it's not in the cache, return false.
 
BaseMapNodeGetMapNodeSafe (const MapNodeIndex &index)
 Return the map node, if it's not in the cache, safely load it.
 
bool IsMapNodeExist (const MapNodeIndex &index)
 Check if the map node in the cache.
 
bool SetMapFolderPath (const std::string folder_path)
 Set the directory of the map.
 
void AddDataset (const std::string dataset_path)
 Add a dataset path to the map config.
 
void Release ()
 Release resources.
 
virtual void PreloadMapArea (const Eigen::Vector3d &location, const Eigen::Vector3d &trans_diff, unsigned int resolution_id, unsigned int zone_id)
 Preload map nodes for the next frame location calculation.
 
virtual bool LoadMapArea (const Eigen::Vector3d &seed_pt3d, unsigned int resolution_id, unsigned int zone_id, int filter_size_x, int filter_size_y)
 Load map nodes for the location calculate of this frame.
 
void ComputeMd5ForAllMapNodes ()
 Compute md5 for all map node file in map.
 
bool CheckMap ()
 Check if map is normal.
 
bool CheckMapStrictly ()
 Check if map is normal(with map node checking).
 
const BaseMapConfigGetMapConfig () const
 Get the map config.
 
BaseMapConfigGetMapConfig ()
 Get the map config.
 
const std::vector< std::string > & GetAllMapNodePaths () const
 Get all map node paths.
 
const std::vector< std::string > & GetAllMapNodeMd5s () const
 Get all map node md5s.
 

额外继承的成员函数

- Protected 成员函数 继承自 apollo::localization::msf::pyramid_map::BaseMap
void GetAllMapIndexAndPath ()
 
MapNodeIndex GetMapIndexFromMapPath (const std::string &map_path)
 
void LoadMapNodes (std::set< MapNodeIndex > *map_ids)
 Load map node by index.
 
void PreloadMapNodes (std::set< MapNodeIndex > *map_ids)
 Load map node by index.
 
void LoadMapNodeThreadSafety (const MapNodeIndex &index, bool is_reserved=false)
 Load map node by index, thread_safety.
 
void CheckAndUpdateCache (std::set< MapNodeIndex > *map_ids)
 Check map node in L2 Cache.
 
- Protected 属性 继承自 apollo::localization::msf::pyramid_map::BaseMap
BaseMapConfigmap_config_ = nullptr
 The map settings.
 
MapNodeCache< MapNodeIndex, BaseMapNode >::DestroyFunc destroy_func_lvl1_
 
MapNodeCache< MapNodeIndex, BaseMapNode >::DestroyFunc destroy_func_lvl2_
 
std::unique_ptr< MapNodeCache< MapNodeIndex, BaseMapNode > > map_node_cache_lvl1_ = nullptr
 The cache for map node preload.
 
std::unique_ptr< MapNodeCache< MapNodeIndex, BaseMapNode > > map_node_cache_lvl2_ = nullptr
 brief The dynamic map node preloading thread pool pointer.
 
BaseMapNodePoolmap_node_pool_ = nullptr
 The map node memory pool pointer.
 
std::set< MapNodeIndexmap_preloading_task_index_
 @bried Keep the index of preloading nodes.
 
boost::recursive_mutex map_load_mutex_
 The mutex for preload map node.
 
std::vector< MapNodeIndexall_map_node_indices_
 All the map nodes in the Map (in the disk).
 
std::vector< std::string > all_map_node_paths_
 
std::vector< std::string > all_map_node_md5s_
 All the map nodes' md5 in the Map (in the disk).
 

详细描述

在文件 pyramid_map.h26 行定义.

构造及析构函数说明

◆ PyramidMap()

apollo::localization::msf::pyramid_map::PyramidMap::PyramidMap ( PyramidMapConfig config)
explicit

在文件 pyramid_map.cc26 行定义.

26: BaseMap(config) {}
BaseMap(BaseMapConfig *config)
The constructor.
Definition base_map.cc:32

◆ ~PyramidMap()

apollo::localization::msf::pyramid_map::PyramidMap::~PyramidMap ( )

在文件 pyramid_map.cc28 行定义.

28{}

成员函数说明

◆ GetAltitudeSafe()

float apollo::localization::msf::pyramid_map::PyramidMap::GetAltitudeSafe ( const Eigen::Vector3d &  coordinate,
int  zone_id,
unsigned int  resolution_id,
unsigned int  level = 0 
)

Given the 3D global coordinate, this function loads the corresponding map node in the cache thread safely and return altitude, if necessary.

在文件 pyramid_map.cc48 行定义.

50 {
52 resolution_id, zone_id);
53 PyramidMapNode* node = dynamic_cast<PyramidMapNode*>(GetMapNodeSafe(index));
54 return node->GetAltitudeSafe(coordinate, level);
55}
BaseMapNode * GetMapNodeSafe(const MapNodeIndex &index)
Return the map node, if it's not in the cache, safely load it.
Definition base_map.cc:63
const BaseMapConfig & GetMapConfig() const
Get the map config.
Definition base_map.h:97
static MapNodeIndex GetMapNodeIndex(const BaseMapConfig &option, const Eigen::Vector3d &coordinate, unsigned int resolution_id, int zone_id)
Construct a map node index, given a global coordinate, eigen version.
apollo::localization::msf::pyramid_map::MapNodeIndex MapNodeIndex

◆ GetAltitudeVarSafe()

float apollo::localization::msf::pyramid_map::PyramidMap::GetAltitudeVarSafe ( const Eigen::Vector3d &  coordinate,
int  zone_id,
unsigned int  resolution_id,
unsigned int  level = 0 
)

Given the 3D global coordinate, this function loads the corresponding map node in the cache thread safely and return altitude var, if necessary.

在文件 pyramid_map.cc57 行定义.

59 {
61 resolution_id, zone_id);
62 PyramidMapNode* node = dynamic_cast<PyramidMapNode*>(GetMapNodeSafe(index));
63 return node->GetAltitudeVarSafe(coordinate, level);
64}

◆ GetCountSafe()

unsigned int apollo::localization::msf::pyramid_map::PyramidMap::GetCountSafe ( const Eigen::Vector3d &  coordinate,
int  zone_id,
unsigned int  resolution_id,
unsigned int  level = 0 
)

Get the number of samples in the map cell thread safely.

在文件 pyramid_map.cc75 行定义.

77 {
79 resolution_id, zone_id);
80 PyramidMapNode* node = dynamic_cast<PyramidMapNode*>(GetMapNodeSafe(index));
81 return node->GetCountSafe(coordinate, level);
82}

◆ GetGroundAltitudeSafe()

float apollo::localization::msf::pyramid_map::PyramidMap::GetGroundAltitudeSafe ( const Eigen::Vector3d &  coordinate,
int  zone_id,
unsigned int  resolution_id,
unsigned int  level = 0 
)

Given the 3D global coordinate, this function loads the corresponding map node in the cache thread safely and return ground altitude, if necessary.

在文件 pyramid_map.cc66 行定义.

68 {
70 resolution_id, zone_id);
71 PyramidMapNode* node = dynamic_cast<PyramidMapNode*>(GetMapNodeSafe(index));
72 return node->GetGroundAltitudeSafe(coordinate, level);
73}

◆ GetGroundCountSafe()

unsigned int apollo::localization::msf::pyramid_map::PyramidMap::GetGroundCountSafe ( const Eigen::Vector3d &  coordinate,
int  zone_id,
unsigned int  resolution_id,
unsigned int  level = 0 
)

Get the number of ground samples in the map cell thread safely.

在文件 pyramid_map.cc84 行定义.

87 {
89 resolution_id, zone_id);
90 PyramidMapNode* node = dynamic_cast<PyramidMapNode*>(GetMapNodeSafe(index));
91 return node->GetGroundCountSafe(coordinate, level);
92}

◆ GetIntensitySafe()

float apollo::localization::msf::pyramid_map::PyramidMap::GetIntensitySafe ( const Eigen::Vector3d &  coordinate,
int  zone_id,
unsigned int  resolution_id,
unsigned int  level = 0 
)

Given the 3D global coordinate, this function loads the corresponding map node in the cache thread safely and return intensity, if necessary.

在文件 pyramid_map.cc30 行定义.

32 {
34 resolution_id, zone_id);
35 PyramidMapNode* node = dynamic_cast<PyramidMapNode*>(GetMapNodeSafe(index));
36 return node->GetIntensitySafe(coordinate, level);
37}

◆ GetIntensityVarSafe()

float apollo::localization::msf::pyramid_map::PyramidMap::GetIntensityVarSafe ( const Vector3d coordinate,
int  zone_id,
unsigned int  resolution_id,
unsigned int  level = 0 
)

Given the 3D global coordinate, this function loads the corresponding map node in the cache and return intensity var, if necessary.

在文件 pyramid_map.cc39 行定义.

41 {
43 resolution_id, zone_id);
44 PyramidMapNode* node = dynamic_cast<PyramidMapNode*>(GetMapNodeSafe(index));
45 return node->GetIntensityVarSafe(coordinate, level);
46}

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