sensor_manager.h 755 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #ifndef SENSOR_MANAGER_DEF_H
  2. #define SENSOR_MANAGER_DEF_H
  3. #include "sensor.h"
  4. namespace algorithm{
  5. namespace base{
  6. enum SensorType{
  7. Sensor_Accelerometer = 0,
  8. Sensor_MagneticSensor = 1,
  9. Sensor_Gyroscope = 2
  10. };
  11. class SensorManager{
  12. public:
  13. SensorManager(){
  14. };
  15. ~SensorManager(){};
  16. public:
  17. Sensor<double>* get_sensor(const SensorType& st){
  18. Sensor<double>* pSensor = nullptr;
  19. switch (st)
  20. {
  21. case SensorType::Sensor_Accelerometer:
  22. pSensor = new Accelerometer<double>();
  23. break;
  24. case Sensor_Gyroscope:
  25. pSensor = new Gyroscope<double>();
  26. break;
  27. case Sensor_MagneticSensor:
  28. pSensor = new MagneticSensor<double>();
  29. break;
  30. }
  31. return pSensor;
  32. };
  33. };
  34. };
  35. }
  36. #endif