CameraPrivate.hh
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2012-2016 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_RENDERING_CAMERAPRIVATE_HH_
18 #define _GAZEBO_RENDERING_CAMERAPRIVATE_HH_
19 
20 #include <deque>
21 #include <mutex>
22 #include <utility>
23 #include <list>
24 #include <ignition/math/Pose3.hh>
25 
26 #include "gazebo/common/PID.hh"
27 #include "gazebo/msgs/msgs.hh"
28 #include "gazebo/util/system.hh"
29 
30 namespace Ogre
31 {
32  class CompositorInstance;
33 }
34 
35 namespace gazebo
36 {
37  namespace rendering
38  {
41  {
44 
46  public: static unsigned int cameraCounter;
47 
49  public: Ogre::CompositorInstance *dsGBufferInstance;
50 
52  public: Ogre::CompositorInstance *dsMergeInstance;
53 
55  public: Ogre::CompositorInstance *dlGBufferInstance;
56 
58  public: Ogre::CompositorInstance *dlMergeInstance;
59 
61  public: Ogre::CompositorInstance *ssaoInstance;
62 
65 
67  public: std::deque<std::pair<ignition::math::Pose3d, double> >
69 
72 
75 
78 
81 
84 
87 
90  typedef std::list<boost::shared_ptr<msgs::CameraCmd const> >
92 
95 
97  public: std::mutex receiveMutex;
98  };
99  }
100 }
101 #endif
VisualPtr trackedVisual
Visual that the camera is tracking.
Definition: CameraPrivate.hh:43
boost::shared_ptr< Subscriber > SubscriberPtr
Definition: TransportTypes.hh:53
Ogre::CompositorInstance * dlMergeInstance
Deferred lighting merge compositor.
Definition: CameraPrivate.hh:58
DistortionPtr distortion
Lens distortion model.
Definition: CameraPrivate.hh:64
boost::shared_ptr< Distortion > DistortionPtr
Definition: RenderTypes.hh:196
std::shared_ptr< Visual > VisualPtr
Definition: RenderTypes.hh:112
Ogre::CompositorInstance * dlGBufferInstance
Deferred lighting geometry buffer.
Definition: CameraPrivate.hh:55
Private data for the Camera class.
Definition: CameraPrivate.hh:40
transport::NodePtr node
Communication Node.
Definition: CameraPrivate.hh:83
#define GZ_RENDERING_VISIBLE
Definition: system.hh:209
common::PID trackVisualPID
Position PID used to track a visual smoothly.
Definition: CameraPrivate.hh:74
transport::SubscriberPtr cmdSub
Subscribe to camera command topic.
Definition: CameraPrivate.hh:86
boost::shared_ptr< Node > NodePtr
Definition: TransportTypes.hh:57
common::Time renderPeriod
Render period.
Definition: CameraPrivate.hh:71
static unsigned int cameraCounter
Counter used to create unique camera names.
Definition: CameraPrivate.hh:46
Ogre::CompositorInstance * ssaoInstance
Screen space ambient occlusion compositor.
Definition: CameraPrivate.hh:61
common::PID trackVisualYawPID
Yaw PID used to track a visual smoothly.
Definition: CameraPrivate.hh:80
CameraCmdMsgs_L commandMsgs
List of camera cmd messages.
Definition: CameraPrivate.hh:94
std::list< boost::shared_ptr< msgs::CameraCmd const > > CameraCmdMsgs_L
Definition: CameraPrivate.hh:91
std::mutex receiveMutex
Mutex to lock the various message buffers.
Definition: CameraPrivate.hh:97
common::PID trackVisualPitchPID
Pitch PID used to track a visual smoothly.
Definition: CameraPrivate.hh:77
Generic PID controller class.
Definition: PID.hh:36
Ogre::CompositorInstance * dsMergeInstance
Deferred shading merge compositor.
Definition: CameraPrivate.hh:52
std::deque< std::pair< ignition::math::Pose3d, double > > moveToPositionQueue
Queue of move positions.
Definition: CameraPrivate.hh:68
A Time class, can be used to hold wall- or sim-time.
Definition: Time.hh:44
Ogre::CompositorInstance * dsGBufferInstance
Deferred shading geometry buffer.
Definition: CameraPrivate.hh:49