Gazebo Rendering

API Reference

9.0.0

Ogre implementation of the DistortionPass class. More...

#include <OgreDistortionPass.hh>

Public Member Functions

 OgreDistortionPass ()
 Constructor.
 
virtual ~OgreDistortionPass ()
 Destructor.
 
void CreateRenderPass () override
 Create the render pass using ogre compositor.
 
void Destroy () override
 Destroy any resources associated with this object. Invoking any other functions after destroying an object will result in undefined behavior.
 
void PreRender () override
 Prepare this object and any of its children for rendering. This should be called for each object in a scene just before rendering, which can be achieved by a single call to Scene::PreRender.
 
- Public Member Functions inherited from BaseDistortionPass< OgreRenderPass >
virtual ~BaseDistortionPass ()
 Destructor.
 
math::Vector2d Center () const
 Get the distortion center.
 
double K1 () const
 Get the radial distortion coefficient k1.
 
double K2 () const
 Get the radial distortion coefficient k2.
 
double K3 () const
 Get the radial distortion coefficient k3.
 
double P1 () const
 Get the tangential distortion coefficient p1.
 
double P2 () const
 Get the tangential distortion coefficient p2.
 
void SetCenter (const math::Vector2d &_center)
 Set the distortion center.
 
void SetK1 (double _k1)
 Set the radial distortion coefficient k1.
 
void SetK2 (double _k2)
 Set the radial distortion coefficient k2.
 
void SetK3 (double _k3)
 Set the radial distortion coefficient k3.
 
void SetP1 (double _p1)
 Set the tangential distortion coefficient p1.
 
void SetP2 (double _p2)
 Set the tangential distortion coefficient p2.
 
- Public Member Functions inherited from DistortionPass
 DistortionPass ()
 Constructor.
 
virtual ~DistortionPass ()
 Destructor.
 
- Public Member Functions inherited from RenderPass
virtual ~RenderPass ()
 Destructor.
 
- Public Member Functions inherited from Object
virtual ~Object ()
 Destructor.
 
virtual unsigned int Id () const =0
 Get the object ID. This ID will be unique across all objects inside a given scene, but necessarily true for objects across different scenes.
 
virtual std::string Name () const =0
 Get the object name. This name will be unique across all objects inside a given scene, but necessarily true for objects across different scenes.
 
virtual void PostRender ()=0
 Post process this object and any of its children after rendering.
 
virtual ScenePtr Scene () const =0
 Get the Scene that created this object.
 
- Public Member Functions inherited from OgreRenderPass
virtual ~OgreRenderPass ()
 Destructor.
 
void Destroy () override
 Destroy any resources associated with this object. Invoking any other functions after destroying an object will result in undefined behavior.
 
virtual void SetCamera (Ogre::Camera *_camera)
 Set the ogre camera that the render pass applies to.
 
virtual void SetCameras (Ogre::Camera *_cameras[kMaxOgreRenderPassCameras])
 Set all ogre cameras that the render pass applies to at once.
 
- Public Member Functions inherited from BaseRenderPass< OgreObject >
virtual ~BaseRenderPass ()
 Destructor.
 
virtual bool IsEnabled () const override
 Get whether or not the render pass is enabled.
 
virtual void PreRender (const CameraPtr &_camera) override
 See Object::PreRender. This function will call Object::PreRender but with the added bonus that it has access to the camera that is about to render.
 
virtual void SetEnabled (bool _enabled) override
 Set to enable or disable the render pass.
 
void SetWideAngleCameraAfterStitching (bool _afterStitching) override
 WideAngleCamera renders to 6 faces; then stitches all 6 into a final "fish-eye" lens result.
 
bool WideAngleCameraAfterStitching () const override
 See SetWideAngleCameraAfterStitching()
 
- Public Member Functions inherited from OgreObject
virtual ~OgreObject ()
 
virtual ScenePtr Scene () const
 
- Public Member Functions inherited from BaseObject
virtual ~BaseObject ()
 
virtual unsigned int Id () const override
 
virtual std::string Name () const override
 
virtual void PostRender () override
 

Static Public Member Functions

static gz::math::Vector2d Distort (const gz::math::Vector2d &_in, const gz::math::Vector2d &_center, double _k1, double _k2, double _k3, double _p1, double _p2, unsigned int _width, double _f)
 Apply distortion model using camera coordinates projection.
 

