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
|
rangescannav2d.h00001 /* 00002 * Orca-Robotics Project: Components for robotics 00003 * http://orca-robotics.sf.net/ 00004 * Copyright (c) 2004-2006 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 HYDRO_INTERFACES_RANGESCAN_NAV2D_H 00012 #define HYDRO_INTERFACES_RANGESCAN_NAV2D_H 00013 00014 #include <hydroutil/context.h> 00015 // #include <exception> 00016 00017 namespace hydrointerfaces 00018 { 00019 00046 class RangeScanNav2d 00047 { 00048 00049 public: 00050 00052 class Command 00053 { 00054 public: 00056 double lin; 00058 double rot; 00059 00061 std::string toString() const; 00062 }; 00063 00064 virtual ~RangeScanNav2d() {}; 00065 00068 virtual int waypointHorizon() { return 1; } 00069 00074 virtual void getCommand( 00075 bool stalled, 00076 bool localisationUncertain, 00077 // const hydronavutil::Pose &pose, 00078 // const orca::Twist2d ¤tVelocity, 00079 // const orca::Time &poseAndVelocityTime, 00080 // const orca::RangeScanner2dDataPtr obs, 00081 // const std::vector<orcalocalnav::Goal> &goals 00082 Command& command ) = 0; 00083 }; 00084 00086 class RangeScanNav2dFactory { 00087 public: 00088 virtual ~RangeScanNav2dFactory() {}; 00090 virtual RangeScanNav2d *createDriver( const hydroutil::Context& context ) const=0; 00091 }; 00092 00094 } // namespace 00095 00096 // Function for dynamically instantiating drivers. 00097 // A driver must have a function like so: 00098 // extern "C" { 00099 // hydrointerfaces::RangeScanNav2dFactory *createRangeScanNav2dDriverFactory(); 00100 // } 00101 typedef hydrointerfaces::RangeScanNav2dFactory *RangeScanNav2dDriverFactoryMakerFunc(); 00102 00103 #endif |
Webmaster: Tobias Kaupp (tobasco at users.sourceforge.net)