17 #ifndef IGNITION_SENSORS_SENSOR_HH_ 18 #define IGNITION_SENSORS_SENSOR_HH_ 22 #pragma warning(disable: 4005) 23 #pragma warning(disable: 4251) 25 #include <ignition/msgs/header.pb.h> 34 #include <ignition/common/SuppressWarning.hh> 35 #include <ignition/math/Pose3.hh> 36 #include <ignition/sensors/config.hh> 37 #include <ignition/sensors/Export.hh> 45 inline namespace IGNITION_SENSORS_VERSION_NAMESPACE {
59 class IGNITION_SENSORS_VISIBLE
Sensor 70 public:
virtual bool Load(
const sdf::Sensor &_sdf);
75 public:
virtual bool Load(sdf::ElementPtr _sdf);
81 public:
virtual bool Init();
96 public:
virtual bool Update(
97 const std::chrono::steady_clock::duration &_now) = 0;
100 public: std::chrono::steady_clock::duration NextDataUpdateTime()
const;
116 const std::chrono::steady_clock::duration &_now,
const bool _force);
123 public:
double UpdateRate()
const;
129 public:
void SetUpdateRate(
const double _hz);
133 public: ignition::math::Pose3d Pose()
const;
136 public:
void SetPose(
const ignition::math::Pose3d &_pose);
139 public:
virtual void SetParent(
const std::string &_parent);
156 public:
bool EnableMetrics()
const;
160 public:
void SetEnableMetrics(
bool _enableMetrics);
173 public: sdf::ElementPtr SDF()
const;
193 public:
void AddSequence(ignition::msgs::Header *_msg,
199 public:
void PublishMetrics(
202 IGN_COMMON_WARN_IGNORE__DLL_INTERFACE_MISSING
206 IGN_COMMON_WARN_RESUME__DLL_INTERFACE_MISSING
a base sensor class
Definition: Sensor.hh:59
const SensorId NO_SENSOR
Definition: Sensor.hh:49
Definition: AirPressureSensor.hh:31