00001 /* 00002 * SurroundingBox.hpp 00003 * 00004 * Created on: Dec 14, 2011 00005 * Author: mriedel 00006 */ 00007 00008 #ifndef SURROUNDINGBOX_HPP_ 00009 #define SURROUNDINGBOX_HPP_ 00010 00011 #include <telekyb_defines/telekyb_defines.hpp> 00012 #include <obs_detection/ObstacleProvider.hpp> 00013 00014 #include <telekyb_base/Options.hpp> 00015 00016 using namespace TELEKYB_NAMESPACE; 00017 00018 namespace telekyb_obs { 00019 00020 class SurroundingBoxOptions : public OptionContainer { 00021 public: 00022 Option<Position3D>* tMinSurrObsBox; 00023 Option<Position3D>* tMaxSurrObsBox; 00024 SurroundingBoxOptions(); 00025 }; 00026 00027 class SurroundingBox : public ObstacleProvider { 00028 protected: 00029 SurroundingBoxOptions options; 00030 00031 public: 00032 SurroundingBox(); 00033 virtual ~SurroundingBox(); 00034 00035 // called directly after Creation 00036 virtual void initialize(); 00037 00038 // called right before destruction 00039 virtual void destroy(); 00040 00041 virtual void getObstaclePoints(const TKState& lastState, std::vector<Position3D>& obstaclePoints) const; 00042 }; 00043 00044 } /* namespace telekyb_obs */ 00045 #endif /* SURROUNDINGBOX_HPP_ */