Go to the documentation of this file.
66 #ifndef __SICK_SCANSEGMENT_XD_MSGPACK_VALIDATOR_H
67 #define __SICK_SCANSEGMENT_XD_MSGPACK_VALIDATOR_H
69 #ifndef _USE_MATH_DEFINES // to ensure that M_PI is defined
70 #define _USE_MATH_DEFINES
103 void update(
int echo_idx,
int segment_idx,
float azimuth,
float elevation);
128 std::vector<std::string>
print(
void)
const;
165 #define AzimuthHistogramResolution (1.0f) // Histogram of azimuth angles in 1.0 degrees
166 #define ElevationHistogramResolution (1.0f) // Histogram of elevation angles in 1.0 degrees
168 float deg2rad(
float angle)
const {
return angle * (float)(M_PI / 180.0); }
169 float rad2deg(
float angle)
const {
return angle * (float)(180.0 / M_PI); }
219 float azimuth_start = -M_PI,
float azimuth_end = M_PI,
220 float elevation_start = -M_PI/2.0,
float elevation_end = M_PI/2.0,
221 const std::vector<int>& segments = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 },
222 const std::vector<int>& layer_filter = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
252 template<
typename T> std::string
listVector(
const std::vector<T> & vec)
const
255 for(
auto iter = vec.cbegin(); iter != vec.cend(); iter++)
256 s << (iter == vec.cbegin() ?
"" :
", ") << (*iter);
280 #endif // __SICK_SCANSEGMENT_XD_MSGPACK_VALIDATOR_H
float elevationIndexToRad(int elevation_idx) const
int azimuthRadToIndex(float azimuth_rad) const
MsgPackValidator(const std::vector< int > &echos={ 0, 1, 2 }, float azimuth_start=-M_PI, float azimuth_end=M_PI, float elevation_start=-M_PI/2.0, float elevation_end=M_PI/2.0, const std::vector< int > &segments={ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 }, const std::vector< int > &layer_filter={ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, int verbose=0)
TFSIMD_FORCE_INLINE tfScalar angle(const Quaternion &q1, const Quaternion &q2)
float getAzimuthHistogramResolutionRad(void) const
int getAzimuthHistogramCount(const MsgPackValidatorData::AzimuthHistogramPerElevationPerSegmentPerEcho &azimuth_histogram, int echo_idx, int segment_idx, int elevation_idx, int azimuth_idx) const
float elevationIndexToDeg(int elevation_idx) const
std::vector< int > m_layer_filter
#define ElevationHistogramResolution
float getElevationHistogramResolutionRad(void) const
float getAzimuthHistogramResolutionDeg(void) const
bool validateNotOutOfBound(const MsgPackValidatorData &data_received) const
int elevationRadToIndex(float elevation_rad) const
bool validateNoMissingScandata(const MsgPackValidatorData &msgpack_data_collected) const
float azimuthIndexToRad(int azimuth_idx) const
float rad2deg(float angle) const
float deg2rad(float angle) const
#define AzimuthHistogramResolution
AzimuthHistogramPerElevationPerSegmentPerEcho m_azimuth_histogram
std::vector< int > m_echos_required
int azimuthToInt(float azimuth_rad) const
float intToElevation(int elevation_idx) const
std::map< int, int > AzimuthHistogram
float azimuthIndexToDeg(int azimuth_idx) const
std::vector< std::string > print(void) const
std::map< int, AzimuthHistogram > AzimuthHistogramPerElevation
std::map< int, AzimuthHistogramPerElevationPerSegment > AzimuthHistogramPerElevationPerSegmentPerEcho
void update(int echo_idx, int segment_idx, float azimuth, float elevation)
float intToAzimuth(int azimuth_idx) const
float getElevationHistogramResolutionDeg(void) const
std::vector< int > m_valid_segments
const AzimuthHistogramPerElevationPerSegmentPerEcho & getHistogram(void) const
int elevationToInt(float elevation_rad) const
std::string listVector(const std::vector< T > &vec) const
std::map< int, AzimuthHistogramPerElevation > AzimuthHistogramPerElevationPerSegment
void printMissingHistogramData(const std::vector< std::string > &messages) const
sick_scan_xd
Author(s): Michael Lehning
, Jochen Sprickerhof , Martin Günther
autogenerated on Fri Oct 25 2024 02:47:09