unknown_object.h
Go to the documentation of this file.
00001 /******************************************************************************
00002  * \file
00003  *
00004  * $Id: UnknownObject.h 676 2012-04-19 18:32:07Z xlokaj03 $
00005  *
00006  * Copyright (C) Brno University of Technology
00007  *
00008  * This file is part of software developed by Robo@FIT group.
00009  *
00010  * Author: Tomas Lokaj (xlokaj03@stud.fit.vutbr.cz)
00011  * Supervised by: Michal Spanel (spanel@fit.vutbr.cz)
00012  * Date: 02/12/2011
00013  * 
00014  * This file is free software: you can redistribute it and/or modify
00015  * it under the terms of the GNU Lesser General Public License as published by
00016  * the Free Software Foundation, either version 3 of the License, or
00017  * (at your option) any later version.
00018  * 
00019  * This file is distributed in the hope that it will be useful,
00020  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00021  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00022  * GNU Lesser General Public License for more details.
00023  * 
00024  * You should have received a copy of the GNU Lesser General Public License
00025  * along with this file.  If not, see <http://www.gnu.org/licenses/>.
00026  */
00027 
00028 #pragma once
00029 #ifndef UNKNOWNOBJECT_H_
00030 #define UNKNOWNOBJECT_H_
00031 
00032 #include "primitive.h"
00033 
00034 namespace srs_interaction_primitives
00035 {
00048 class UnknownObject : public Primitive
00049 {
00050 public:
00057   UnknownObject(InteractiveMarkerServerPtr server, std::string frame_id, std::string name);
00058 
00062   void insert();
00063 
00067   void useMaterial(bool value) { use_material_ = value; }
00068 
00072   void menuCallback(const visualization_msgs::InteractiveMarkerFeedbackConstPtr &feedback);
00073 
00077   void uboxCallback(const visualization_msgs::InteractiveMarkerFeedbackConstPtr &feedback);
00078   
00079   virtual void setAllowObjectInteraction(bool allow);
00080 
00081 private:
00082   void createUnknownBox();
00083   void createBox();
00084   void createColorBox();
00085   void create();
00086   void createMenu();
00087 
00088 private:
00089   visualization_msgs::Marker box_, wire_;
00090 
00091   // Menu handlers
00092   interactive_markers::MenuHandler::EntryHandle menu_handler_interaction_, menu_handler_interaction_movement_,
00093                                                 menu_handler_interaction_rotation_, menu_handler_interaction_scale_;
00094 
00095   // Enables visualization of a predefined model including "red cross"
00096   bool use_material_;
00097   
00098   bool allow_object_interaction_;
00099   
00100 };
00101 
00102 }
00103 
00104 #endif /* UNKNOWNOBJECT_H_ */


srs_interaction_primitives
Author(s): Tomas Lokaj, Michal Spanel (spanel@fit.vutbr.cz)
autogenerated on Sun Jan 5 2014 11:47:47