INTRODUCTION Overview Download and Install Quick Start Documentation Publications NONFRAMEWORK CODE Driver Interfaces Drivers Libraries Utilities FRAMEWORK CODE Interfaces Components Libraries Utilities Full Software Listings DEVELOPER Tutorials Examples Dev Guide Dashboard PEOPLE Contributors Users Project Download Mailing lists
|
velocitycontrol2delement.h00001 /* 00002 * Orca-Robotics Project: Components for robotics 00003 * http://orca-robotics.sf.net/ 00004 * Copyright (c) 2004-2009 Alex Brooks, Alexei Makarenko, Tobias Kaupp 00005 * 00006 * This copy of Orca is licensed to you under the terms described in 00007 * the LICENSE file included in this distribution. 00008 * 00009 */ 00010 00011 #ifndef VELOCITYCONTROL2DELEMENT_H 00012 #define VELOCITYCONTROL2DELEMENT_H 00013 00014 #include <QObject> 00015 #include <orcaice/context.h> 00016 #include <hydroqguielementutil/guielement.h> 00017 #include <hydroqguielementutil/shortcutkeymanager.h> 00018 00019 class QSplitter; 00020 00021 namespace hydroqguielementutil { 00022 class IHumanManager; 00023 } 00024 00025 namespace orcateleop { 00026 class NetworkThread; 00027 } 00028 00029 namespace orcaqgui2d { 00030 00031 class VelocityControlDisplay; 00032 00033 // A simple teleoperation element 00034 // Captures keypress events and sets up a display for user input 00035 // The actual networking is handled by a orcateleop library class 00036 // author: Tobias Kaupp 00037 class VelocityControl2dElement : public QObject, 00038 public hydroqguielementutil::GuiElement 00039 { 00040 Q_OBJECT 00041 00042 public: 00043 VelocityControl2dElement(const hydroqguielementutil::GuiElementInfo &guiElementInfo, 00044 const orcaice::Context &context ); 00045 ~VelocityControl2dElement(); 00046 00047 private slots: 00048 void incrementSpeed(); 00049 void decrementSpeed(); 00050 void incrementTurnrate(); 00051 void decrementTurnrate(); 00052 void stopTurn(); 00053 void stopMovementButTurn(); 00054 void stop(); 00055 00056 private: 00057 void setupButtons(); 00058 00059 std::auto_ptr<hydroqguielementutil::ShortcutKeyReservation> speedUpKey_; 00060 std::auto_ptr<hydroqguielementutil::ShortcutKeyReservation> slowDownKey_; 00061 std::auto_ptr<hydroqguielementutil::ShortcutKeyReservation> incrementTurnrateKey_; 00062 std::auto_ptr<hydroqguielementutil::ShortcutKeyReservation> decrementTurnrateKey_; 00063 std::auto_ptr<hydroqguielementutil::ShortcutKeyReservation> stopRotationKey_; 00064 std::auto_ptr<hydroqguielementutil::ShortcutKeyReservation> stopTranslationKey_; 00065 std::auto_ptr<hydroqguielementutil::ShortcutKeyReservation> stopAllKey_; 00066 00067 orcateleop::NetworkThread* networkThread_; 00068 VelocityControlDisplay* teleopDisplay_; 00069 }; 00070 00071 } 00072 00073 #endif |
Webmaster: Tobias Kaupp (tobasco at users.sourceforge.net)