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

The data structure of a single ndt map cell. More...

#include <ndt_map_matrix.h>

Collaboration diagram for apollo::localization::msf::NdtMapSingleCell:
Collaboration graph

Public Member Functions

 NdtMapSingleCell ()
 The default constructor. More...
 
void Reset ()
 Reset to default value. More...
 
unsigned int LoadBinary (unsigned char *buf)
 Load the map cell from a binary chunk. More...
 
unsigned int CreateBinary (unsigned char *buf, unsigned int buf_size) const
 Create the binary. Serialization of the object. More...
 
unsigned int GetBinarySize () const
 Get the binary size of the object. More...
 
NdtMapSingleCelloperator= (const NdtMapSingleCell &ref)
 Overloading the assign operator. More...
 
void AddSample (const float intensity, const float altitude, const Eigen::Vector3f centroid, bool is_road=false)
 Add an sample to the single 3d map cell. More...
 
void MergeCell (const float intensity, const float intensity_var, const unsigned int road_pt_count, const unsigned int count, const Eigen::Vector3f &centroid, const Eigen::Matrix3f &centroid_cov)
 Merge two cells. More...
 
void MergeCell (const NdtMapSingleCell &cell_new)
 
void CentroidEigenSolver (const Eigen::Matrix3f &centroid_cov)
 

Static Public Member Functions

static void Reduce (NdtMapSingleCell *cell, const NdtMapSingleCell &cell_new)
 Combine two NdtMapSingleCell instances (Reduce). More...
 

Public Attributes

float intensity_ = 0
 The average intensity value. More...
 
float intensity_var_ = 0
 The variance intensity value. More...
 
unsigned int road_pt_count_ = 0
 The number of samples belonging to road surface. More...
 
unsigned int count_ = 0
 The number of samples in the cell. More...
 
Eigen::Vector3f centroid_
 the centroid of the cell. More...
 
Eigen::Matrix3f centroid_average_cov_
 the pose covariance of the cell. More...
 
Eigen::Matrix3f centroid_icov_
 the pose inverse covariance of the cell. More...
 
unsigned char is_icov_available_ = 0
 the inverse covariance available flag. More...
 
const unsigned int minimum_points_threshold_ = 6
 minimum number of points needed. More...
 

Detailed Description

The data structure of a single ndt map cell.

Constructor & Destructor Documentation

◆ NdtMapSingleCell()

apollo::localization::msf::NdtMapSingleCell::NdtMapSingleCell ( )

The default constructor.

Member Function Documentation

◆ AddSample()

void apollo::localization::msf::NdtMapSingleCell::AddSample ( const float  intensity,
const float  altitude,
const Eigen::Vector3f  centroid,
bool  is_road = false 
)
inline

Add an sample to the single 3d map cell.

◆ CentroidEigenSolver()

void apollo::localization::msf::NdtMapSingleCell::CentroidEigenSolver ( const Eigen::Matrix3f &  centroid_cov)
inline

◆ CreateBinary()

unsigned int apollo::localization::msf::NdtMapSingleCell::CreateBinary ( unsigned char *  buf,
unsigned int  buf_size 
) const

Create the binary. Serialization of the object.

Parameters
<buf,buf_size>The buffer and its size.
<return>The required or the used size of is returned.

◆ GetBinarySize()

unsigned int apollo::localization::msf::NdtMapSingleCell::GetBinarySize ( ) const

Get the binary size of the object.

◆ LoadBinary()

unsigned int apollo::localization::msf::NdtMapSingleCell::LoadBinary ( unsigned char *  buf)

Load the map cell from a binary chunk.

Parameters
<return>The size read (the real size of object).

◆ MergeCell() [1/2]

void apollo::localization::msf::NdtMapSingleCell::MergeCell ( const float  intensity,
const float  intensity_var,
const unsigned int  road_pt_count,
const unsigned int  count,
const Eigen::Vector3f &  centroid,
const Eigen::Matrix3f &  centroid_cov 
)
inline

Merge two cells.

◆ MergeCell() [2/2]

void apollo::localization::msf::NdtMapSingleCell::MergeCell ( const NdtMapSingleCell cell_new)
inline

◆ operator=()

NdtMapSingleCell& apollo::localization::msf::NdtMapSingleCell::operator= ( const NdtMapSingleCell ref)

Overloading the assign operator.

◆ Reduce()

static void apollo::localization::msf::NdtMapSingleCell::Reduce ( NdtMapSingleCell cell,
const NdtMapSingleCell cell_new 
)
static

Combine two NdtMapSingleCell instances (Reduce).

◆ Reset()

void apollo::localization::msf::NdtMapSingleCell::Reset ( )
inline

Reset to default value.

Member Data Documentation

◆ centroid_

Eigen::Vector3f apollo::localization::msf::NdtMapSingleCell::centroid_

the centroid of the cell.

◆ centroid_average_cov_

Eigen::Matrix3f apollo::localization::msf::NdtMapSingleCell::centroid_average_cov_

the pose covariance of the cell.

◆ centroid_icov_

Eigen::Matrix3f apollo::localization::msf::NdtMapSingleCell::centroid_icov_

the pose inverse covariance of the cell.

◆ count_

unsigned int apollo::localization::msf::NdtMapSingleCell::count_ = 0

The number of samples in the cell.

◆ intensity_

float apollo::localization::msf::NdtMapSingleCell::intensity_ = 0

The average intensity value.

◆ intensity_var_

float apollo::localization::msf::NdtMapSingleCell::intensity_var_ = 0

The variance intensity value.

◆ is_icov_available_

unsigned char apollo::localization::msf::NdtMapSingleCell::is_icov_available_ = 0

the inverse covariance available flag.

◆ minimum_points_threshold_

const unsigned int apollo::localization::msf::NdtMapSingleCell::minimum_points_threshold_ = 6

minimum number of points needed.

◆ road_pt_count_

unsigned int apollo::localization::msf::NdtMapSingleCell::road_pt_count_ = 0

The number of samples belonging to road surface.


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