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 
24 #include "gazebo/sensors/Sensor.hh"
25 #include "gazebo/util/system.hh"
26 
27 namespace 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  {
45  public: LogicalCameraSensor();
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
virtual void Load(const std::string &_worldName, sdf::ElementPtr _sdf)
Load the sensor with SDF parameters.
Forward declarations for the common classes.
Definition: Animation.hh:26
ignition::math::Angle HorizontalFOV() const
Get the horizontal field of view.
sensors
Definition: SensorManager.hh:35
LogicalCameraSensor()
Constructor.
double Far() const
Get the far distance.
virtual std::string Topic() const
Returns the topic name as set in SDF.
double AspectRatio() const
Get the aspect ratio, which is the width divided by height of the near or far planes.
virtual bool IsActive() const
Returns true if sensor generation is active.
virtual ~LogicalCameraSensor()
Destructor.
virtual void Init()
Initialize the sensor.
double Near() const
Get the near distance.
virtual void Fini()
Finalize the sensor.
GAZEBO_VISIBLE void Init(google::protobuf::Message &_message, const std::string &_id="")
Initialize a message.
Base class for sensors.
Definition: Sensor.hh:51
virtual bool UpdateImpl(const bool _force)
This gets overwritten by derived sensor types.
A camera sensor that reports locations of objects instead of rendering a scene. This camera finds mod...
Definition: LogicalCameraSensor.hh:42
msgs::LogicalCameraImage Image() const
Get the latest image.