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
40namespace 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
211 typedef boost::shared_ptr<OculusCamera> OculusCameraPtr;
212#endif
213
242
255 }
256}
257#endif
rendering
Definition RenderEngine.hh:31
boost::shared_ptr< RayQuery > RayQueryPtr
Definition RenderTypes.hh:194
std::shared_ptr< JointVisual > JointVisualPtr
Definition RenderTypes.hh:142
boost::shared_ptr< Light > LightPtr
Definition RenderTypes.hh:86
std::shared_ptr< LinkFrameVisual > LinkFrameVisualPtr
Definition RenderTypes.hh:182
std::weak_ptr< Visual > VisualWeakPtr
Definition RenderTypes.hh:118
std::shared_ptr< Visual > VisualPtr
Definition RenderTypes.hh:114
std::shared_ptr< SelectionObj > SelectionObjPtr
Definition RenderTypes.hh:190
boost::shared_ptr< Distortion > DistortionPtr
Definition RenderTypes.hh:198
std::shared_ptr< CameraVisual > CameraVisualPtr
Definition RenderTypes.hh:134
std::shared_ptr< SonarVisual > SonarVisualPtr
Definition RenderTypes.hh:126
std::shared_ptr< OriginVisual > OriginVisualPtr
Definition RenderTypes.hh:178
RenderOpType
Type of render operation for a drawable.
Definition RenderTypes.hh:217
@ RENDERING_TRIANGLE_STRIP
A strip of triangles, 3 vertices for the first triangle, and 1 per triangle after that.
Definition RenderTypes.hh:233
@ RENDERING_LINE_STRIP
A strip of connected lines, 1 vertex per line plus 1 start vertex.
Definition RenderTypes.hh:226
@ RENDERING_TRIANGLE_LIST
A list of triangles, 3 vertices per triangle.
Definition RenderTypes.hh:229
@ RENDERING_TRIANGLE_FAN
A fan of triangles, 3 vertices for the first triangle, and 1 per triangle after that.
Definition RenderTypes.hh:237
@ RENDERING_MESH_RESOURCE
N/A.
Definition RenderTypes.hh:240
@ RENDERING_POINT_LIST
A list of points, 1 vertex per point.
Definition RenderTypes.hh:219
@ RENDERING_LINE_LIST
A list of lines, 2 vertices per line.
Definition RenderTypes.hh:222
std::shared_ptr< ApplyWrenchVisual > ApplyWrenchVisualPtr
Definition RenderTypes.hh:174
std::shared_ptr< COMVisual > COMVisualPtr
Definition RenderTypes.hh:158
boost::shared_ptr< DepthCamera > DepthCameraPtr
Definition RenderTypes.hh:98
std::shared_ptr< WrenchVisual > WrenchVisualPtr
Definition RenderTypes.hh:130
boost::shared_ptr< Camera > CameraPtr
Definition RenderTypes.hh:90
std::shared_ptr< ContactVisual > ContactVisualPtr
Definition RenderTypes.hh:146
boost::shared_ptr< WindowManager > WindowManagerPtr
Definition RenderTypes.hh:186
std::shared_ptr< ArrowVisual > ArrowVisualPtr
Definition RenderTypes.hh:150
ReferenceFrame
Frame of reference.
Definition RenderTypes.hh:245
@ RF_WORLD
World frame.
Definition RenderTypes.hh:253
@ RF_LOCAL
Local frame.
Definition RenderTypes.hh:247
@ RF_PARENT
Parent frame.
Definition RenderTypes.hh:250
std::shared_ptr< LogicalCameraVisual > LogicalCameraVisualPtr
Definition RenderTypes.hh:138
std::shared_ptr< InertiaVisual > InertiaVisualPtr
Definition RenderTypes.hh:162
std::shared_ptr< RFIDVisual > RFIDVisualPtr
Definition RenderTypes.hh:166
boost::shared_ptr< WideAngleCamera > WideAngleCameraPtr
Definition RenderTypes.hh:102
boost::shared_ptr< UserCamera > UserCameraPtr
Definition RenderTypes.hh:94
std::shared_ptr< AxisVisual > AxisVisualPtr
Definition RenderTypes.hh:154
boost::shared_ptr< GpuLaser > GpuLaserPtr
Definition RenderTypes.hh:106
std::shared_ptr< LensFlare > LensFlarePtr
Definition RenderTypes.hh:202
std::shared_ptr< RFIDTagVisual > RFIDTagVisualPtr
Definition RenderTypes.hh:170
std::shared_ptr< LaserVisual > LaserVisualPtr
Definition RenderTypes.hh:122
boost::shared_ptr< DynamicLines > DynamicLinesPtr
Definition RenderTypes.hh:110
std::shared_ptr< Road2d > Road2dPtr
Definition RenderTypes.hh:206
boost::shared_ptr< Scene > ScenePtr
Definition RenderTypes.hh:82
Forward declarations for the common classes.
Definition Animation.hh:27