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
|
hydrodrivers/hydropathplanner2dfake/driver.h00001 /* 00002 * Orca-Robotics Project: Components for robotics 00003 * http://orca-robotics.sf.net/ 00004 * Copyright (c) 2004-2009 Alex Brooks 00005 * 00006 * This distribution is licensed to you under the terms described in 00007 * the LICENSE file included in this distribution. 00008 * 00009 */ 00010 #ifndef PATHPLANNER2DFAKE_DRIVER_H 00011 #define PATHPLANNER2DFAKE_DRIVER_H 00012 00013 #include <hydrointerfaces/pathplanner2d.h> 00014 #include <hydropathplan/ipathplanner2d.h> 00015 #include <memory> 00016 00017 namespace pathplanner2dfake 00018 { 00019 00020 // 00021 // @brief A trivial interpolator between start and goal. 00022 // 00023 class Driver : public hydrointerfaces::PathPlanner2d 00024 { 00025 00026 public: 00027 00028 Driver( const hydrointerfaces::PathPlanner2d::Config &config, 00029 const hydroutil::Context &context ); 00030 00031 std::vector<hydrointerfaces::PathPlanner2d::Point> 00032 computePath( const Point &start, 00033 const Point &goal ); 00034 00035 private: 00036 00037 // number of extra points this "path planner" will insert between the start and the goal points. 00038 // The points are inserted along a straight line. 00039 // Default value is 0. 00040 int numInsertedPoints_; 00041 }; 00042 00043 // Used for dynamically loading driver 00044 class Factory : public hydrointerfaces::PathPlanner2dFactory 00045 { 00046 public: 00047 hydrointerfaces::PathPlanner2d* 00048 createDriver( const hydrointerfaces::PathPlanner2d::Config &config, 00049 const hydroutil::Context &context ) const 00050 { 00051 return new Driver( config, context ); 00052 } 00053 }; 00054 00055 } // namespace 00056 00057 // Used for dynamically loading driver 00058 extern "C" { 00059 hydrointerfaces::PathPlanner2dFactory *createPathPlanner2dDriverFactory(); 00060 } 00061 00062 #endif |
Webmaster: Tobias Kaupp (tobasco at users.sourceforge.net)