Gazebo Rendering

API Reference

9.0.0~pre2
LidarVisual.hh
Go to the documentation of this file.
1/*
2 * Copyright (C) 2020 Open Source Robotics Foundation
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 *
16 */
17#ifndef GZ_RENDERING_LIDARVISUAL_HH_
18#define GZ_RENDERING_LIDARVISUAL_HH_
19
20#include <vector>
21#include <gz/math/Color.hh>
22#include <gz/math/Vector3.hh>
23#include "gz/rendering/config.hh"
28
29namespace gz
30{
31 namespace rendering
32 {
33 inline namespace GZ_RENDERING_VERSION_NAMESPACE {
34 //
36 enum GZ_RENDERING_VISIBLE LidarVisualType
37 {
40
43
46
49 };
50
54 class GZ_RENDERING_VISIBLE LidarVisual :
55 public virtual Visual
56 {
57 protected: LidarVisual();
58
60 public: virtual ~LidarVisual();
61
63 public: virtual void ClearPoints() = 0;
64
66 public: virtual void Update() = 0;
67
70 public: virtual void SetPoints(const std::vector<double> &_points) = 0;
71
75 public: virtual void SetPoints(const std::vector<double> &_points,
76 const std::vector<gz::math::Color> &_colors) = 0;
77
80 public: virtual void SetMinVerticalAngle(
81 double _minVerticalAngle) = 0;
82
85 public: virtual double MinVerticalAngle() const = 0;
86
89 public: virtual void SetMaxVerticalAngle(
90 double _maxVerticalAngle) = 0;
91
94 public: virtual double MaxVerticalAngle() const = 0;
95
98 public: virtual void SetMinHorizontalAngle(
99 double _minHorizontalAngle) = 0;
100
103 public: virtual double MinHorizontalAngle() const = 0;
104
107 public: virtual void SetMaxHorizontalAngle(
108 double _maxHorizontalAngle) = 0;
109
112 public: virtual double MaxHorizontalAngle() const = 0;
113
116 public: virtual void SetVerticalRayCount(
117 unsigned int _verticalRayCount) = 0;
118
121 public: virtual unsigned int VerticalRayCount() const = 0;
122
125 public: virtual void SetHorizontalRayCount(
126 unsigned int _horizontalRayCount) = 0;
127
130 public: virtual unsigned int HorizontalRayCount() const = 0;
131
134 public: virtual void SetMinRange(double _minRange) = 0;
135
138 public: virtual double MinRange() const = 0;
139
142 public: virtual void SetMaxRange(double _maxRange) = 0;
143
146 public: virtual double MaxRange() const = 0;
147
150 public: virtual void SetOffset(
151 const gz::math::Pose3d _offset) = 0;
152
155 public: virtual gz::math::Pose3d Offset() const = 0;
156
159 public: virtual unsigned int PointCount() const = 0;
160
163 public: virtual std::vector<double> Points() const = 0;
164
167 public: virtual void SetType(const LidarVisualType _type) = 0;
168
171 public: virtual LidarVisualType Type() const = 0;
172
176 public: virtual void SetSize(double _size) = 0;
177
181 public: virtual double Size() const = 0;
182
186 public: virtual void SetDisplayNonHitting(bool _display) = 0;
187
190 public: virtual bool DisplayNonHitting() const = 0;
191 };
192 }
193 }
194}
195#endif