visualization.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2019 Roboception GmbH
3  *
4  * Author: Monika Florek-Jasinska
5  *
6  * Redistribution and use in source and binary forms, with or without
7  * modification, are permitted provided that the following conditions are met:
8  *
9  * 1. Redistributions of source code must retain the above copyright notice,
10  * this list of conditions and the following disclaimer.
11  *
12  * 2. Redistributions in binary form must reproduce the above copyright notice,
13  * this list of conditions and the following disclaimer in the documentation
14  * and/or other materials provided with the distribution.
15  *
16  * 3. Neither the name of the copyright holder nor the names of its contributors
17  * may be used to endorse or promote products derived from this software without
18  * specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
24  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
25  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30  * POSSIBILITY OF SUCH DAMAGE.
31  */
32 
33 #ifndef RC_TAGDETECT_CLIENT_VISUALIZATION_H
34 #define RC_TAGDETECT_CLIENT_VISUALIZATION_H
35 
36 #include <ros/ros.h>
37 #include <visualization_msgs/MarkerArray.h>
40 #include <rc_tagdetect_client/DetectedTag.h>
41 
42 namespace rc_tagdetect_client
43 {
45 {
46 public:
47  explicit Visualization(const ros::NodeHandle& nh);
48 
50 
51  /*
52  * Remove previously published tag markers.
53  */
54  void deleteMarkers();
55 
56  /*
57  * Publish tags as tf and marker
58  */
59  void publishTags(const std::vector<rc_tagdetect_client::DetectedTag>& tags);
60 
61 private:
62  geometry_msgs::TransformStamped createTf(const rc_tagdetect_client::DetectedTag& tag) const;
63  visualization_msgs::Marker createMarker(const rc_tagdetect_client::DetectedTag& tag) const;
64 
68  visualization_msgs::MarkerArray markers_;
70 };
71 } // namespace rc_tagdetect_client
72 
73 #endif // RC_TAGDETECT_CLIENT_VISUALIZATION_H
void publishTags(const std::vector< rc_tagdetect_client::DetectedTag > &tags)
geometry_msgs::TransformStamped createTf(const rc_tagdetect_client::DetectedTag &tag) const
::std::string string
Definition: gtest-port.h:1129
visualization_msgs::MarkerArray markers_
Definition: visualization.h:68
Visualization(const ros::NodeHandle &nh)
visualization_msgs::Marker createMarker(const rc_tagdetect_client::DetectedTag &tag) const
tf2_ros::TransformBroadcaster transform_broadcaster_
Definition: visualization.h:69


rc_tagdetect_client
Author(s): Monika Florek-Jasinska , Raphael Schaller
autogenerated on Sat Feb 13 2021 03:42:17