00001 // -*- mode: c++; indent-tabs-mode: nil; c-basic-offset: 4; tab-width: 4; -*- 00002 #ifndef __OMNI_WHEEL_H__ 00003 #define __OMNI_WHEEL_H__ 00004 00005 #include "Mobility.h" 00006 #include "Configuration.h" 00007 00008 namespace PathEngine { 00009 class PathPlanner; 00010 00011 /* 00012 * @brief 00013 */ 00014 class OmniWheel : public Mobility { 00015 public: 00020 OmniWheel(PathPlanner* planner) : Mobility(planner) {} 00021 00025 Configuration interpolate(const Configuration& from, const Configuration& to, double ratio) const; 00026 00030 double distance(const Configuration& from, const Configuration& to) const; 00031 00035 bool isReversible() const { return true; } 00036 }; 00037 }; 00038 #endif