polygon_array_display.h
Go to the documentation of this file.
1 // -*- mode: c++ -*-
2 /*********************************************************************
3  * Software License Agreement (BSD License)
4  *
5  * Copyright (c) 2015, 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 POLYGON_ARRAY_DISPLAY_H
37 #define POLYGON_ARRAY_DISPLAY_H
38 
39 #ifndef Q_MOC_RUN
40 #include <jsk_recognition_msgs/PolygonArray.h>
45 
46 #include <OGRE/OgreSceneManager.h>
47 #include <OGRE/OgreSceneNode.h>
48 #include <OGRE/OgreManualObject.h>
49 #include <OGRE/OgreMaterialManager.h>
50 #include <OGRE/OgreTechnique.h>
56 #endif
57 
58 #include <ros/ros.h>
59 
60 namespace jsk_rviz_plugins
61 {
62 
63  class PolygonArrayDisplay:
64  public rviz::MessageFilterDisplay<jsk_recognition_msgs::PolygonArray>
65  {
66  Q_OBJECT
67  public:
68 #if ROS_VERSION_MINIMUM(1,12,0)
69  typedef std::shared_ptr<rviz::Arrow> ArrowPtr;
70 #else
72 #endif
74  virtual ~PolygonArrayDisplay();
75  protected:
76  virtual void onInitialize();
77  virtual void reset();
78  virtual void updateSceneNodes(
79  const jsk_recognition_msgs::PolygonArray::ConstPtr& msg);
80  virtual void allocateMaterials(int num);
81  virtual void updateLines(int num);
82  virtual Ogre::ColourValue getColor(size_t index);
83  virtual void processLine(
84  const size_t i, const geometry_msgs::PolygonStamped& polygon);
85  virtual void processPolygon(
86  const size_t i, const geometry_msgs::PolygonStamped& polygon);
87  virtual void processNormal(
88  const size_t i, const geometry_msgs::PolygonStamped& polygon);
89  virtual void processPolygonMaterial(const size_t i);
90  virtual void processMessage(
91  const jsk_recognition_msgs::PolygonArray::ConstPtr& msg);
92  virtual bool getTransform(
93  const std_msgs::Header &header,
94  Ogre::Vector3& position, Ogre::Quaternion& orientation);
98  // rviz::BoolProperty* auto_coloring_property_;
103  bool only_border_;
104  bool enable_lighting_;
105  std::string coloring_method_;
106  bool show_normal_;
107  double normal_length_;
108  jsk_recognition_msgs::PolygonArray::ConstPtr latest_msg_;
109  std::vector<Ogre::ManualObject*> manual_objects_;
110  std::vector<Ogre::SceneNode*> scene_nodes_;
111  std::vector<Ogre::SceneNode*> arrow_nodes_;
112  std::vector<ArrowPtr> arrow_objects_;
113  std::vector<Ogre::MaterialPtr> materials_;
114  std::vector<rviz::BillboardLine*> lines_;
115  private Q_SLOTS:
116  void updateColoring();
117  void updateOnlyBorder();
118  void updateShowNormal();
119  void updateEnableLighting();
120  void updateNormalLength();
121  private:
122 
123  };
124 }
125 
126 #endif
127 
jsk_rviz_plugins::PolygonArrayDisplay::updateNormalLength
void updateNormalLength()
Definition: polygon_array_display.cpp:529
jsk_rviz_plugins::PolygonArrayDisplay::getColor
virtual Ogre::ColourValue getColor(size_t index)
Definition: polygon_array_display.cpp:221
rviz::MessageFilterDisplay
jsk_rviz_plugins::PolygonArrayDisplay::updateOnlyBorder
void updateOnlyBorder()
Definition: polygon_array_display.cpp:505
jsk_rviz_plugins::PolygonArrayDisplay::color_property_
rviz::ColorProperty * color_property_
Definition: polygon_array_display.h:159
boost::shared_ptr< rviz::Arrow >
jsk_rviz_plugins::PolygonArrayDisplay::updateLines
virtual void updateLines(int num)
Definition: polygon_array_display.cpp:204
jsk_rviz_plugins::PolygonArrayDisplay::enable_lighting_property_
rviz::BoolProperty * enable_lighting_property_
Definition: polygon_array_display.h:165
jsk_rviz_plugins::PolygonArrayDisplay::onInitialize
virtual void onInitialize()
Definition: polygon_array_display.cpp:109
jsk_rviz_plugins::PolygonArrayDisplay::alpha_property_
rviz::FloatProperty * alpha_property_
Definition: polygon_array_display.h:160
ros.h
jsk_rviz_plugins::PolygonArrayDisplay::updateEnableLighting
void updateEnableLighting()
Definition: polygon_array_display.cpp:524
rviz::BoolProperty
enum_property.h
jsk_rviz_plugins::PolygonArrayDisplay::normal_length_
double normal_length_
Definition: polygon_array_display.h:171
jsk_rviz_plugins::PolygonArrayDisplay::normal_length_property_
rviz::FloatProperty * normal_length_property_
Definition: polygon_array_display.h:166
jsk_rviz_plugins::PolygonArrayDisplay::ArrowPtr
boost::shared_ptr< rviz::Arrow > ArrowPtr
Definition: polygon_array_display.h:135
shape.h
float_property.h
rviz::ColorProperty
billboard_line.h
jsk_rviz_plugins::PolygonArrayDisplay::updateSceneNodes
virtual void updateSceneNodes(const jsk_recognition_msgs::PolygonArray::ConstPtr &msg)
Definition: polygon_array_display.cpp:159
rviz::EnumProperty
rviz::FloatProperty
jsk_rviz_plugins::PolygonArrayDisplay::processMessage
virtual void processMessage(const jsk_recognition_msgs::PolygonArray::ConstPtr &msg)
Definition: polygon_array_display.cpp:415
jsk_rviz_plugins::PolygonArrayDisplay::latest_msg_
jsk_recognition_msgs::PolygonArray::ConstPtr latest_msg_
Definition: polygon_array_display.h:172
bool_property.h
jsk_rviz_plugins::PolygonArrayDisplay::PolygonArrayDisplay
PolygonArrayDisplay()
Definition: polygon_array_display.cpp:46
jsk_rviz_plugins::PolygonArrayDisplay::arrow_objects_
std::vector< ArrowPtr > arrow_objects_
Definition: polygon_array_display.h:176
jsk_rviz_plugins::PolygonArrayDisplay::show_normal_
bool show_normal_
Definition: polygon_array_display.h:170
jsk_rviz_plugins::PolygonArrayDisplay::only_border_
bool only_border_
Definition: polygon_array_display.h:167
jsk_rviz_plugins::PolygonArrayDisplay::updateColoring
void updateColoring()
Definition: polygon_array_display.cpp:485
message_filter_display.h
jsk_rviz_plugins::PolygonArrayDisplay::processPolygonMaterial
virtual void processPolygonMaterial(const size_t i)
Definition: polygon_array_display.cpp:303
jsk_rviz_plugins::PolygonArrayDisplay::reset
virtual void reset()
Definition: polygon_array_display.cpp:151
jsk_rviz_plugins::PolygonArrayDisplay::processNormal
virtual void processNormal(const size_t i, const geometry_msgs::PolygonStamped &polygon)
Definition: polygon_array_display.cpp:372
arrow.h
polygon_array_sample.header
header
Definition: polygon_array_sample.py:58
jsk_rviz_plugins::PolygonArrayDisplay::~PolygonArrayDisplay
virtual ~PolygonArrayDisplay()
Definition: polygon_array_display.cpp:86
jsk_rviz_plugins::PolygonArrayDisplay::materials_
std::vector< Ogre::MaterialPtr > materials_
Definition: polygon_array_display.h:177
jsk_rviz_plugins::PolygonArrayDisplay::coloring_method_
std::string coloring_method_
Definition: polygon_array_display.h:169
jsk_rviz_plugins::PolygonArrayDisplay::updateShowNormal
void updateShowNormal()
Definition: polygon_array_display.cpp:510
jsk_rviz_plugins::PolygonArrayDisplay::manual_objects_
std::vector< Ogre::ManualObject * > manual_objects_
Definition: polygon_array_display.h:173
jsk_rviz_plugins::PolygonArrayDisplay::only_border_property_
rviz::BoolProperty * only_border_property_
Definition: polygon_array_display.h:161
jsk_rviz_plugins::PolygonArrayDisplay::scene_nodes_
std::vector< Ogre::SceneNode * > scene_nodes_
Definition: polygon_array_display.h:174
jsk_rviz_plugins::PolygonArrayDisplay::enable_lighting_
bool enable_lighting_
Definition: polygon_array_display.h:168
jsk_rviz_plugins::PolygonArrayDisplay::processPolygon
virtual void processPolygon(const size_t i, const geometry_msgs::PolygonStamped &polygon)
Definition: polygon_array_display.cpp:323
jsk_rviz_plugins::PolygonArrayDisplay::arrow_nodes_
std::vector< Ogre::SceneNode * > arrow_nodes_
Definition: polygon_array_display.h:175
jsk_rviz_plugins::PolygonArrayDisplay::coloring_property_
rviz::EnumProperty * coloring_property_
Definition: polygon_array_display.h:163
jsk_rviz_plugins::PolygonArrayDisplay::allocateMaterials
virtual void allocateMaterials(int num)
Definition: polygon_array_display.cpp:118
jsk_rviz_plugins::PolygonArrayDisplay::processLine
virtual void processLine(const size_t i, const geometry_msgs::PolygonStamped &polygon)
Definition: polygon_array_display.cpp:270
jsk_rviz_plugins::PolygonArrayDisplay::getTransform
virtual bool getTransform(const std_msgs::Header &header, Ogre::Vector3 &position, Ogre::Quaternion &orientation)
Definition: polygon_array_display.cpp:466
jsk_rviz_plugins::PolygonArrayDisplay::show_normal_property_
rviz::BoolProperty * show_normal_property_
Definition: polygon_array_display.h:164
jsk_rviz_plugins::PolygonArrayDisplay::lines_
std::vector< rviz::BillboardLine * > lines_
Definition: polygon_array_display.h:178
jsk_rviz_plugins
Definition: __init__.py:1
color_property.h


jsk_rviz_plugins
Author(s): Kei Okada , Yohei Kakiuchi , Shohei Fujii , Ryohei Ueda
autogenerated on Fri Dec 13 2024 03:49:57