Apollo  6.0
Open source self driving car software
pyramid_map.h
Go to the documentation of this file.
1 /******************************************************************************
2  * Copyright 2019 The Apollo Authors. All Rights Reserved.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *****************************************************************************/
16 #pragma once
17 
20 
21 namespace apollo {
22 namespace localization {
23 namespace msf {
24 namespace pyramid_map {
25 
26 class PyramidMap : public BaseMap {
27  public:
28  explicit PyramidMap(PyramidMapConfig* config);
29  ~PyramidMap();
30 
31  public:
36  float GetIntensitySafe(const Eigen::Vector3d& coordinate, int zone_id,
37  unsigned int resolution_id, unsigned int level = 0);
41  float GetIntensityVarSafe(const Vector3d& coordinate, int zone_id,
42  unsigned int resolution_id, unsigned int level = 0);
47  float GetAltitudeSafe(const Eigen::Vector3d& coordinate, int zone_id,
48  unsigned int resolution_id, unsigned int level = 0);
53  float GetAltitudeVarSafe(const Eigen::Vector3d& coordinate, int zone_id,
54  unsigned int resolution_id, unsigned int level = 0);
59  float GetGroundAltitudeSafe(const Eigen::Vector3d& coordinate, int zone_id,
60  unsigned int resolution_id,
61  unsigned int level = 0);
63  unsigned int GetCountSafe(const Eigen::Vector3d& coordinate, int zone_id,
64  unsigned int resolution_id, unsigned int level = 0);
66  unsigned int GetGroundCountSafe(const Eigen::Vector3d& coordinate,
67  int zone_id, unsigned int resolution_id,
68  unsigned int level = 0);
69 };
70 
71 } // namespace pyramid_map
72 } // namespace msf
73 } // namespace localization
74 } // namespace apollo
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 sa...
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 retur...
PlanningContext is the runtime context in planning. It is persistent across multiple frames...
Definition: atomic_hash_map.h:25
Eigen::Vector3d Vector3d
Definition: frame_transform.h:27
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.
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 sa...
The data structure of the base map.
Definition: base_map.h:38
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.
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 sa...
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 sa...
Eigen::Vector3d Vector3d
Definition: base_map_fwd.h:35