00001 #ifndef DISCRETE_SPACE_TIME_INFORMATION_H 00002 #define DISCRETE_SPACE_TIME_INFORMATION_H 00003 00004 #include <sbpl/headers.h> 00005 #include <sbpl_dynamic_planner/sbpl_dynamicObstacles.h> 00006 00007 class DiscreteSpaceTimeInformation : public DiscreteSpaceInformation{ 00008 public: 00009 virtual void GetSuccs(int SourceStateID, vector<int>* SuccIDV, vector<int>* CostV) = 0; 00010 virtual void GetSuccs(int SourceStateID, vector<int>* SuccIDV, vector<int>* CostV, vector<int>* stateBubbles, vector<int>* bubbleCollisions){GetSuccs(SourceStateID, SuccIDV, CostV);} 00011 virtual void Relax(int sourceID, int targetID){} 00012 virtual int getNumBubbles(){return 0;} 00013 virtual bool setDynamicObstacles(vector<SBPL_DynamicObstacle_t> dynObs, bool reset_states=true) = 0; 00014 virtual bool UpdateCost(int x, int y, unsigned char newcost) = 0; 00015 virtual int SetStart(double x, double y, double theta, double startTime) = 0; 00016 virtual int SetGoal(double x, double y, double theta) = 0; 00017 virtual unsigned char GetMapCost(int x, int y) = 0; 00018 virtual void GetCoordFromState(int stateID, int& x, int& y, int& theta, int& t) const = 0; 00019 virtual void ConvertStateIDPathintoXYThetaPath(vector<int>* stateIDPath, vector<SBPL_4Dpt_t>* xythetaPath) = 0; 00020 virtual void getExpansions(vector<SBPL_4Dpt_t>* p){} 00021 virtual bool InitializeEnv(int width, int height, 00023 const unsigned char* mapdata, 00024 double startx, double starty, double starttheta, double startTime, 00025 double goalx, double goaly, double goaltheta, 00026 double goaltol_x, double goaltol_y, double goaltol_theta, 00027 const vector<sbpl_2Dpt_t> & perimeterptsV, 00028 double cellsize_m, double timeResolution, 00029 double nominalvel_mpersecs, double timetoturn45degsinplace_secs, 00030 unsigned char obsthresh, unsigned char dynobsthresh, const char* sMotPrimFile, 00031 vector<SBPL_DynamicObstacle_t> & dynObs) = 0; 00032 }; 00033 00034 #endif