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 GAZEBO_RENDERING_RENDERTYPES_HH_
18 #define GAZEBO_RENDERING_RENDERTYPES_HH_
19 
20 #include <boost/shared_ptr.hpp>
21 #include "gazebo/gazebo_config.h"
22 #include "gazebo/util/system.hh"
23 
26 #define GZ_VISIBILITY_ALL 0x0FFFFFFF
27 
30 #define GZ_VISIBILITY_SELECTION 0x10000000
31 
34 #define GZ_VISIBILITY_GUI 0x00000001
35 
38 #define GZ_VISIBILITY_SELECTABLE 0x00000002
39 
40 namespace gazebo
41 {
42  namespace rendering
43  {
44  class Scene;
45  class Light;
46  class Camera;
47  class UserCamera;
48  class DepthCamera;
49  class WideAngleCamera;
50  class GpuLaser;
51  class DynamicLines;
52  class Visual;
53  class LaserVisual;
54  class LogicalCameraVisual;
55  class SonarVisual;
56  class WrenchVisual;
57  class CameraVisual;
58  class JointVisual;
59  class AxisVisual;
60  class ArrowVisual;
61  class ContactVisual;
62  class COMVisual;
63  class InertiaVisual;
64  class RFIDVisual;
65  class RFIDTagVisual;
66  class ApplyWrenchVisual;
67  class OriginVisual;
68  class LinkFrameVisual;
69  class WindowManager;
70  class SelectionObj;
71  class RayQuery;
72  class Distortion;
73  class LensFlare;
74  class Road2d;
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 
202  typedef std::shared_ptr<LensFlare> LensFlarePtr;
203 
206  typedef std::shared_ptr<Road2d> Road2dPtr;
207 
208 #ifdef HAVE_OCULUS
209  typedef boost::shared_ptr<OculusCamera> OculusCameraPtr;
212 #endif
213 
217  {
220 
223 
227 
230 
234 
238 
241  };
242 
245  {
248 
251 
254  };
255  }
256 }
257 #endif
boost::shared_ptr< UserCamera > UserCameraPtr
Definition: RenderTypes.hh:94
std::shared_ptr< LogicalCameraVisual > LogicalCameraVisualPtr
Definition: RenderTypes.hh:138
std::shared_ptr< Road2d > Road2dPtr
Definition: RenderTypes.hh:206
ReferenceFrame
Frame of reference.
Definition: RenderTypes.hh:244
std::shared_ptr< WrenchVisual > WrenchVisualPtr
Definition: RenderTypes.hh:130
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:219
A strip of triangles, 3 vertices for the first triangle, and 1 per triangle after that...
Definition: RenderTypes.hh:233
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:247
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:216
A strip of connected lines, 1 vertex per line plus 1 start vertex.
Definition: RenderTypes.hh:226
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:240
std::weak_ptr< Visual > VisualWeakPtr
Definition: RenderTypes.hh:118
std::shared_ptr< JointVisual > JointVisualPtr
Definition: RenderTypes.hh:142
std::shared_ptr< LensFlare > LensFlarePtr
Definition: RenderTypes.hh:202
boost::shared_ptr< DynamicLines > DynamicLinesPtr
Definition: RenderTypes.hh:110
std::shared_ptr< RFIDVisual > RFIDVisualPtr
Definition: RenderTypes.hh:166
World frame.
Definition: RenderTypes.hh:253
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:237
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:229
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:250
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:222