marker_detection_visual.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2016, Lukas Pfeifhofer <lukas.pfeifhofer@devlabs.pro>
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions are met:
7  *
8  * 1. Redistributions of source code must retain the above copyright notice,
9  * this list of conditions and the following disclaimer.
10  *
11  * 2. Redistributions in binary form must reproduce the above copyright notice,
12  * this list of conditions and the following disclaimer in the documentation
13  * and/or other materials provided with the distribution.
14  *
15  * 3. Neither the name of the copyright holder nor the names of its contributors
16  * may be used to endorse or promote products derived from this software without
17  * specific prior written permission.
18  *
19  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
23  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29  * POSSIBILITY OF SUCH DAMAGE.
30  */
31 
32 #ifndef MARKER_DETECTION_VISUAL_H
33 #define MARKER_DETECTION_VISUAL_H
34 
35 #include <marker_msgs/MarkerDetection.h>
36 #include "ogre_visuals/marker.h"
37 
38 namespace Ogre {
39  class Vector3;
40 
41  class Quaternion;
42 }
43 
44 namespace rviz {
45  class Axes;
46 }
47 
48 namespace marker_rviz_plugin {
49 
51  public:
52  MarkerDetectionVisual(Ogre::SceneManager *scene_manager, Ogre::SceneNode *parent_node);
53 
54  virtual ~MarkerDetectionVisual();
55 
56  // Configure the visual to show the data in the message.
57  void setMessage(const marker_msgs::MarkerDetection::ConstPtr &msg);
58 
59  // Set the pose of the coordinate frame the message refers to.
60  // These could be done inside setMessage(), but that would require
61  // calls to FrameManager and error handling inside setMessage(),
62  // which doesn't seem as clean. This way MarkerDetectionVisual is
63  // only responsible for visualization.
64  void setFramePosition(const Ogre::Vector3 &position);
65 
66  void setFrameOrientation(const Ogre::Quaternion &orientation);
67 
68  void setShowAxes(bool showAxes);
69 
70  void setShowMarker(bool showMarker);
71 
72  void setShowLabel(bool showLabel);
73 
74  void setScale(float scale);
75 
76  void setColorLabel(Ogre::ColourValue color);
77 
78  private:
79  std::vector<boost::shared_ptr<Marker> > _markers;
80 
81  Ogre::SceneNode *frame_node_;
82  Ogre::SceneManager *scene_manager_;
83 
84  bool _showAxes;
86  bool _showLabel;
87  Ogre::ColourValue _colorLabel;
88  float _scale;
89  };
90 
91 } // end namespace marker_rviz_plugin
92 
93 #endif // MARKER_DETECTION_VISUAL_H
std::vector< boost::shared_ptr< Marker > > _markers
TFSIMD_FORCE_INLINE Vector3()


marker_rviz_plugin
Author(s): Markus Bader, Lukas Pfeifhofer, Markus Macsek
autogenerated on Mon Jun 10 2019 13:54:22