Apollo  6.0
Open source self driving car software
Public Member Functions | List of all members
apollo::localization::msf::pyramid_map::NdtMap Class Reference

#include <ndt_map.h>

Inheritance diagram for apollo::localization::msf::pyramid_map::NdtMap:
Inheritance graph
Collaboration diagram for apollo::localization::msf::pyramid_map::NdtMap:
Collaboration graph

Public Member Functions

 NdtMap (NdtMapConfig *config)
 
 ~NdtMap ()
 
- Public Member Functions inherited from apollo::localization::msf::pyramid_map::BaseMap
 BaseMap (BaseMapConfig *config)
 The constructor. More...
 
virtual ~BaseMap ()
 The destructor. More...
 
virtual void InitMapNodeCaches (int cacheL1_size, int cahceL2_size)
 
void AttachMapNodePool (BaseMapNodePool *p_map_node_pool)
 Attach map node pointer. More...
 
BaseMapNodeGetMapNode (const MapNodeIndex &index)
 Return the map node, if it's not in the cache, return false. More...
 
BaseMapNodeGetMapNodeSafe (const MapNodeIndex &index)
 Return the map node, if it's not in the cache, safely load it. More...
 
bool IsMapNodeExist (const MapNodeIndex &index)
 Check if the map node in the cache. More...
 
bool SetMapFolderPath (const std::string folder_path)
 Set the directory of the map. More...
 
void AddDataset (const std::string dataset_path)
 Add a dataset path to the map config. More...
 
void Release ()
 Release resources. More...
 
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. It will forecasts the nodes by the direction of the car moving. Because the progress of loading will cost a long time (over 100ms), it must do this for a period of time in advance. After the index of nodes calculate finished, it will create loading tasks, but will not wait for the loading finished, eigen version. More...
 
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. If the forecasts are correct in last frame, these nodes will be all in cache, if not, then need to create loading tasks, and wait for the loading finish, in order to the nodes which the following calculate needed are all in the memory, eigen version. More...
 
void ComputeMd5ForAllMapNodes ()
 Compute md5 for all map node file in map. More...
 
bool CheckMap ()
 Check if map is normal. More...
 
bool CheckMapStrictly ()
 Check if map is normal(with map node checking). More...
 
const BaseMapConfigGetMapConfig () const
 Get the map config. More...
 
BaseMapConfigGetMapConfig ()
 Get the map config. More...
 
const std::vector< std::string > & GetAllMapNodePaths () const
 Get all map node paths. More...
 
const std::vector< std::string > & GetAllMapNodeMd5s () const
 Get all map node md5s. More...
 

Additional Inherited Members

- Protected Member Functions inherited from 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. More...
 
void PreloadMapNodes (std::set< MapNodeIndex > *map_ids)
 Load map node by index. More...
 
void LoadMapNodeThreadSafety (const MapNodeIndex &index, bool is_reserved=false)
 Load map node by index, thread_safety. More...
 
void CheckAndUpdateCache (std::set< MapNodeIndex > *map_ids)
 Check map node in L2 Cache. More...
 
- Protected Attributes inherited from apollo::localization::msf::pyramid_map::BaseMap
BaseMapConfigmap_config_ = nullptr
 The map settings. More...
 
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. More...
 
std::unique_ptr< MapNodeCache< MapNodeIndex, BaseMapNode > > map_node_cache_lvl2_ = nullptr
 
BaseMapNodePoolmap_node_pool_ = nullptr
 The map node memory pool pointer. More...
 
std::set< MapNodeIndexmap_preloading_task_index_
 
boost::recursive_mutex map_load_mutex_
 The mutex for preload map node. More...
 
std::vector< MapNodeIndexall_map_node_indices_
 All the map nodes in the Map (in the disk). More...
 
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). More...
 

Constructor & Destructor Documentation

◆ NdtMap()

apollo::localization::msf::pyramid_map::NdtMap::NdtMap ( NdtMapConfig config)
explicit

◆ ~NdtMap()

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

The documentation for this class was generated from the following file: