RenderTypes.hh
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2012 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 _RENDERTYPES_HH_
18 #define _RENDERTYPES_HH_
19 
20 #ifndef Q_MOC_RUN
21 #include <boost/shared_ptr.hpp>
22 #endif
23 #include "gazebo/gazebo_config.h"
24 #include "gazebo/util/system.hh"
25 
28 #define GZ_VISIBILITY_ALL 0x0FFFFFFF
29 
32 #define GZ_VISIBILITY_SELECTION 0x10000000
33 
36 #define GZ_VISIBILITY_GUI 0x00000001
37 
40 #define GZ_VISIBILITY_SELECTABLE 0x00000002
41 
42 namespace gazebo
43 {
44  namespace rendering
45  {
46  class Scene;
47  class Light;
48  class Camera;
49  class UserCamera;
50  class DepthCamera;
51  class WideAngleCamera;
52  class GpuLaser;
53  class DynamicLines;
54  class Visual;
55  class LaserVisual;
56  class LogicalCameraVisual;
57  class SonarVisual;
58  class WrenchVisual;
59  class CameraVisual;
60  class JointVisual;
61  class AxisVisual;
62  class ArrowVisual;
63  class ContactVisual;
64  class COMVisual;
65  class InertiaVisual;
66  class RFIDVisual;
67  class RFIDTagVisual;
68  class ApplyWrenchVisual;
69  class OriginVisual;
70  class LinkFrameVisual;
71  class WindowManager;
72  class SelectionObj;
73  class RayQuery;
74  class Distortion;
75 
76 #ifdef HAVE_OCULUS
77  class OculusCamera;
78 #endif
79 
82  typedef boost::shared_ptr<Scene> ScenePtr;
83 
86  typedef boost::shared_ptr<Light> LightPtr;
87 
90  typedef boost::shared_ptr<Camera> CameraPtr;
91 
94  typedef boost::shared_ptr<UserCamera> UserCameraPtr;
95 
98  typedef boost::shared_ptr<DepthCamera> DepthCameraPtr;
99 
102  typedef boost::shared_ptr<WideAngleCamera> WideAngleCameraPtr;
103 
106  typedef boost::shared_ptr<GpuLaser> GpuLaserPtr;
107 
110  typedef boost::shared_ptr<DynamicLines> DynamicLinesPtr;
111 
114  typedef std::shared_ptr<Visual> VisualPtr;
115 
118  typedef std::weak_ptr<Visual> VisualWeakPtr;
119 
122  typedef std::shared_ptr<LaserVisual> LaserVisualPtr;
123 
126  typedef std::shared_ptr<SonarVisual> SonarVisualPtr;
127 
130  typedef std::shared_ptr<WrenchVisual> WrenchVisualPtr;
131 
134  typedef std::shared_ptr<CameraVisual> CameraVisualPtr;
135 
138  typedef std::shared_ptr<LogicalCameraVisual> LogicalCameraVisualPtr;
139 
142  typedef std::shared_ptr<JointVisual> JointVisualPtr;
143 
146  typedef std::shared_ptr<ContactVisual> ContactVisualPtr;
147 
150  typedef std::shared_ptr<ArrowVisual> ArrowVisualPtr;
151 
154  typedef std::shared_ptr<AxisVisual> AxisVisualPtr;
155 
158  typedef std::shared_ptr<COMVisual> COMVisualPtr;
159 
162  typedef std::shared_ptr<InertiaVisual> InertiaVisualPtr;
163 
166  typedef std::shared_ptr<RFIDVisual> RFIDVisualPtr;
167 
170  typedef std::shared_ptr<RFIDTagVisual> RFIDTagVisualPtr;
171 
174  typedef std::shared_ptr<ApplyWrenchVisual> ApplyWrenchVisualPtr;
175 
178  typedef std::shared_ptr<OriginVisual> OriginVisualPtr;
179 
182  typedef std::shared_ptr<LinkFrameVisual> LinkFrameVisualPtr;
183 
186  typedef boost::shared_ptr<WindowManager> WindowManagerPtr;
187 
190  typedef std::shared_ptr<SelectionObj> SelectionObjPtr;
191 
194  typedef boost::shared_ptr<RayQuery> RayQueryPtr;
195 
198  typedef boost::shared_ptr<Distortion> DistortionPtr;
199 
200 #ifdef HAVE_OCULUS
201  typedef boost::shared_ptr<OculusCamera> OculusCameraPtr;
204 #endif
205 
209  {
212 
215 
219 
222 
226 
230 
233  };
234 
237  {
240 
243 
246  };
247  }
248 }
249 #endif
boost::shared_ptr< UserCamera > UserCameraPtr
Definition: RenderTypes.hh:94
std::shared_ptr< LogicalCameraVisual > LogicalCameraVisualPtr
Definition: RenderTypes.hh:138
ReferenceFrame
Frame of reference.
Definition: RenderTypes.hh:236
std::shared_ptr< WrenchVisual > WrenchVisualPtr
Definition: RenderTypes.hh:130
Forward declarations for the common classes.
Definition: Animation.hh:33
boost::shared_ptr< GpuLaser > GpuLaserPtr
Definition: RenderTypes.hh:106
boost::shared_ptr< Distortion > DistortionPtr
Definition: RenderTypes.hh:198
std::shared_ptr< COMVisual > COMVisualPtr
Definition: RenderTypes.hh:158
std::shared_ptr< InertiaVisual > InertiaVisualPtr
Definition: RenderTypes.hh:162
A list of points, 1 vertex per point.
Definition: RenderTypes.hh:211
A strip of triangles, 3 vertices for the first triangle, and 1 per triangle after that...
Definition: RenderTypes.hh:225
std::shared_ptr< ArrowVisual > ArrowVisualPtr
Definition: RenderTypes.hh:150
std::shared_ptr< CameraVisual > CameraVisualPtr
Definition: RenderTypes.hh:134
std::shared_ptr< RFIDTagVisual > RFIDTagVisualPtr
Definition: RenderTypes.hh:170
Local frame.
Definition: RenderTypes.hh:239
std::shared_ptr< SelectionObj > SelectionObjPtr
Definition: RenderTypes.hh:190
std::shared_ptr< SonarVisual > SonarVisualPtr
Definition: RenderTypes.hh:126
RenderOpType
Type of render operation for a drawable.
Definition: RenderTypes.hh:208
A strip of connected lines, 1 vertex per line plus 1 start vertex.
Definition: RenderTypes.hh:218
boost::shared_ptr< DepthCamera > DepthCameraPtr
Definition: RenderTypes.hh:98
boost::shared_ptr< Scene > ScenePtr
Definition: RenderTypes.hh:82
boost::shared_ptr< RayQuery > RayQueryPtr
Definition: RenderTypes.hh:194
N/A.
Definition: RenderTypes.hh:232
std::weak_ptr< Visual > VisualWeakPtr
Definition: RenderTypes.hh:118
std::shared_ptr< JointVisual > JointVisualPtr
Definition: RenderTypes.hh:142
boost::shared_ptr< DynamicLines > DynamicLinesPtr
Definition: RenderTypes.hh:110
std::shared_ptr< RFIDVisual > RFIDVisualPtr
Definition: RenderTypes.hh:166
World frame.
Definition: RenderTypes.hh:245
std::shared_ptr< LinkFrameVisual > LinkFrameVisualPtr
Definition: RenderTypes.hh:182
A fan of triangles, 3 vertices for the first triangle, and 1 per triangle after that.
Definition: RenderTypes.hh:229
std::shared_ptr< ContactVisual > ContactVisualPtr
Definition: RenderTypes.hh:146
std::shared_ptr< AxisVisual > AxisVisualPtr
Definition: RenderTypes.hh:154
std::shared_ptr< Visual > VisualPtr
Definition: RenderTypes.hh:114
std::shared_ptr< ApplyWrenchVisual > ApplyWrenchVisualPtr
Definition: RenderTypes.hh:174
std::shared_ptr< LaserVisual > LaserVisualPtr
Definition: RenderTypes.hh:122
A list of triangles, 3 vertices per triangle.
Definition: RenderTypes.hh:221
std::shared_ptr< OriginVisual > OriginVisualPtr
Definition: RenderTypes.hh:178
boost::shared_ptr< WideAngleCamera > WideAngleCameraPtr
Definition: RenderTypes.hh:102
boost::shared_ptr< Light > LightPtr
Definition: RenderTypes.hh:86
Parent frame.
Definition: RenderTypes.hh:242
boost::shared_ptr< WindowManager > WindowManagerPtr
Definition: RenderTypes.hh:186
boost::shared_ptr< Camera > CameraPtr
Definition: RenderTypes.hh:90
A list of lines, 2 vertices per line.
Definition: RenderTypes.hh:214