ExternalFace.hpp
Go to the documentation of this file.
00001 /*
00002  * ExternalFace.hpp
00003  *
00004  *  Created on: Dec 14, 2011
00005  *      Author: mriedel
00006  */
00007 
00008 #ifndef EXTERNALFACE_HPP_
00009 #define EXTERNALFACE_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 struct Face {
00021         Eigen::Vector3d origin;
00022         Eigen::Vector3d dir1;
00023         Eigen::Vector3d dir2;
00024 };
00025 
00026 class ExternalFaceOptions : public OptionContainer {
00027 public:
00028         Option< std::vector<Eigen::Vector3d>  >* tInputFaces;
00029         ExternalFaceOptions();
00030 };
00031 
00032 class ExternalFace : public ObstacleProvider {
00033 protected:
00034         ExternalFaceOptions options;
00035 
00036         // Faces
00037         std::vector< Face > faces;
00038 
00039 public:
00040         ExternalFace();
00041         virtual ~ExternalFace();
00042 
00043         // called directly after Creation
00044         virtual void initialize();
00045 
00046         // called right before destruction
00047         virtual void destroy();
00048 
00049         virtual void getObstaclePoints(const TKState& lastState, std::vector<Position3D>& obstaclePoints) const;
00050 };
00051 
00052 } /* namespace telekyb_obs */
00053 #endif /* EXTERNALFACE_HPP_ */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends


tk_obstacle
Author(s): Martin Riedel
autogenerated on Mon Nov 11 2013 11:13:22