RenderTypes.hh
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2012-2016 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 #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 
74 #ifdef HAVE_OCULUS
75  class OculusCamera;
76 #endif
77 
80  typedef boost::shared_ptr<Scene> ScenePtr;
81 
84  typedef boost::shared_ptr<Light> LightPtr;
85 
88  typedef boost::shared_ptr<Camera> CameraPtr;
89 
92  typedef boost::shared_ptr<UserCamera> UserCameraPtr;
93 
96  typedef boost::shared_ptr<DepthCamera> DepthCameraPtr;
97 
100  typedef boost::shared_ptr<WideAngleCamera> WideAngleCameraPtr;
101 
104  typedef boost::shared_ptr<GpuLaser> GpuLaserPtr;
105 
108  typedef boost::shared_ptr<DynamicLines> DynamicLinesPtr;
109 
112  typedef std::shared_ptr<Visual> VisualPtr;
113 
116  typedef std::weak_ptr<Visual> VisualWeakPtr;
117 
120  typedef std::shared_ptr<LaserVisual> LaserVisualPtr;
121 
124  typedef std::shared_ptr<SonarVisual> SonarVisualPtr;
125 
128  typedef std::shared_ptr<WrenchVisual> WrenchVisualPtr;
129 
132  typedef std::shared_ptr<CameraVisual> CameraVisualPtr;
133 
136  typedef std::shared_ptr<LogicalCameraVisual> LogicalCameraVisualPtr;
137 
140  typedef std::shared_ptr<JointVisual> JointVisualPtr;
141 
144  typedef std::shared_ptr<ContactVisual> ContactVisualPtr;
145 
148  typedef std::shared_ptr<ArrowVisual> ArrowVisualPtr;
149 
152  typedef std::shared_ptr<AxisVisual> AxisVisualPtr;
153 
156  typedef std::shared_ptr<COMVisual> COMVisualPtr;
157 
160  typedef std::shared_ptr<InertiaVisual> InertiaVisualPtr;
161 
164  typedef std::shared_ptr<RFIDVisual> RFIDVisualPtr;
165 
168  typedef std::shared_ptr<RFIDTagVisual> RFIDTagVisualPtr;
169 
172  typedef std::shared_ptr<ApplyWrenchVisual> ApplyWrenchVisualPtr;
173 
176  typedef std::shared_ptr<OriginVisual> OriginVisualPtr;
177 
180  typedef std::shared_ptr<LinkFrameVisual> LinkFrameVisualPtr;
181 
184  typedef boost::shared_ptr<WindowManager> WindowManagerPtr;
185 
188  typedef std::shared_ptr<SelectionObj> SelectionObjPtr;
189 
192  typedef boost::shared_ptr<RayQuery> RayQueryPtr;
193 
196  typedef boost::shared_ptr<Distortion> DistortionPtr;
197 
198 #ifdef HAVE_OCULUS
199  typedef boost::shared_ptr<OculusCamera> OculusCameraPtr;
202 #endif
203 
207  {
210 
213 
217 
220 
224 
228 
231  };
232 
235  {
238 
241 
244  };
245  }
246 }
247 #endif
boost::shared_ptr< UserCamera > UserCameraPtr
Definition: RenderTypes.hh:92
std::shared_ptr< LogicalCameraVisual > LogicalCameraVisualPtr
Definition: RenderTypes.hh:136
ReferenceFrame
Frame of reference.
Definition: RenderTypes.hh:234
std::shared_ptr< WrenchVisual > WrenchVisualPtr
Definition: RenderTypes.hh:128
Forward declarations for the common classes.
Definition: Animation.hh:33
boost::shared_ptr< GpuLaser > GpuLaserPtr
Definition: RenderTypes.hh:104
boost::shared_ptr< Distortion > DistortionPtr
Definition: RenderTypes.hh:196
std::shared_ptr< COMVisual > COMVisualPtr
Definition: RenderTypes.hh:156
std::shared_ptr< InertiaVisual > InertiaVisualPtr
Definition: RenderTypes.hh:160
A list of points, 1 vertex per point.
Definition: RenderTypes.hh:209
A strip of triangles, 3 vertices for the first triangle, and 1 per triangle after that...
Definition: RenderTypes.hh:223
std::shared_ptr< ArrowVisual > ArrowVisualPtr
Definition: RenderTypes.hh:148
std::shared_ptr< CameraVisual > CameraVisualPtr
Definition: RenderTypes.hh:132
std::shared_ptr< RFIDTagVisual > RFIDTagVisualPtr
Definition: RenderTypes.hh:168
Local frame.
Definition: RenderTypes.hh:237
std::shared_ptr< SelectionObj > SelectionObjPtr
Definition: RenderTypes.hh:188
std::shared_ptr< SonarVisual > SonarVisualPtr
Definition: RenderTypes.hh:124
RenderOpType
Type of render operation for a drawable.
Definition: RenderTypes.hh:206
A strip of connected lines, 1 vertex per line plus 1 start vertex.
Definition: RenderTypes.hh:216
boost::shared_ptr< DepthCamera > DepthCameraPtr
Definition: RenderTypes.hh:96
boost::shared_ptr< Scene > ScenePtr
Definition: RenderTypes.hh:80
boost::shared_ptr< RayQuery > RayQueryPtr
Definition: RenderTypes.hh:192
N/A.
Definition: RenderTypes.hh:230
std::weak_ptr< Visual > VisualWeakPtr
Definition: RenderTypes.hh:116
std::shared_ptr< JointVisual > JointVisualPtr
Definition: RenderTypes.hh:140
boost::shared_ptr< DynamicLines > DynamicLinesPtr
Definition: RenderTypes.hh:108
std::shared_ptr< RFIDVisual > RFIDVisualPtr
Definition: RenderTypes.hh:164
World frame.
Definition: RenderTypes.hh:243
std::shared_ptr< LinkFrameVisual > LinkFrameVisualPtr
Definition: RenderTypes.hh:180
A fan of triangles, 3 vertices for the first triangle, and 1 per triangle after that.
Definition: RenderTypes.hh:227
std::shared_ptr< ContactVisual > ContactVisualPtr
Definition: RenderTypes.hh:144
std::shared_ptr< AxisVisual > AxisVisualPtr
Definition: RenderTypes.hh:152
std::shared_ptr< Visual > VisualPtr
Definition: RenderTypes.hh:112
std::shared_ptr< ApplyWrenchVisual > ApplyWrenchVisualPtr
Definition: RenderTypes.hh:172
std::shared_ptr< LaserVisual > LaserVisualPtr
Definition: RenderTypes.hh:120
A list of triangles, 3 vertices per triangle.
Definition: RenderTypes.hh:219
std::shared_ptr< OriginVisual > OriginVisualPtr
Definition: RenderTypes.hh:176
boost::shared_ptr< WideAngleCamera > WideAngleCameraPtr
Definition: RenderTypes.hh:100
boost::shared_ptr< Light > LightPtr
Definition: RenderTypes.hh:84
Parent frame.
Definition: RenderTypes.hh:240
boost::shared_ptr< WindowManager > WindowManagerPtr
Definition: RenderTypes.hh:184
boost::shared_ptr< Camera > CameraPtr
Definition: RenderTypes.hh:88
A list of lines, 2 vertices per line.
Definition: RenderTypes.hh:212