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_DERIVEDVALUES_H 00036 #define SICK_SAFETYSCANNERS_DATASTRUCTURE_DERIVEDVALUES_H 00037 00038 #include <stdint.h> 00039 00040 namespace sick { 00041 namespace datastructure { 00042 00043 00048 class DerivedValues 00049 { 00050 public: 00054 DerivedValues(); 00055 00062 uint16_t getMultiplicationFactor() const; 00063 00068 void setMultiplicationFactor(const uint16_t& multiplication_factor); 00069 00074 uint16_t getNumberOfBeams() const; 00075 00080 void setNumberOfBeams(const uint16_t& number_of_beams); 00081 00086 uint16_t getScanTime() const; 00087 00092 void setScanTime(const uint16_t& scan_time); 00093 00098 float getStartAngle() const; 00099 00104 void setStartAngle(const int32_t& start_angle); 00105 00110 float getAngularBeamResolution() const; 00111 00116 void setAngularBeamResolution(const int32_t& angular_beam_resolution); 00117 00122 uint32_t getInterbeamPeriod() const; 00123 00128 void setInterbeamPeriod(const uint32_t& interbeam_period); 00129 00134 bool isEmpty() const; 00135 00140 void setIsEmpty(bool is_empty); 00141 00142 private: 00146 const double ANGLE_RESOLUTION = 4194304.0; 00147 00148 bool m_is_empty; 00149 00150 uint16_t m_multiplication_factor; 00151 uint16_t m_number_of_beams; 00152 uint16_t m_scan_time; // ms 00153 float m_start_angle; 00154 float m_angular_beam_resolution; 00155 uint32_t m_interbeam_period; // usecs 00156 }; 00157 00158 } // namespace datastructure 00159 } // namespace sick 00160 00161 #endif // SICK_SAFETYSCANNERS_DATASTRUCTURE_DERIVEDVALUES_H