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
jsk_rviz_plugins::FootstepDisplay::alpha_
double alpha_
Definition: footstep_display.h:153
rviz::BillboardLine
rviz::MessageFilterDisplay
jsk_rviz_plugins::FootstepDisplay::line_
rviz::BillboardLine * line_
Definition: footstep_display.h:151
jsk_rviz_plugins::FootstepDisplay::depth_property_
rviz::FloatProperty * depth_property_
Definition: footstep_display.h:139
jsk_rviz_plugins::FootstepDisplay::updateHeight
void updateHeight()
Definition: footstep_display.cpp:125
boost::shared_ptr
jsk_rviz_plugins::FootstepDisplay::updateAlpha
void updateAlpha()
Definition: footstep_display.cpp:135
jsk_rviz_plugins::FootstepDisplay::height_
double height_
Definition: footstep_display.h:152
rviz::BoolProperty
jsk_rviz_plugins::FootstepDisplay::width_
double width_
Definition: footstep_display.h:152
jsk_rviz_plugins::FootstepDisplay::use_group_coloring_property_
rviz::BoolProperty * use_group_coloring_property_
Definition: footstep_display.h:141
jsk_rviz_plugins::FootstepDisplay::use_group_coloring_
bool use_group_coloring_
Definition: footstep_display.h:155
jsk_rviz_plugins::FootstepDisplay::text_nodes_
std::vector< Ogre::SceneNode * > text_nodes_
Definition: footstep_display.h:150
jsk_rviz_plugins::FootstepDisplay::updateDepth
void updateDepth()
Definition: footstep_display.cpp:130
jsk_rviz_plugins::FootstepDisplay::width_property_
rviz::FloatProperty * width_property_
Definition: footstep_display.h:137
shape.h
float_property.h
billboard_line.h
jsk_rviz_plugins::FootstepDisplay::updateWidth
void updateWidth()
Definition: footstep_display.cpp:120
rviz::FloatProperty
jsk_rviz_plugins::FootstepDisplay::FootstepDisplay
FootstepDisplay()
Definition: footstep_display.cpp:74
overlay_menu_sample.b
b
Definition: overlay_menu_sample.py:20
bool_property.h
jsk_rviz_plugins::FootstepDisplay::~FootstepDisplay
virtual ~FootstepDisplay()
Definition: footstep_display.cpp:102
jsk_rviz_plugins::FootstepDisplay::minNotZero
virtual double minNotZero(double a, double b)
Definition: footstep_display.cpp:236
jsk_rviz_plugins::FootstepDisplay::estimateTextSize
virtual double estimateTextSize(const jsk_footstep_msgs::Footstep &footstep)
Definition: footstep_display.cpp:281
message_filter_display.h
jsk_rviz_plugins::FootstepDisplay::allocateCubes
virtual void allocateCubes(size_t num)
Definition: footstep_display.cpp:191
jsk_rviz_plugins::FootstepDisplay::validateFloats
virtual bool validateFloats(const jsk_footstep_msgs::FootstepArray &msg)
Definition: footstep_display.cpp:159
jsk_rviz_plugins::FootstepDisplay::update
virtual void update(float wall_dt, float ros_dt)
Definition: footstep_display.cpp:248
jsk_rviz_plugins::FootstepDisplay::ShapePtr
boost::shared_ptr< rviz::Shape > ShapePtr
Definition: footstep_display.h:146
jsk_rviz_plugins::FootstepDisplay::alpha_property_
rviz::FloatProperty * alpha_property_
Definition: footstep_display.h:136
jsk_rviz_plugins::FootstepDisplay::texts_
std::vector< rviz::MovableText * > texts_
Definition: footstep_display.h:149
jsk_rviz_plugins::FootstepDisplay::depth_
double depth_
Definition: footstep_display.h:152
jsk_rviz_plugins::FootstepDisplay::updateUseGroupColoring
void updateUseGroupColoring()
Definition: footstep_display.cpp:145
jsk_rviz_plugins::FootstepDisplay::shapes_
std::vector< ShapePtr > shapes_
Definition: footstep_display.h:148
jsk_rviz_plugins::FootstepDisplay::show_name_
bool show_name_
Definition: footstep_display.h:154
jsk_rviz_plugins::FootstepDisplay::processMessage
virtual void processMessage(const jsk_footstep_msgs::FootstepArray::ConstPtr &msg)
Definition: footstep_display.cpp:302
movable_text.h
jsk_rviz_plugins::FootstepDisplay::reset
virtual void reset()
Definition: footstep_display.cpp:151
jsk_rviz_plugins::FootstepDisplay::height_property_
rviz::FloatProperty * height_property_
Definition: footstep_display.h:138
jsk_rviz_plugins::FootstepDisplay::show_name_property_
rviz::BoolProperty * show_name_property_
Definition: footstep_display.h:140
jsk_rviz_plugins::FootstepDisplay::updateShowName
void updateShowName()
Definition: footstep_display.cpp:140
jsk_rviz_plugins::FootstepDisplay::allocateTexts
virtual void allocateTexts(size_t num)
Definition: footstep_display.cpp:207
jsk_rviz_plugins
Definition: __init__.py:1
jsk_rviz_plugins::FootstepDisplay::onInitialize
virtual void onInitialize()
Definition: footstep_display.cpp:178
jsk_rviz_plugins::FootstepDisplay::latest_footstep_
jsk_footstep_msgs::FootstepArray::ConstPtr latest_footstep_
Definition: footstep_display.h:142


jsk_rviz_plugins
Author(s): Kei Okada , Yohei Kakiuchi , Shohei Fujii , Ryohei Ueda
autogenerated on Mon Jan 22 2024 03:47:13