Apollo  6.0
Open source self driving car software
Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
apollo::perception::lidar::PolygonScanCvter< T > Class Template Reference

#include <polygon_scan_cvter.h>

Collaboration diagram for apollo::perception::lidar::PolygonScanCvter< T >:
Collaboration graph

Classes

struct  Edge
 

Public Types

enum  DirectionMajor { XMAJOR = 0, YMAJOR = 1 }
 
typedef Eigen::Matrix< T, 2, 1 > Point
 
typedef std::vector< Point, Eigen::aligned_allocator< Point > > Polygon
 
typedef std::pair< T, T > IntervalIn
 
typedef std::pair< double, double > IntervalOut
 
typedef std::pair< Point, PointSegment
 

Public Member Functions

 PolygonScanCvter ()=default
 
virtual ~PolygonScanCvter ()=default
 
const Polygonpolygon () const
 
void Init (const Polygon &polygon)
 
void Reset ()
 
void ScanCvt (const T &scan_loc, DirectionMajor dir_major, std::vector< IntervalOut > *scan_intervals)
 
void ScansCvt (const IntervalIn &scans_interval, const DirectionMajor dir_major, const T &step, std::vector< std::vector< IntervalOut >> *scans_intervals)
 

Static Public Member Functions

static DirectionMajor OppositeDirection (const DirectionMajor dir_major)
 

Static Public Attributes

static const double s_epsilon_
 
static const double s_inf_ = std::numeric_limits<T>::infinity()
 

Member Typedef Documentation

◆ IntervalIn

template<typename T = double>
typedef std::pair<T, T> apollo::perception::lidar::PolygonScanCvter< T >::IntervalIn

◆ IntervalOut

template<typename T = double>
typedef std::pair<double, double> apollo::perception::lidar::PolygonScanCvter< T >::IntervalOut

◆ Point

template<typename T = double>
typedef Eigen::Matrix<T, 2, 1> apollo::perception::lidar::PolygonScanCvter< T >::Point

◆ Polygon

template<typename T = double>
typedef std::vector<Point, Eigen::aligned_allocator<Point> > apollo::perception::lidar::PolygonScanCvter< T >::Polygon

◆ Segment

template<typename T = double>
typedef std::pair<Point, Point> apollo::perception::lidar::PolygonScanCvter< T >::Segment

Member Enumeration Documentation

◆ DirectionMajor

Enumerator
XMAJOR 
YMAJOR 

Constructor & Destructor Documentation

◆ PolygonScanCvter()

template<typename T = double>
apollo::perception::lidar::PolygonScanCvter< T >::PolygonScanCvter ( )
default

◆ ~PolygonScanCvter()

template<typename T = double>
virtual apollo::perception::lidar::PolygonScanCvter< T >::~PolygonScanCvter ( )
virtualdefault

Member Function Documentation

◆ Init()

template<typename T >
void apollo::perception::lidar::PolygonScanCvter< T >::Init ( const Polygon polygon)

◆ OppositeDirection()

template<typename T = double>
static DirectionMajor apollo::perception::lidar::PolygonScanCvter< T >::OppositeDirection ( const DirectionMajor  dir_major)
inlinestatic

◆ polygon()

template<typename T = double>
const Polygon& apollo::perception::lidar::PolygonScanCvter< T >::polygon ( ) const
inline

◆ Reset()

template<typename T >
void apollo::perception::lidar::PolygonScanCvter< T >::Reset ( )

◆ ScanCvt()

template<typename T >
void apollo::perception::lidar::PolygonScanCvter< T >::ScanCvt ( const T &  scan_loc,
DirectionMajor  dir_major,
std::vector< IntervalOut > *  scan_intervals 
)

◆ ScansCvt()

template<typename T >
void apollo::perception::lidar::PolygonScanCvter< T >::ScansCvt ( const IntervalIn scans_interval,
const DirectionMajor  dir_major,
const T &  step,
std::vector< std::vector< IntervalOut >> *  scans_intervals 
)

Member Data Documentation

◆ s_epsilon_

template<typename T = double>
const double apollo::perception::lidar::PolygonScanCvter< T >::s_epsilon_
static
Initial value:
=
std::numeric_limits<float>::epsilon()

◆ s_inf_

template<typename T = double>
const double apollo::perception::lidar::PolygonScanCvter< T >::s_inf_ = std::numeric_limits<T>::infinity()
static

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