Gazebo Rendering

API Reference

8.2.1
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"
24 #include "gz/rendering/Visual.hh"
25 #include "gz/rendering/Object.hh"
27 #include "gz/rendering/Marker.hh"
28 
29 namespace gz
30 {
31  namespace rendering
32  {
33  inline namespace GZ_RENDERING_VERSION_NAMESPACE {
34  //
36  enum GZ_RENDERING_VISIBLE LidarVisualType
37  {
39  LVT_NONE = 0,
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