footstep_display.h
Go to the documentation of this file.
1 // -*- mode: c++ -*-
2 /*********************************************************************
3  * Software License Agreement (BSD License)
4  *
5  * Copyright (c) 2014, JSK Lab
6  * All rights reserved.
7  *
8  * Redistribution and use in source and binary forms, with or without
9  * modification, are permitted provided that the following conditions
10  * are met:
11  *
12  * * Redistributions of source code must retain the above copyright
13  * notice, this list of conditions and the following disclaimer.
14  * * Redistributions in binary form must reproduce the above
15  * copyright notice, this list of conditions and the following
16  * disclaimer in the documentation and/or other materials provided
17  * with the distribution.
18  * * Neither the name of the JSK Lab nor the names of its
19  * contributors may be used to endorse or promote products derived
20  * from this software without specific prior written permission.
21  *
22  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
25  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
26  * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
27  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
28  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
29  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
30  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
32  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
33  * POSSIBILITY OF SUCH DAMAGE.
34  *********************************************************************/
35 
36 #ifndef FOOTSTEP_DISPLAY_H
37 #define FOOTSTEP_DISPLAY_H
38 
39 #include <jsk_footstep_msgs/FootstepArray.h>
40 #ifndef Q_MOC_RUN
47 #include <OGRE/OgreSceneManager.h>
48 #include <OGRE/OgreSceneNode.h>
49 #endif
50 
51 namespace jsk_rviz_plugins
52 {
53  class FootstepDisplay : public rviz::MessageFilterDisplay<jsk_footstep_msgs::FootstepArray>
54  {
55  Q_OBJECT
56  public:
58  virtual ~FootstepDisplay();
59  protected:
60  virtual void onInitialize();
61  virtual void reset();
62  virtual void update(float wall_dt, float ros_dt);
63  private:
64  virtual void allocateCubes(size_t num);
65  virtual void allocateTexts(size_t num);
66  virtual double estimateTextSize(
67  const jsk_footstep_msgs::Footstep& footstep);
68  virtual double minNotZero(double a, double b);
69  virtual void processMessage(const jsk_footstep_msgs::FootstepArray::ConstPtr& msg);
70  virtual bool validateFloats(const jsk_footstep_msgs::FootstepArray& msg);
71 
78  jsk_footstep_msgs::FootstepArray::ConstPtr latest_footstep_;
79 #if ROS_VERSION_MINIMUM(1,12,0)
80  typedef std::shared_ptr<rviz::Shape> ShapePtr;
81 #else
83 #endif
84  std::vector<ShapePtr> shapes_;
85  std::vector<rviz::MovableText*> texts_;
86  std::vector<Ogre::SceneNode*> text_nodes_;
88  double width_, height_, depth_;
89  double alpha_;
90  bool show_name_;
92  //Ogre::SceneNode* scene_node_;
93  private Q_SLOTS:
94  void updateAlpha();
95  void updateWidth();
96  void updateHeight();
97  void updateDepth();
98  void updateShowName();
100  };
101 }
102 
103 #endif
msg
jsk_footstep_msgs::FootstepArray::ConstPtr latest_footstep_
num
std::vector< Ogre::SceneNode * > text_nodes_
rviz::FloatProperty * height_property_
virtual void processMessage(const jsk_footstep_msgs::FootstepArray::ConstPtr &msg)
virtual void allocateCubes(size_t num)
rviz::BoolProperty * show_name_property_
virtual void update(float wall_dt, float ros_dt)
rviz::BoolProperty * use_group_coloring_property_
virtual void allocateTexts(size_t num)
std::vector< ShapePtr > shapes_
virtual bool validateFloats(const jsk_footstep_msgs::FootstepArray &msg)
virtual double estimateTextSize(const jsk_footstep_msgs::Footstep &footstep)
boost::shared_ptr< rviz::Shape > ShapePtr
rviz::FloatProperty * width_property_
rviz::FloatProperty * depth_property_
rviz::FloatProperty * alpha_property_
std::vector< rviz::MovableText * > texts_
virtual double minNotZero(double a, double b)


jsk_rviz_plugins
Author(s): Kei Okada , Yohei Kakiuchi , Shohei Fujii , Ryohei Ueda
autogenerated on Thu Jun 1 2023 02:45:58