00001 // this is for emacs file handling -*- mode: c++; indent-tabs-mode: nil -*- 00002 00003 // -- BEGIN LICENSE BLOCK ---------------------------------------------- 00004 00024 // -- END LICENSE BLOCK ------------------------------------------------ 00025 00026 //---------------------------------------------------------------------- 00033 //---------------------------------------------------------------------- 00034 00035 #ifndef SICK_SAFETYSCANNERS_DATASTRUCTURE_SCANPOINT_H 00036 #define SICK_SAFETYSCANNERS_DATASTRUCTURE_SCANPOINT_H 00037 00038 #include <stdint.h> 00039 00040 namespace sick { 00041 namespace datastructure { 00042 00046 class ScanPoint 00047 { 00048 public: 00049 ScanPoint(); 00050 00063 ScanPoint(float angle, 00064 int16_t& distance, 00065 uint8_t& reflectivity, 00066 bool& valid_bit, 00067 bool& infinite_bit, 00068 bool& glare_bit, 00069 bool& reflector_bit, 00070 bool& contamination_bit, 00071 bool& contamination_warning_bit); 00072 00077 float getAngle() const; 00078 00083 uint16_t getDistance() const; 00084 00089 uint8_t getReflectivity() const; 00090 00095 bool getValidBit() const; 00096 00101 bool getInfiniteBit() const; 00102 00107 bool getGlareBit() const; 00108 00113 bool getReflectorBit() const; 00114 00119 bool getContaminationBit() const; 00120 00125 bool getContaminationWarningBit() const; 00126 00127 00128 private: 00129 float m_angle; 00130 int16_t m_distance; // in mm 00131 uint8_t m_reflectivity; 00132 bool m_valid_bit; 00133 bool m_infinite_bit; 00134 bool m_glare_bit; 00135 bool m_reflector_bit; 00136 bool m_contamination_bit; 00137 bool m_contamination_warning_bit; 00138 }; 00139 00140 00141 } // namespace datastructure 00142 } // namespace sick 00143 00144 #endif // SICK_SAFETYSCANNERS_DATASTRUCTURE_SCANPOINT_H