Go to the documentation of this file.00001
00002 #ifndef __CONFIGURATION_SPACE_H__
00003 #define __CONFIGURATION_SPACE_H__
00004
00005 #include "exportdef.h"
00006 #include <vector>
00007 #include <iostream>
00008
00009 namespace PathEngine {
00010 class Configuration;
00011
00012 class HRPPLANNER_API ConfigurationSpace
00013 {
00014 public:
00018 ConfigurationSpace(unsigned int i_size);
00019
00024 bool isValid(const Configuration& cfg) const;
00025
00031 double &weight(unsigned int i_rank);
00032 const double weight(unsigned int i_rank) const;
00033
00040 void bounds(unsigned int i_rank, double min, double max);
00041
00047 double& ubound(unsigned int i_rank);
00048
00054 double& lbound(unsigned int i_rank);
00055
00061 void unboundedRotation(unsigned int i_rank, bool i_flag);
00062
00068 bool unboundedRotation(unsigned int i_rank);
00069
00074 Configuration random();
00075
00080 unsigned int size();
00081
00082 private:
00083 unsigned int m_size;
00084 std::vector<double> m_ubounds;
00085 std::vector<double> m_lbounds;
00086 std::vector<double> m_weights;
00087 std::vector<bool> m_isUnboundedRotation;
00088 };
00089 };
00090
00091
00092 #endif