00001 /* 00002 * ExternalBox.hpp 00003 * 00004 * Created on: Dec 14, 2011 00005 * Author: mriedel 00006 */ 00007 00008 #ifndef EXTERNALBOX_HPP_ 00009 #define EXTERNALBOX_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 ExternalBoxOptions : public OptionContainer { 00021 public: 00022 Option<Position3D>* tMinSurrObsBox; 00023 Option<Position3D>* tMaxSurrObsBox; 00024 ExternalBoxOptions(); 00025 }; 00026 00027 class ExternalBox : public ObstacleProvider { 00028 protected: 00029 ExternalBoxOptions options; 00030 00031 public: 00032 ExternalBox(); 00033 virtual ~ExternalBox(); 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 /* EXTERNALBOX_HPP_ */