Go to the documentation of this file.00001
00010 #ifndef PATHPLANNING_H
00011 #define PATHPLANNING_H
00012
00013 #include <rtm/Manager.h>
00014 #include <rtm/DataFlowComponentBase.h>
00015 #include <rtm/CorbaPort.h>
00016 #include <rtm/DataInPort.h>
00017 #include <rtm/DataOutPort.h>
00018 #include <rtm/idl/BasicDataTypeSkel.h>
00019
00020 #include "intellirobotStub.h"
00021 #include "planner.h"
00022
00023
00024
00025 using namespace RTC;
00026
00027 class PathPlanning
00028 : public RTC::DataFlowComponentBase
00029 {
00030 public:
00031 PathPlanning(RTC::Manager* manager);
00032 ~PathPlanning();
00033
00034 virtual RTC::ReturnCode_t onInitialize();
00035 virtual RTC::ReturnCode_t onActivated(RTC::UniqueId ec_id);
00036 virtual RTC::ReturnCode_t onDeactivated(RTC::UniqueId ec_id);
00037 virtual RTC::ReturnCode_t onExecute(RTC::UniqueId ec_id);
00038
00039
00040 protected:
00041 std::string m_map_file;
00042
00043 IIS::TimedPose2D m_current_position;
00044 InPort<IIS::TimedPose2D> m_current_positionIn;
00045 IIS::TimedPose2D m_goal;
00046 InPort<IIS::TimedPose2D> m_goalIn;
00047
00048 IIS::TimedPath2DSeq m_min_path;
00049 OutPort<IIS::TimedPath2DSeq> m_min_pathOut;
00050
00051
00052 private:
00053 int dummy;
00054 PathMapPtr all_path;
00055 PathMapPtr minimum_path;
00056
00057 int map_loaded;
00058 };
00059
00060
00061 extern "C"
00062 {
00063 void PathPlanningInit(RTC::Manager* manager);
00064 };
00065
00066 #endif // PATHPLANNING_H