18 #ifndef _GAZEBO_RENDERING_GPULASER_PRIVATE_HH_
19 #define _GAZEBO_RENDERING_GPULASER_PRIVATE_HH_
58 public:
event::EventT<void(
const float *_frame,
unsigned int _width,
59 unsigned int _height,
unsigned int _depth,
A 3D mesh.
Definition: Mesh.hh:44
Ogre::Texture * firstPassTextures[3]
An array of first pass textures.
Definition: GpuLaserPrivate.hh:75
std::vector< int > texIdx
List of texture unit indices used during the second rendering pass.
Definition: GpuLaserPrivate.hh:132
Ogre::Material * matFirstPass
Pointer to Ogre material for the first rendering pass.
Definition: GpuLaserPrivate.hh:69
float * laserBuffer
Raw buffer of laser data.
Definition: GpuLaserPrivate.hh:63
event::EventT< void(const float *_frame, unsigned int _width, unsigned int _height, unsigned int _depth, const std::string &_format)> newLaserFrame
Event triggered when new laser range data are available.
Definition: GpuLaserPrivate.hh:60
Ogre::Camera * orthoCam
Ogre orthorgraphic camera used in the second pass for undistortion.
Definition: GpuLaserPrivate.hh:106
static int texCount
Number of second pass texture units created.
Definition: GpuLaserPrivate.hh:135
Ogre::Viewport * firstPassViewports[3]
First pass viewports.
Definition: GpuLaserPrivate.hh:87
std::shared_ptr< Visual > VisualPtr
Definition: RenderTypes.hh:112
Ogre::MovableObject * object
Ogre movable object created from the canvas mesh.
Definition: GpuLaserPrivate.hh:116
Ogre::RenderTarget * secondPassTarget
Second pass render target.
Definition: GpuLaserPrivate.hh:84
Ogre::Material * matSecondPass
Pointer to Ogre material for the sencod rendering pass.
Definition: GpuLaserPrivate.hh:72
double lastRenderDuration
Time taken to complete the two rendering passes.
Definition: GpuLaserPrivate.hh:128
common::Mesh * undistMesh
Ogre mesh used to create a canvas for undistorting range values in the second rendering pass...
Definition: GpuLaserPrivate.hh:113
unsigned int textureCount
Number of first pass textures.
Definition: GpuLaserPrivate.hh:93
Ogre::Material * currentMat
Temporary pointer to the current material.
Definition: GpuLaserPrivate.hh:102
Ogre::SceneNode * pitchNodeOrtho
Ogre scenenode where the orthorgraphic camera is attached to.
Definition: GpuLaserPrivate.hh:109
float * laserScan
Outgoing laser data, used by newLaserFrame event.
Definition: GpuLaserPrivate.hh:66
double cameraYaws[4]
A list of camera angles for first pass rendering.
Definition: GpuLaserPrivate.hh:96
Ogre::Texture * secondPassTexture
Second pass texture.
Definition: GpuLaserPrivate.hh:78
Ogre::Viewport * secondPassViewport
Second pass viewport.
Definition: GpuLaserPrivate.hh:90
unsigned int h2nd
Image height.
Definition: GpuLaserPrivate.hh:125
A class for event processing.
Definition: Event.hh:181
VisualPtr visual
Pointer to visual that holds the canvas.
Definition: GpuLaserPrivate.hh:119
Definition: GpuLaserPrivate.hh:50
unsigned int w2nd
Image width.
Definition: GpuLaserPrivate.hh:122
Ogre::RenderTarget * currentTarget
Temporary pointer to the current render target.
Definition: GpuLaserPrivate.hh:99
Ogre::RenderTarget * firstPassTargets[3]
First pass render targets.
Definition: GpuLaserPrivate.hh:81