Protected Member Functions

void CalculateAndApplyDistortionScale ()
 calculate the correct scale factor to "zoom" the render, cutting off black borders caused by distortion (only if the crop flag has been set).
 
gz::math::Vector2d DistortionMapValueClamped (int _x, int _y) const
 get the distortion map value.
 
- Protected Member Functions inherited from BaseDistortionPass< OgreRenderPass >
 BaseDistortionPass ()
 Constructor.
 
- Protected Member Functions inherited from OgreRenderPass
 OgreRenderPass ()
 Constructor.
 
- Protected Member Functions inherited from BaseRenderPass< OgreObject >
 BaseRenderPass ()
 Constructor.
 
- Protected Member Functions inherited from OgreObject
 OgreObject ()
 
- Protected Member Functions inherited from BaseObject
 BaseObject ()
 
virtual void Init ()
 
virtual void Load ()
 

Additional Inherited Members

- Public Attributes inherited from BaseDistortionPass< OgreRenderPass >
double k1
 Radial distortion coefficient k1.
 
double k2
 Radial distortion coefficient k2.
 
double k3
 Radial distortion coefficient k3.
 
math::Vector2d lensCenter
 Lens center used for distortion.
 
double p1
 Tangential distortion coefficient p1.
 
double p2
 Tangential distortion coefficient p2.
 
- Protected Attributes inherited from OgreRenderPass
Ogre::Camera * ogreCamera [kMaxOgreRenderPassCameras] = {}
 Pointer to the ogre camera May have more than one. Must check for nullptr on all of them. Not all RenderPasses support multiple cameras.
 
- Protected Attributes inherited from BaseRenderPass< OgreObject >
bool afterStitching
 Flag tracking the current value of SetWideAngleCameraAfterStitching()
 
bool enabled
 Flag to indicate if render pass is enabled or not.
 
- Protected Attributes inherited from OgreObject
OgreScenePtr scene
 
- Protected Attributes inherited from BaseObject
unsigned int id
 
std::string name
 

Detailed Description

Ogre implementation of the DistortionPass class.

Constructor & Destructor Documentation

◆ OgreDistortionPass()

Constructor.

◆ ~OgreDistortionPass()

virtual ~OgreDistortionPass ( )
virtual

Destructor.

Member Function Documentation

◆ CalculateAndApplyDistortionScale()

void CalculateAndApplyDistortionScale ( )
protected

calculate the correct scale factor to "zoom" the render, cutting off black borders caused by distortion (only if the crop flag has been set).

◆ CreateRenderPass()

void CreateRenderPass ( )
overridevirtual

Create the render pass using ogre compositor.

Reimplemented from OgreRenderPass.

◆ Destroy()

void Destroy ( )
overridevirtual

Destroy any resources associated with this object. Invoking any other functions after destroying an object will result in undefined behavior.

Implements Object.

◆ Distort()

static gz::math::Vector2d Distort ( const gz::math::Vector2d _in,
const gz::math::Vector2d _center,
double  _k1,
double  _k2,
double  _k3,
double  _p1,
double  _p2,
unsigned int  _width,
double  _f 
)
static

Apply distortion model using camera coordinates projection.

Parameters
[in]_inInput uv coordinate.
[in]_centerNormalized distortion center.
[in]_k1Radial distortion coefficient k1.
[in]_k2Radial distortion coefficient k2.
[in]_k3Radial distortion coefficient k3.
[in]_p1Tangential distortion coefficient p1.
[in]_p2Tangential distortion coefficient p2.
[in]_widthWidth of the image texture in pixels.
[in]_fFocal length in pixels.
Returns
Distorted coordinate.

◆ DistortionMapValueClamped()

gz::math::Vector2d DistortionMapValueClamped ( int  _x,
int  _y 
) const
protected

get the distortion map value.

Parameters
[in]_xX component of map.
[in]_yY component of map.
Returns
the distortion map value at the specified index.

◆ PreRender()

void PreRender ( )
overridevirtual

Prepare this object and any of its children for rendering. This should be called for each object in a scene just before rendering, which can be achieved by a single call to Scene::PreRender.

Implements Object.


The documentation for this class was generated from the following file: