All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
CameraPrivate.hh
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2012-2013 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_CAMERA_PRIVATE_HH_
18 #define _GAZEBO_RENDERING_CAMERA_PRIVATE_HH_
19 
20 #include <deque>
21 #include <utility>
22 #include <list>
23 
24 #include "gazebo/msgs/msgs.hh"
25 #include "gazebo/util/system.hh"
26 
27 namespace Ogre
28 {
29  class CompositorInstance;
30 }
31 
32 namespace gazebo
33 {
34  namespace rendering
35  {
38  {
41 
43  public: static unsigned int cameraCounter;
44 
46  public: Ogre::CompositorInstance *dsGBufferInstance;
47 
49  public: Ogre::CompositorInstance *dsMergeInstance;
50 
52  public: Ogre::CompositorInstance *dlGBufferInstance;
53 
55  public: Ogre::CompositorInstance *dlMergeInstance;
56 
58  public: Ogre::CompositorInstance *ssaoInstance;
59 
61  public: std::deque<std::pair<math::Pose, double> > moveToPositionQueue;
62 
65 
68 
71 
74 
77 
80 
83  typedef std::list<boost::shared_ptr<msgs::CameraCmd const> >
85 
88 
90  public: boost::mutex receiveMutex;
91  };
92  }
93 }
94 #endif
VisualPtr trackedVisual
Visual that the camera is tracking.
Definition: CameraPrivate.hh:40
boost::shared_ptr< Subscriber > SubscriberPtr
Definition: TransportTypes.hh:48
Ogre::CompositorInstance * dlMergeInstance
Deferred lighting merge compositor.
Definition: CameraPrivate.hh:55
Ogre::CompositorInstance * dlGBufferInstance
Deferred lighting geometry buffer.
Definition: CameraPrivate.hh:52
Private data for the Camera class.
Definition: CameraPrivate.hh:37
transport::NodePtr node
Communication Node.
Definition: CameraPrivate.hh:76
std::deque< std::pair< math::Pose, double > > moveToPositionQueue
Queue of move positions.
Definition: CameraPrivate.hh:61
boost::mutex receiveMutex
Mutex to lock the various message buffers.
Definition: CameraPrivate.hh:90
common::PID trackVisualPID
Position PID used to track a visual smoothly.
Definition: CameraPrivate.hh:67
transport::SubscriberPtr cmdSub
Subscribe to camera command topic.
Definition: CameraPrivate.hh:79
boost::shared_ptr< Node > NodePtr
Definition: TransportTypes.hh:52
common::Time renderPeriod
Render period.
Definition: CameraPrivate.hh:64
static unsigned int cameraCounter
Counter used to create unique camera names.
Definition: CameraPrivate.hh:43
Ogre::CompositorInstance * ssaoInstance
Screen space ambient occlusion compositor.
Definition: CameraPrivate.hh:58
common::PID trackVisualYawPID
Yaw PID used to track a visual smoothly.
Definition: CameraPrivate.hh:73
CameraCmdMsgs_L commandMsgs
List of camera cmd messages.
Definition: CameraPrivate.hh:87
std::list< boost::shared_ptr< msgs::CameraCmd const > > CameraCmdMsgs_L
Definition: CameraPrivate.hh:84
boost::shared_ptr< Visual > VisualPtr
Definition: RenderTypes.hh:100
common::PID trackVisualPitchPID
Pitch PID used to track a visual smoothly.
Definition: CameraPrivate.hh:70
#define GAZEBO_VISIBLE
Use to represent "symbol visible" if supported.
Definition: system.hh:48
Generic PID controller class.
Definition: PID.hh:36
Ogre::CompositorInstance * dsMergeInstance
Deferred shading merge compositor.
Definition: CameraPrivate.hh:49
A Time class, can be used to hold wall- or sim-time.
Definition: Time.hh:43
Ogre::CompositorInstance * dsGBufferInstance
Deferred shading geometry buffer.
Definition: CameraPrivate.hh:46