interactive_marker_helpers.h
Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2011, Willow Garage, Inc.
00003  * All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions are met:
00007  *
00008  *     * Redistributions of source code must retain the above copyright
00009  *       notice, this list of conditions and the following disclaimer.
00010  *     * Redistributions in binary form must reproduce the above copyright
00011  *       notice, this list of conditions and the following disclaimer in the
00012  *       documentation and/or other materials provided with the distribution.
00013  *     * Neither the name of the Willow Garage, Inc. nor the names of its
00014  *       contributors may be used to endorse or promote products derived from
00015  *       this software without specific prior written permission.
00016  *
00017  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00018  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00019  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
00020  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
00021  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
00022  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
00023  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
00024  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
00025  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
00026  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
00027  * POSSIBILITY OF SUCH DAMAGE.
00028  */
00029 
00030 // author: Adam Leeper
00031 
00032 #ifndef _MARKER_HELPERS_H_
00033 #define _MARKER_HELPERS_H_
00034 
00035 #include <interactive_markers/tools.h>
00036 #include <visualization_msgs/InteractiveMarker.h>
00037 #include <visualization_msgs/InteractiveMarkerControl.h>
00038 #include <visualization_msgs/Marker.h>
00039 #include <visualization_msgs/MenuEntry.h>
00040 #include <geometry_msgs/PoseStamped.h>
00041 
00042 // **** 10 ***** 20 ****** 30 ****** 40 ****** 50 ****** 60 ****** 70 ****** 80 ****** 90 ***** 100 ***** 110 ***** 120
00043 
00044 namespace im_helpers {
00045 
00046 enum PoseState {UNTESTED, VALID, INVALID};
00047 
00048 visualization_msgs::InteractiveMarker makeEmptyMarker( const char *frame_id = "" );
00049 
00050 visualization_msgs::Marker makeBox( float scale );
00051 
00052 visualization_msgs::Marker makeSphere( float scale );
00053 
00054 void add6DofControl( visualization_msgs::InteractiveMarker &msg, bool fixed = false );
00055  void addVisible6DofControl( visualization_msgs::InteractiveMarker &msg, bool fixed = false, bool visible = true );
00056 
00057 
00058 visualization_msgs::InteractiveMarkerControl& makeBoxControl( visualization_msgs::InteractiveMarker &msg );
00059 
00060 visualization_msgs::InteractiveMarkerControl& makeSphereControl( visualization_msgs::InteractiveMarker &msg );
00061 
00062 visualization_msgs::MenuEntry makeMenuEntry(const char *title);
00063 
00064 visualization_msgs::MenuEntry makeMenuEntry(const char *title, const char *command, int type  );
00065 
00066 visualization_msgs::InteractiveMarker makePostureMarker( const char *name, const geometry_msgs::PoseStamped &stamped, 
00067                                                          float scale, bool fixed, bool view_facing );
00068 
00069 visualization_msgs::InteractiveMarker makeHeadGoalMarker( const char *name, const geometry_msgs::PoseStamped &stamped, 
00070                                                           float scale);
00071 
00072 visualization_msgs::InteractiveMarker makeMeshMarker( const std::string &name, const std::string &mesh_resource,
00073                                                       const geometry_msgs::PoseStamped &stamped, float scale );
00074 
00075 visualization_msgs::InteractiveMarker makeMeshMarker( const std::string &name, const std::string &mesh_resource,
00076                                                       const geometry_msgs::PoseStamped &stamped, float scale, const std_msgs::ColorRGBA &color );
00077 
00078 visualization_msgs::InteractiveMarker makeMeshMarker( const std::string &name, const std::string &mesh_resource,
00079                                                       const geometry_msgs::PoseStamped &stamped, float scale, const std_msgs::ColorRGBA &color, bool use_color );
00080 
00081 visualization_msgs::InteractiveMarker makeButtonBox( const char *name, const geometry_msgs::PoseStamped &stamped,
00082                                                      float scale, bool fixed, bool view_facing );
00083 
00084 visualization_msgs::InteractiveMarker makeButtonSphere( const char *name, const geometry_msgs::PoseStamped &stamped,
00085                                                      float scale, bool fixed, bool view_facing );
00086 
00087 visualization_msgs::InteractiveMarker makeButtonSphere( const char *name, const geometry_msgs::PoseStamped &stamped,
00088                                                      float scale, bool fixed, bool view_facing, std_msgs::ColorRGBA color );
00089 
00090 visualization_msgs::InteractiveMarker makeListControl( const char *name, const geometry_msgs::PoseStamped &stamped, int num, int total, float scale);
00091 
00092 visualization_msgs::InteractiveMarker make6DofMarker( const char *name, const geometry_msgs::PoseStamped &stamped,
00093                                                       float scale, bool fixed, bool view_facing );
00094 
00095 visualization_msgs::InteractiveMarker makePlanarMarker( const char *name, const geometry_msgs::PoseStamped &stamped,
00096                                                       float scale, bool fixed );
00097 
00098 visualization_msgs::InteractiveMarker makeElevatorMarker( const char *name, const geometry_msgs::PoseStamped &stamped,
00099                                                           float scale, bool fixed);
00100 
00101 visualization_msgs::InteractiveMarker makeProjectorMarker( const char *name, const geometry_msgs::PoseStamped &stamped,
00102                                                            float scale);
00103 
00104 
00105 visualization_msgs::InteractiveMarker makeBaseMarker( const char *name, const geometry_msgs::PoseStamped &stamped,
00106                                                       float scale, bool fixed);
00107 
00108 visualization_msgs::InteractiveMarker makeGripperMarker( const char *name, const geometry_msgs::PoseStamped &stamped,
00109                                                          float scale, float angle, bool view_facing );
00110 
00111 visualization_msgs::InteractiveMarker makeGripperMarker( const char *name, const geometry_msgs::PoseStamped &stamped,
00112                                                          float scale, float angle, bool view_facing, std_msgs::ColorRGBA color );
00113 
00114 visualization_msgs::InteractiveMarker makeGripperMarker( const char *name, const geometry_msgs::PoseStamped &stamped,
00115                                                          float scale, float angle, bool view_facing, std_msgs::ColorRGBA color, bool use_color );
00116 
00117 visualization_msgs::InteractiveMarker makeGraspMarker( const char * name, const geometry_msgs::PoseStamped &stamped, float scale, PoseState pose_state);
00118 
00119 visualization_msgs::InteractiveMarker makePosedMultiMeshMarker( const char * name, const geometry_msgs::PoseStamped &stamped,
00120                                                             const std::vector< geometry_msgs::PoseStamped> &mesh_poses,
00121                                                             const std::vector<std::string> &mesh_paths, const float &scale, const bool button_only = true);
00122 
00123 visualization_msgs::InteractiveMarker makeFollowerMultiMeshMarker( const char * name, const geometry_msgs::PoseStamped &stamped,
00124                                                                    const std::vector<std::string> &mesh_frames,
00125                                                                    const std::vector<std::string> &mesh_paths,
00126                                                                    const float &scale);
00127 
00128 
00129 
00130 } // namespace im_helpers
00131 
00132 #endif


jsk_interactive_marker
Author(s): furuta
autogenerated on Sun Sep 13 2015 22:29:27