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 Road2d;
74 
75 #ifdef HAVE_OCULUS
76  class OculusCamera;
77 #endif
78 
81  typedef boost::shared_ptr<Scene> ScenePtr;
82 
85  typedef boost::shared_ptr<Light> LightPtr;
86 
89  typedef boost::shared_ptr<Camera> CameraPtr;
90 
93  typedef boost::shared_ptr<UserCamera> UserCameraPtr;
94 
97  typedef boost::shared_ptr<DepthCamera> DepthCameraPtr;
98 
101  typedef boost::shared_ptr<WideAngleCamera> WideAngleCameraPtr;
102 
105  typedef boost::shared_ptr<GpuLaser> GpuLaserPtr;
106 
109  typedef boost::shared_ptr<DynamicLines> DynamicLinesPtr;
110 
113  typedef std::shared_ptr<Visual> VisualPtr;
114 
117  typedef std::weak_ptr<Visual> VisualWeakPtr;
118 
121  typedef std::shared_ptr<LaserVisual> LaserVisualPtr;
122 
125  typedef std::shared_ptr<SonarVisual> SonarVisualPtr;
126 
129  typedef std::shared_ptr<WrenchVisual> WrenchVisualPtr;
130 
133  typedef std::shared_ptr<CameraVisual> CameraVisualPtr;
134 
137  typedef std::shared_ptr<LogicalCameraVisual> LogicalCameraVisualPtr;
138 
141  typedef std::shared_ptr<JointVisual> JointVisualPtr;
142 
145  typedef std::shared_ptr<ContactVisual> ContactVisualPtr;
146 
149  typedef std::shared_ptr<ArrowVisual> ArrowVisualPtr;
150 
153  typedef std::shared_ptr<AxisVisual> AxisVisualPtr;
154 
157  typedef std::shared_ptr<COMVisual> COMVisualPtr;
158 
161  typedef std::shared_ptr<InertiaVisual> InertiaVisualPtr;
162 
165  typedef std::shared_ptr<RFIDVisual> RFIDVisualPtr;
166 
169  typedef std::shared_ptr<RFIDTagVisual> RFIDTagVisualPtr;
170 
173  typedef std::shared_ptr<ApplyWrenchVisual> ApplyWrenchVisualPtr;
174 
177  typedef std::shared_ptr<OriginVisual> OriginVisualPtr;
178 
181  typedef std::shared_ptr<LinkFrameVisual> LinkFrameVisualPtr;
182 
185  typedef boost::shared_ptr<WindowManager> WindowManagerPtr;
186 
189  typedef std::shared_ptr<SelectionObj> SelectionObjPtr;
190 
193  typedef boost::shared_ptr<RayQuery> RayQueryPtr;
194 
197  typedef boost::shared_ptr<Distortion> DistortionPtr;
198 
201  typedef std::shared_ptr<Road2d> Road2dPtr;
202 
203 #ifdef HAVE_OCULUS
204  typedef boost::shared_ptr<OculusCamera> OculusCameraPtr;
207 #endif
208 
212  {
215 
218 
222 
225 
229 
233 
236  };
237 
240  {
243 
246 
249  };
250  }
251 }
252 #endif
boost::shared_ptr< UserCamera > UserCameraPtr
Definition: RenderTypes.hh:93
std::shared_ptr< LogicalCameraVisual > LogicalCameraVisualPtr
Definition: RenderTypes.hh:137
std::shared_ptr< Road2d > Road2dPtr
Definition: RenderTypes.hh:201
ReferenceFrame
Frame of reference.
Definition: RenderTypes.hh:239
std::shared_ptr< WrenchVisual > WrenchVisualPtr
Definition: RenderTypes.hh:129
Forward declarations for the common classes.
Definition: Animation.hh:33
boost::shared_ptr< GpuLaser > GpuLaserPtr
Definition: RenderTypes.hh:105
boost::shared_ptr< Distortion > DistortionPtr
Definition: RenderTypes.hh:197
std::shared_ptr< COMVisual > COMVisualPtr
Definition: RenderTypes.hh:157
std::shared_ptr< InertiaVisual > InertiaVisualPtr
Definition: RenderTypes.hh:161
A list of points, 1 vertex per point.
Definition: RenderTypes.hh:214
A strip of triangles, 3 vertices for the first triangle, and 1 per triangle after that...
Definition: RenderTypes.hh:228
std::shared_ptr< ArrowVisual > ArrowVisualPtr
Definition: RenderTypes.hh:149
std::shared_ptr< CameraVisual > CameraVisualPtr
Definition: RenderTypes.hh:133
std::shared_ptr< RFIDTagVisual > RFIDTagVisualPtr
Definition: RenderTypes.hh:169
Local frame.
Definition: RenderTypes.hh:242
std::shared_ptr< SelectionObj > SelectionObjPtr
Definition: RenderTypes.hh:189
std::shared_ptr< SonarVisual > SonarVisualPtr
Definition: RenderTypes.hh:125
RenderOpType
Type of render operation for a drawable.
Definition: RenderTypes.hh:211
A strip of connected lines, 1 vertex per line plus 1 start vertex.
Definition: RenderTypes.hh:221
boost::shared_ptr< DepthCamera > DepthCameraPtr
Definition: RenderTypes.hh:97
boost::shared_ptr< Scene > ScenePtr
Definition: RenderTypes.hh:81
boost::shared_ptr< RayQuery > RayQueryPtr
Definition: RenderTypes.hh:193
N/A.
Definition: RenderTypes.hh:235
std::weak_ptr< Visual > VisualWeakPtr
Definition: RenderTypes.hh:117
std::shared_ptr< JointVisual > JointVisualPtr
Definition: RenderTypes.hh:141
boost::shared_ptr< DynamicLines > DynamicLinesPtr
Definition: RenderTypes.hh:109
std::shared_ptr< RFIDVisual > RFIDVisualPtr
Definition: RenderTypes.hh:165
World frame.
Definition: RenderTypes.hh:248
std::shared_ptr< LinkFrameVisual > LinkFrameVisualPtr
Definition: RenderTypes.hh:181
A fan of triangles, 3 vertices for the first triangle, and 1 per triangle after that.
Definition: RenderTypes.hh:232
std::shared_ptr< ContactVisual > ContactVisualPtr
Definition: RenderTypes.hh:145
std::shared_ptr< AxisVisual > AxisVisualPtr
Definition: RenderTypes.hh:153
std::shared_ptr< Visual > VisualPtr
Definition: RenderTypes.hh:113
std::shared_ptr< ApplyWrenchVisual > ApplyWrenchVisualPtr
Definition: RenderTypes.hh:173
std::shared_ptr< LaserVisual > LaserVisualPtr
Definition: RenderTypes.hh:121
A list of triangles, 3 vertices per triangle.
Definition: RenderTypes.hh:224
std::shared_ptr< OriginVisual > OriginVisualPtr
Definition: RenderTypes.hh:177
boost::shared_ptr< WideAngleCamera > WideAngleCameraPtr
Definition: RenderTypes.hh:101
boost::shared_ptr< Light > LightPtr
Definition: RenderTypes.hh:85
Parent frame.
Definition: RenderTypes.hh:245
boost::shared_ptr< WindowManager > WindowManagerPtr
Definition: RenderTypes.hh:185
boost::shared_ptr< Camera > CameraPtr
Definition: RenderTypes.hh:89
A list of lines, 2 vertices per line.
Definition: RenderTypes.hh:217