marker_with_covariance_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_WITH_COVARIANCE_VISUAL_H
33 #define MARKER_WITH_COVARIANCE_VISUAL_H
34 
35 #include <marker_msgs/MarkerWithCovarianceStamped.h>
36 #include "ogre_visuals/marker.h"
38 
39 namespace Ogre {
40  class Vector3;
41 
42  class Quaternion;
43 }
44 
45 namespace rviz {
46  class Axes;
47 }
48 
49 namespace marker_rviz_plugin {
50 
52  public:
53  MarkerWithCovarianceVisual(Ogre::SceneManager *scene_manager, Ogre::SceneNode *parent_node);
54 
55  virtual ~MarkerWithCovarianceVisual();
56 
57  // Configure the visual to show the data in the message.
58  void setMessage(const marker_msgs::MarkerWithCovarianceStamped::ConstPtr &msg);
59 
60  // Set the pose of the coordinate frame the message refers to.
61  // These could be done inside setMessage(), but that would require
62  // calls to FrameManager and error handling inside setMessage(),
63  // which doesn't seem as clean. This way MarkerDetectionVisual is
64  // only responsible for visualization.
65  void setFramePosition(const Ogre::Vector3 &position);
66 
67  void setFrameOrientation(const Ogre::Quaternion &orientation);
68 
69  void setShowAxes(bool showAxes);
70 
71  void setShowMarker(bool showMarker);
72 
73  void setShowLabel(bool showLabel);
74 
75  void setScale(float scale);
76 
77  private:
79 
80  Ogre::SceneNode *frame_node_;
81  Ogre::SceneManager *scene_manager_;
82 
83  bool _showAxes;
85  bool _showLabel;
86  float _scale;
87  };
88 
89 } // end namespace marker_rviz_plugin
90 
91 #endif // MARKER_WITH_COVARIANCE_VISUAL_H
TFSIMD_FORCE_INLINE Vector3()


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