20 #ifndef __OpenKarto_Sensor_h__ 21 #define __OpenKarto_Sensor_h__ 71 return m_pOffsetPose->GetValue();
80 m_pOffsetPose->SetValue(rPose);
86 virtual void Validate() = 0;
92 virtual void Validate(
SensorData* pSensorData) = 0;
156 virtual void Validate()
165 if (pSensorData == NULL)
266 return m_pMinimumRange->GetValue();
275 m_pMinimumRange->SetValue(minimumRange);
277 SetRangeThreshold(GetRangeThreshold());
286 return m_pMaximumRange->GetValue();
295 m_pMaximumRange->SetValue(maximumRange);
297 SetRangeThreshold(GetRangeThreshold());
306 return m_pRangeThreshold->GetValue();
313 void SetRangeThreshold(
kt_double rangeThreshold);
321 return m_pMinimumAngle->GetValue();
330 m_pMinimumAngle->SetValue(minimumAngle);
341 return m_pMaximumAngle->GetValue();
350 m_pMaximumAngle->SetValue(maximumAngle);
361 return m_pAngularResolution->GetValue();
368 void SetAngularResolution(
kt_double angularResolution);
376 return m_pType->GetValue();
385 return m_NumberOfRangeReadings;
391 virtual void Validate();
397 virtual void Validate(
SensorData* pSensorData);
430 m_NumberOfRangeReadings =
static_cast<kt_int32u>(
math::Round((GetMaximumAngle() - GetMinimumAngle()) / GetAngularResolution()) + 1);
468 #endif // __OpenKarto_Sensor_h__ List< SensorPtr > SensorList
kt_int32u GetNumberOfRangeReadings() const
List< Vector2d > Vector2dList
const Pose2 & GetOffsetPose() const
kt_int32u m_NumberOfRangeReadings
Parameter< kt_double > * m_pMinimumAngle
kt_double GetAngularResolution() const
kt_double Round(kt_double value)
Parameter< Pose2 > * m_pOffsetPose
void SetMinimumAngle(kt_double minimumAngle)
void SetMaximumRange(kt_double maximumRange)
void SetOffsetPose(const Pose2 &rPose)
Parameter< kt_double > * m_pAngularResolution
virtual void Validate(SensorData *pSensorData)
void SetMaximumAngle(kt_double maximumAngle)
Parameter< kt_double > * m_pRangeThreshold
Parameter< kt_double > * m_pMinimumRange
SmartPointer< Sensor > SensorPtr
KARTO_TYPE(Grid< kt_int8u >)
Parameter< kt_double > * m_pMaximumRange
kt_double GetMinimumAngle() const
void SetMinimumRange(kt_double minimumRange)
Drive(const Identifier &rName)
Parameter< kt_double > * m_pMaximumAngle
SmartPointer< LaserRangeFinder > LaserRangeFinderPtr
signed long long kt_int64s
kt_double GetMaximumAngle() const
KARTO_EXPORT void RegisterLaserRangeFinderType()
kt_double GetMinimumRange() const
kt_double GetRangeThreshold() const
KARTO_AUTO_TYPE(LaserRangeFinderType,&RegisterLaserRangeFinderType)
kt_double GetMaximumRange() const