orca-robotics INTRODUCTION Overview Download and Install Quick Start Documentation Publications REPOSITORY Interfaces Components Libraries Utilities Software Map DEVELOPER Tutorials Examples Dev Guide Dashboard Wiki login/pass: orca/orca PEOPLE Contributors Users Project Download Mailing lists
|
pathfollower2dI.h00001 /* 00002 * Orca-Robotics Project: Components for robotics 00003 * http://orca-robotics.sf.net/ 00004 * Copyright (c) 2004-2008 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 ORCA_PATH_FOLLOWER_2D_I_H 00012 #define ORCA_PATH_FOLLOWER_2D_I_H 00013 00014 // include defnition of Ice runtime 00015 #include <Ice/Ice.h> 00016 #include <IceStorm/IceStorm.h> 00017 #include <gbxsickacfr/gbxiceutilacfr/store.h> 00018 00019 // include provided interfaces 00020 #include <orca/pathfollower2d.h> 00021 00022 namespace goalplanner { 00023 00024 // 00025 // Implements the PathFollower interface: Handles all our remote calls. 00026 // 00027 class PathFollower2dI : public orca::PathFollower2d 00028 { 00029 public: 00030 PathFollower2dI( gbxsickacfr::gbxiceutilacfr::Store<orca::PathFollower2dData> &pathPipe, 00031 gbxsickacfr::gbxiceutilacfr::Store<bool> &activationPipe, 00032 orca::PathFollower2dPrx localNavPrx ); 00033 00034 // remote calls: 00035 00036 // Get the current path 00037 virtual ::orca::PathFollower2dData getData(const ::Ice::Current& = ::Ice::Current()) const; 00038 00039 // Set a path 00040 virtual void setData(const ::orca::PathFollower2dData& data, bool activateImmediately, const ::Ice::Current& = ::Ice::Current()); 00041 00042 virtual void activateNow(const ::Ice::Current& = ::Ice::Current()); 00043 00044 virtual int getWaypointIndex(const ::Ice::Current& = ::Ice::Current()) const; 00045 00046 virtual bool getAbsoluteActivationTime(orca::Time &activationTime, const Ice::Current&) const; 00047 00048 virtual bool getRelativeActivationTime(double &secondsSinceActivation, const Ice::Current&) const; 00049 00050 00051 virtual void setEnabled( bool enabled, const ::Ice::Current& = ::Ice::Current() ); 00052 virtual bool enabled(const ::Ice::Current& = ::Ice::Current()) const; 00053 00054 // Subscribe people 00055 virtual void subscribe(const ::orca::PathFollower2dConsumerPrx&, const ::Ice::Current& = ::Ice::Current()); 00056 00057 // Unsubscribe people 00058 virtual void unsubscribe(const ::orca::PathFollower2dConsumerPrx&, const ::Ice::Current& = ::Ice::Current()); 00059 00060 00061 00062 private: 00063 00064 // New paths from the outside world go in here 00065 gbxsickacfr::gbxiceutilacfr::Store<orca::PathFollower2dData> &pathPipe_; 00066 00067 // Are we activated? 00068 gbxsickacfr::gbxiceutilacfr::Store<bool> &activationPipe_; 00069 00070 // because goalplanner is acting like a transparent proxy to localnav, we need to pass on requests to localnav and thus need a remote object 00071 orca::PathFollower2dPrx localNavPrx_; 00072 }; 00073 00074 } 00075 00076 #endif |
Webmaster: Tobias Kaupp (tobasco at users.sourceforge.net)