.. _program_listing_file_src_LouLib_Odometry_ThreeSensorOdom.hpp: Program Listing for File ThreeSensorOdom.hpp ============================================ |exhale_lsh| :ref:`Return to documentation for file ` (``src/LouLib/Odometry/ThreeSensorOdom.hpp``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #ifndef LOULIB_THREESENSORODOM_HPP #define LOULIB_THREESENSORODOM_HPP #include "AbstractOdometry.hpp" #include "OdomMotorSensor.hpp" #include "OdomRotationSensor.hpp" namespace LouLib { namespace Odometry { class ThreeSensorOdom : public AbstractOdometry{ private: AbstractOdomSensor &leftSensor; AbstractOdomSensor &rightSensor; Units::Length trackWidth; AbstractOdomSensor &backSensor; Units::Length backDist; Units::Length lastLeft = 0_in; Units::Length lastRight = 0_in; Units::Length lastBack = 0_in; public: ThreeSensorOdom(AbstractOdomSensor &leftSensor, AbstractOdomSensor &rightSensor, const Units::Length &trackWidth, AbstractOdomSensor &backSensor, const Units::Length &backDist); void setPose(Math::Pose2D newPose) override; void update() override; }; } // LouLib } // Odometry #endif //LOULIB_THREESENSORODOM_HPP