LogicalCameraSensor.hh
Go to the documentation of this file.
1/*
2 * Copyright (C) 2015 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 _GAZEBO_LOGICAL_CAMERASENSOR_HH_
18#define _GAZEBO_LOGICAL_CAMERASENSOR_HH_
19
20#include <memory>
21#include <string>
22#include <sdf/sdf.hh>
23
25#include "gazebo/util/system.hh"
26
27namespace gazebo
28{
29 namespace sensors
30 {
31 // Forward declare private data class
32 class LogicalCameraSensorPrivate;
33
36
42 class GZ_SENSORS_VISIBLE LogicalCameraSensor : public Sensor
43 {
46
48 public: virtual ~LogicalCameraSensor();
49
50 // Documentation inherited
51 public: virtual void Load(const std::string &_worldName,
52 sdf::ElementPtr _sdf);
53
54 // Documentation inherited
55 public: virtual void Load(const std::string &_worldName);
56
57 // Documentation inherited
58 public: virtual void Init();
59
60 // Documentation inherited.
61 public: virtual std::string Topic() const;
62
66 public: double Near() const;
67
71 public: double Far() const;
72
77 public: ignition::math::Angle HorizontalFOV() const;
78
82 public: double AspectRatio() const;
83
87 public: msgs::LogicalCameraImage Image() const;
88
89 // Documentation inherited
90 public: virtual bool IsActive() const;
91
92 // Documentation inherited
93 protected: virtual bool UpdateImpl(const bool _force);
94
95 // \brief Finalize the logical camera
96 protected: virtual void Fini();
97
98 // \internal
99 // \brief Private data pointer
100 private: std::unique_ptr<LogicalCameraSensorPrivate> dataPtr;
101 };
103 }
104}
105#endif
sensors
Definition SensorManager.hh:35
A camera sensor that reports locations of objects instead of rendering a scene.
Definition LogicalCameraSensor.hh:43
msgs::LogicalCameraImage Image() const
Get the latest image.
virtual void Fini()
Finalize the sensor.
double AspectRatio() const
Get the aspect ratio, which is the width divided by height of the near or far planes.
virtual void Init()
Initialize the sensor.
virtual void Load(const std::string &_worldName, sdf::ElementPtr _sdf)
Load the sensor with SDF parameters.
virtual void Load(const std::string &_worldName)
Load the sensor with default parameters.
double Near() const
Get the near distance.
virtual bool IsActive() const
Returns true if sensor generation is active.
virtual std::string Topic() const
Returns the topic name as set in SDF.
virtual bool UpdateImpl(const bool _force)
This gets overwritten by derived sensor types.
virtual ~LogicalCameraSensor()
Destructor.
ignition::math::Angle HorizontalFOV() const
Get the horizontal field of view.
double Far() const
Get the far distance.
Base class for sensors.
Definition Sensor.hh:53
Forward declarations for the common classes.
Definition Animation.hh:27