Gazebo Rendering

API Reference

9.0.0

#include <BaseGpuRays.hh>

Public Member Functions

virtual ~BaseGpuRays ()
 Destructor.
 
virtual gz::math::Angle AngleMax () const override
 Get maximal horizontal angle value.
 
virtual gz::math::Angle AngleMin () const override
 Get minimal horizontal angle value.
 
virtual unsigned int Channels () const override
 Get the number of channels used to store the ray data.
 
virtual bool Clamp () const override
 Get behaviour for data values outside of camera range.
 
virtual common::ConnectionPtr ConnectNewGpuRaysFrame (std::function< void(const float *_frame, unsigned int _width, unsigned int _height, unsigned int _depth, const std::string &_format)> _subscriber) override
 
virtual void Copy (float *_data) override
 Copy to the specified memory direction the gpu rays data.
 
virtual const float * Data () const override
 All things needed to get back z buffer for gpu rays data.
 
virtual double HorizontalResolution () const override
 Get the horizontal resolution. This number is multiplied by RayCount to calculate RangeCount, which is the the number range data points.
 
virtual bool IsHorizontal () const override
 Gets if sensor is horizontal.
 
virtual int RangeCount () const override
 Get hoizontal range count, i.e. ray count * horz resolution.
 
virtual double RangeCountRatio () const override
 Get the ray count ratio (equivalent to aspect ratio)
 
virtual int RayCount () const override
 Get horizontal quantity of rays.
 
virtual double RayCountRatio () const override
 Get the ray count ratio (equivalent to aspect ratio)
 
virtual RenderTargetPtr RenderTarget () const override=0
 Pointer to the render target.
 
virtual void SetAngleMax (double _angle) override
 Set maximal horizontal angle value.
 
virtual void SetAngleMin (double _angle) override
 Set minimal horizontal angle value.
 
virtual void SetClamp (bool _enable) override
 Configure behaviour for data values outside of camera range.
 
virtual void SetHorizontalResolution (double _resolution) override
 Set the horizontal resolution. This number is multiplied by RayCount to calculate RangeCount, which is the the number range data points.
 
virtual void SetIsHorizontal (const bool _horizontal) override
 Set sensor horizontal or vertical.
 
virtual void SetRayCount (int _samples) override
 Set horizontal quantity of rays.
 
virtual void SetRayCountRatio (const double _rayCountRatio) override
 Sets the ray count ratio (equivalent to aspect ratio)
 
virtual void SetVerticalAngleMax (const double _angle) override
 Set maximal vertical angle value.
 
virtual void SetVerticalAngleMin (const double _angle) override
 Set minimal vertical angle value.
 
virtual void SetVerticalRayCount (int _samples) override
 Set vertical quantity of rays.
 
virtual void SetVerticalResolution (double resolution) override
 Set the vertical resolution. This number is multiplied by VerticalRayCount to calculate VerticalRangeCount, which is the the number vertical range data points.
 
virtual void SetVFOV (const math::Angle &_vfov)
 Set the vertical fov.
 
virtual gz::math::Angle VerticalAngleMax () const override
 Get maximal vertical angle value.
 
virtual gz::math::Angle VerticalAngleMin () const override
 Get minimal vertical angle value.
 
virtual int VerticalRangeCount () const override
 Get vertical range count, i.e. ray count * vert resolution.
 
virtual int VerticalRayCount () const override
 Get vertical quantity of rays.
 
virtual double VerticalResolution () const override
 Get the vertical resolution. This number is multiplied by VerticalRayCount to calculate VerticalRangeCount, which is the the number vertical range data points.
 
virtual math::Angle VFOV () const override
 Get the vertical field-of-view.
 
- Public Member Functions inherited from GpuRays
virtual ~GpuRays ()
 Destructor.
 
virtual common::ConnectionPtr ConnectNewGpuRaysFrame (std::function< void(const float *_frame, unsigned int _width, unsigned int _height, unsigned int _depth, const std::string &)> _subscriber)=0
 Connect to a gpu rays frame signal.
 
- Public Member Functions inherited from Camera
virtual ~Camera ()
 Destructor.
 
virtual void Render ()=0
 Renders the current scene using this camera. This function assumes PreRender() has already been called on the parent Scene, allowing the camera and the scene itself to prepare for rendering.
 
- Public Member Functions inherited from Sensor
virtual ~Sensor ()
 Sensor.
 
virtual void SetVisibilityMask (uint32_t _mask)=0
 Set visibility mask.
 
virtual uint32_t VisibilityMask () const =0
 Get visibility mask.
 
- Public Member Functions inherited from Node
virtual ~Node ()
 Destructor.
 
virtual void AddChild (NodePtr _child)=0
 Add the given node to this node. If the given node is already a child, no work will be done.
 
virtual NodePtr ChildById (unsigned int _id) const =0
 Get node with given ID. If no child exists with given ID, NULL will be returned.
 
virtual NodePtr ChildByIndex (unsigned int _index) const =0
 Get node at given index. If no child exists at given index, NULL will be returned.
 
virtual NodePtr ChildByName (const std::string &_name) const =0
 Get node with given name. If no child exists with given name, NULL will be returned.
 
virtual unsigned int ChildCount () const =0
 Get number of child nodes.
 
virtual bool HasChild (ConstNodePtr _child) const =0
 Determine if given node is an attached child.
 
virtual bool HasChildId (unsigned int _id) const =0
 Determine if node with given ID is an attached child.
 
virtual bool HasChildName (const std::string &_name) const =0
 Determine if node with given name is an attached child.
 
virtual bool HasParent () const =0
 Determine if this Node is attached to another Node.
 
virtual bool HasUserData (const std::string &_key) const =0
 Check if node has custom data.
 
virtual bool InheritScale () const =0
 Determine if this node inherits scale from this parent.
 
virtual math::Pose3d InitialLocalPose () const =0
 Get the initial local pose.
 
virtual math::Pose3d LocalPose () const =0
 Get the local pose.
 
virtual math::Vector3d LocalPosition () const =0
 Get the local position.
 
virtual math::Quaterniond LocalRotation () const =0
 Get the local rotation.
 
virtual math::Vector3d LocalScale () const =0
 Get the local scale.
 
virtual math::Vector3d Origin () const =0
 Get position of origin.
 
virtual NodePtr Parent () const =0
 Get the parent Node.
 
virtual NodePtr RemoveChild (NodePtr _child)=0
 Remove (detach) the given node from this node. If the given node is not a child of this node, no work will be done.
 
virtual NodePtr RemoveChildById (unsigned int _id)=0
 Remove (detach) the node with the given ID from this node. If the specified node is not a child of this node, no work will be done.
 
virtual NodePtr RemoveChildByIndex (unsigned int _index)=0
 Remove (detach) the node at the given index from this node. If the specified node is not a child of this node, no work will be done.
 
virtual NodePtr RemoveChildByName (const std::string &_name)=0
 Remove (detach) the node with the given name from this node. If the specified node is not a child of this node, no work will be done.
 
virtual void RemoveChildren ()=0
 Remove all child nodes from this node This detaches all the child nodes but does not destroy them.
 
virtual void RemoveParent ()=0
 Detach this Node from its parent. If this Node does not have a parent, no work will be done.
 
virtual void Scale (const math::Vector3d &_scale)=0
 Scale the current scale by the given scalars.
 
virtual void Scale (double _scale)=0
 Scale the current scale by the given scalar. The given scalar will be assigned to the x, y, and z coordinates.
 
virtual void Scale (double _x, double _y, double _z)=0
 Scale the current scale by the given scalars.
 
virtual void SetInheritScale (bool _inherit)=0
 Specify if this node inherits scale from its parent.
 
virtual void SetLocalPose (const math::Pose3d &_pose)=0
 Set the local pose.
 
virtual void SetLocalPosition (const math::Vector3d &_position)=0
 Set the local position.
 
virtual void SetLocalPosition (double _x, double _y, double _z)=0
 Set the local position.
 
virtual void SetLocalRotation (const math::Quaterniond &_rotation)=0
 Set the local rotation.
 
virtual void SetLocalRotation (double _r, double _p, double _y)=0
 Set the local rotation.
 
virtual void SetLocalRotation (double _w, double _x, double _y, double _z)=0
 Set the local rotation.
 
virtual void SetLocalScale (const math::Vector3d &_scale)=0
 Set the local scale.
 
virtual void SetLocalScale (double _scale)=0
 Set the local scale. The given scale will be assigned to the x, y, and z coordinates.
 
virtual void SetLocalScale (double _x, double _y, double _z)=0
 Set the local scale.
 
virtual void SetOrigin (const math::Vector3d &_origin)=0
 Set position of origin. The position should be relative to the original origin of the geometry.
 
virtual void SetOrigin (double _x, double _y, double _z)=0
 Set position of origin. The position should be relative to the original origin of the geometry.
 
virtual void SetUserData (const std::string &_key, Variant _value)=0
 Store any custom data associated with this node.
 
virtual void SetWorldPose (const math::Pose3d &_pose)=0
 Set the world pose.
 
virtual void SetWorldPosition (const math::Vector3d &_position)=0
 Set the world position.
 
virtual void SetWorldPosition (double _x, double _y, double _z)=0
 Set the world position.
 
virtual void SetWorldRotation (const math::Quaterniond &_rotation)=0
 Set the world rotation.
 
virtual void SetWorldRotation (double _r, double _p, double _y)=0
 Set the world rotation.
 
virtual void SetWorldRotation (double _w, double _x, double _y, double _z)=0
 Set the world rotation.
 
virtual void SetWorldScale (const math::Vector3d &_scale)=0
 Set the world scale.
 
virtual void SetWorldScale (double _scale)=0
 Set the world scale. The given scale will be assigned to the x, y, and z coordinates.
 
virtual void SetWorldScale (double _x, double _y, double _z)=0
 Set the world scale.
 
virtual Variant UserData (const std::string &_key) const =0
 Get custom data stored in this node.
 
virtual math::Pose3d WorldPose () const =0
 Get the world pose.
 
virtual math::Vector3d WorldPosition () const =0
 Get the world position.
 
virtual math::Quaterniond WorldRotation () const =0
 Get the world rotation.
 
virtual math::Vector3d WorldScale () const =0
 Get the world scale.
 
virtual math::Pose3d WorldToLocal (const math::Pose3d &_pose) const =0
 Convert given world pose to local pose.
 
- Public Member Functions inherited from Object
virtual ~Object ()
 Destructor.
 
virtual void Destroy ()=0
 Destroy any resources associated with this object. Invoking any other functions after destroying an object will result in undefined behavior.
 
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 ScenePtr Scene () const =0
 Get the Scene that created this object.
 
- Public Member Functions inherited from BaseCamera< T >
virtual ~BaseCamera ()
 
virtual void AddRenderPass (const RenderPassPtr &_pass) override
 Add a render pass to the camera.
 
virtual unsigned int AntiAliasing () const override
 Get the level of anti-aliasing used during rendering.
 
virtual double AspectRatio () const override
 Get the camera's aspect ratio.
 
virtual void Capture (Image &_image) override
 Renders a new frame and writes the results to the given image. This is a convenience function for single-camera scenes. It wraps the pre-render, render, post-render, and get-image calls into a single function. This should NOT be used in applications with multiple cameras or multiple consumers of a single camera's images.
 
virtual common::ConnectionPtr ConnectNewImageFrame (Camera::NewFrameListener _listener) override
 Subscribes a new listener to this camera's new frame event.
 
virtual void Copy (Image &_image) const override
 Writes the last rendered image to the given image buffer. This function can be called multiple times after PostRender has been called, without rendering the scene again. Calling this function before a single image has been rendered will have undefined behavior.
 
virtual Image CreateImage () const override
 Created an empty image buffer for capturing images. The resulting image will have sufficient memory allocated for subsequent calls to this camera's Capture function. However, any changes to this cameras properties may invalidate the condition.
 
virtual RenderWindowPtr CreateRenderWindow () override
 Create a render window.
 
virtual double FarClipPlane () const override
 Get the camera's far clipping plane distance.
 
virtual math::Vector3d FollowOffset () const override
 Get the follow offset vector in the frame specified at the time the follow target is set.
 
virtual double FollowPGain () const override
 Get the camera follow movement P gain.
 
virtual NodePtr FollowTarget () const override
 Get the target node being followed.
 
virtual math::Angle HFOV () const override
 Get the camera's horizontal field-of-view.
 
virtual PixelFormat ImageFormat () const override
 Get the image pixel format. If the image pixel format has not been set with a valid value, PF_UNKNOWN will be returned.
 
virtual unsigned int ImageHeight () const override
 Get the image height in pixels.
 
virtual unsigned int ImageMemorySize () const override
 Get the total image memory size in bytes.
 
virtual unsigned int ImageWidth () const override
 Get the image width in pixels.
 
virtual double NearClipPlane () const override
 Get the camera's near clipping plane distance.
 
virtual void PostRender () override
 Preforms any necessary final rendering work. Once rendering is complete the camera will alert any listeners of the new frame event. This function should only be called after a call to Render has successfully been executed.
 
virtual void PrepareForExternalSampling () override
 Right now this is Vulkan-only. This function needs to be called after rendering, and before handling the texture pointer (i.e. by calling RenderTextureMetalId()) so that external APIs (e.g. Qt) can sample the texture.
 
virtual 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.
 
virtual math::Vector2i Project (const math::Vector3d &_pt) const override
 Project point in 3d world space to 2d screen space.
 
virtual math::Matrix4d ProjectionMatrix () const override
 Get the projection matrix for this camera.
 
virtual CameraProjectionType ProjectionType () const override
 Get the projection type for this camera.
 
void RemoveAllRenderPasses () override
 Remove all render passes from the camera.
 
virtual void RemoveRenderPass (const RenderPassPtr &_pass) override
 Remove a render pass from the camera.
 
virtual RenderPassPtr RenderPassByIndex (unsigned int _index) const override
 Get a render passes by index.
 
virtual unsigned int RenderPassCount () const override
 Get the number of render passes applied to the camera.
 
virtual unsigned int RenderTextureGLId () const override
 Get the OpenGL texture id associated with the render texture used by this camera. A valid id is returned only if the underlying render engine is OpenGL based.
 
virtual void RenderTextureMetalId (void *_textureIdPtr) const override
 Get the Metal texture id associated with the render texture used by this camera. A valid Id is obtained only if the underlying render engine is Metal based. The pointer set by this function must be released to an id<MTLTexture> using CFBridgingRelease.
 
virtual bool SaveFrame (const std::string &_name) override
 Writes the previously rendered frame to a file. This function can be called multiple times after PostRender has been called, without rendering the scene again. Calling this function before a single image has been rendered will have undefined behavior.
 
virtual void SetAntiAliasing (const unsigned int _aa) override
 Set the level of anti-aliasing used during rendering. If a value of 0 is given, no anti-aliasing will be performed. Higher values can significantly slow-down rendering times, depending on the underlying render engine.
 
virtual void SetAspectRatio (const double _ratio) override
 Set the camera's aspect ratio. This value determines the cameras vertical field-of-view. It is often the.
 
virtual void SetFarClipPlane (const double _far) override
 Set the camera's far clipping plane distance.
 
virtual void SetFollowOffset (const math::Vector3d &_offset) override
 Set offset of camera from target node being followed. The offset will be in the frame that is specified at the time the follow target is set.
 
virtual void SetFollowPGain (const double _pGain) override
 Set follow P Gain. Determines how fast the camera moves to follow the target node. Valid range: [0-1].
 
virtual void SetFollowTarget (const NodePtr &_target, const math::Vector3d &_Offset, const bool _worldFrame) override
 Set a node for camera to follow. The camera will automatically update its position to keep itself at the specified offset distance from the target being followed. If null is specified, camera follow is disabled. In contrast to SetTrackTarget, the camera does not change its orientation when following is enabled.
 
virtual void SetHFOV (const math::Angle &_hfov) override
 Set the camera's horizontal field-of-view.
 
virtual void SetImageFormat (PixelFormat _format, bool _reinterpretable=false) override
 Set the image pixel format.
 
virtual void SetImageHeight (const unsigned int _height) override
 Set the image height in pixels.
 
virtual void SetImageWidth (const unsigned int _width) override
 Set the image width in pixels.
 
virtual void SetMaterial (const MaterialPtr &_material) override
 Set a material that the camera should see on all objects.
 
virtual void SetNearClipPlane (const double _near) override
 Set the camera's near clipping plane distance.
 
virtual void SetProjectionMatrix (const math::Matrix4d &_matrix) override
 Set the projection matrix for this camera. This overrides the standard projection matrix computed based on camera parameters.
 
virtual void SetProjectionType (CameraProjectionType _type) override
 Set the projection type for this camera This changes the projection matrix of the camera based on the camera projection type. A custom projection matrix can be specified via SetProjectionMatrix to override the provided one. To disable the custom projection matrix, just call this function again with the desired projection type.
 
virtual void SetShadowsDirty () override
 
virtual void SetTrackOffset (const math::Vector3d &_offset) override
 Set track offset. Camera will track a point that's at an offset from the target node. The offset will be in the frame that is specified at the time the track target is set.
 
virtual void SetTrackPGain (const double _pGain) override
 Set track P Gain. Determines how fast the camera rotates to look at the target node. Valid range: [0-1].
 
virtual void SetTrackTarget (const NodePtr &_target, const math::Vector3d &_offset, const bool _worldFrame) override
 Set a node for camera to track. The camera will automatically change its orientation to face the target being tracked. If null is specified, tracking is disabled. In contrast to SetFollowTarget the camera does not change its position when tracking is enabled.
 
virtual math::Vector3d TrackOffset () const override
 Get the track offset vector in the frame specified at the time the track target is set.
 
virtual double TrackPGain () const override
 Get the camera track rotation P gain.
 
virtual NodePtr TrackTarget () const override
 Get the target node being tracked.
 
virtual void Update () override
 Renders a new frame. This is a convenience function for single-camera scenes. It wraps the pre-render, render, and post-render into a single function. This should NOT be used in applications with multiple cameras or multiple consumers of a single camera's images.
 
virtual math::Matrix4d ViewMatrix () const override
 Get the view matrix for this camera.
 
virtual VisualPtr VisualAt (const gz::math::Vector2i &_mousePos) override
 Get the visual for a given mouse position param[in] _mousePos mouse position.
 

Public Attributes

bool clamping = false
 True if data values are clamped to camera clip distances,.
 
float dataMaxVal = gz::math::INF_D
 maximum value used for data outside sensor range
 
float dataMinVal = -gz::math::INF_D
 minimum value used for data outside sensor range
 

Protected Member Functions

 BaseGpuRays ()
 Constructor.
 
- Protected Member Functions inherited from BaseCamera< T >
 BaseCamera ()
 
virtual void * CreateImageBuffer () const
 
virtual void Load () override
 
virtual void Reset ()
 

Protected Attributes

unsigned int channels = 1u
 Number of channels used to store the data.
 
double hResolution = 1
 Resolution of horizontal rays.
 
int hSamples = 0
 Quantity of horizontal rays.
 
bool isHorizontal = true
 True if the sensor is horizontal only.
 
double maxAngle = 0
 Horizontal maximal angle.
 
double minAngle = 0
 Horizontal minimal angle.
 
double rangeCountRatio = 0
 Range count ratio.
 
double rayCountRatio = 0
 Ray count ratio.
 
math::Angle vfov
 Vertical field-of-view.
 
double vMaxAngle = 0
 Vertical maximal angle.
 
double vMinAngle = 0
 Vertical minimal angle.
 
double vResolution = 1
 Resolution of vertical rays.
 
int vSamples = 0
 Quantity of verical rays.
 
- Protected Attributes inherited from BaseCamera< T >
unsigned int antiAliasing = 0u
 Anti-aliasing.
 
double aspect = 1.3333333
 Aspect ratio.
 
double farClip = 1000.0
 Far clipping plane distance.
 
NodePtr followNode
 Target node to follow.
 
math::Vector3d followOffset
 Offset distance between camera and target node being followed.
 
double followPGain = 1.0
 P gain for follow mode. Determines how fast the camera moves to follow the target node. Valid range: [0-1].
 
bool followWorldFrame = false
 Follow target in world frame.
 
math::Angle hfov
 Horizontal camera field of view.
 
ImagePtr imageBuffer
 
double nearClip = 0.01
 Near clipping plane distance.
 
common::EventT< void(const void *, unsigned int, unsigned int, unsigned int, const std::string &)> newFrameEvent
 
math::Matrix4d projectionMatrix
 Custom projection matrix.
 
CameraProjectionType projectionType = CPT_PERSPECTIVE
 Camera projection type.
 
NodePtr trackNode
 Target node to track if camera tracking is on.
 
math::Vector3d trackOffset
 Set camera to track a point offset in target node's local or world frame depending on trackWorldFrame.
 
double trackPGain = 1.0
 P gain for tracking. Determines how fast the camera rotates to look at the target node. Valid range: [0-1].
 
bool trackWorldFrame = false
 Track point relative to target in world frame.
 

Additional Inherited Members

- Public Types inherited from GpuRays
typedef std::function< void(const void *, unsigned int, unsigned int, unsigned int, const std::string &)> NewFrameListener
 Callback function for new frame render event listeners.
 
- Public Types inherited from Camera
typedef std::function< void(const void *, unsigned int, unsigned int, unsigned int, const std::string &)> NewFrameListener
 Callback function for new frame render event listeners.
 

Constructor & Destructor Documentation

◆ BaseGpuRays()

template<class T >
BaseGpuRays ( )
protected

Constructor.

◆ ~BaseGpuRays()

template<class T >
~BaseGpuRays ( )
virtual

Destructor.

Member Function Documentation

◆ AngleMax()

template<class T >
gz::math::Angle AngleMax ( ) const
overridevirtual

Get maximal horizontal angle value.

Implements GpuRays.

◆ AngleMin()

template<class T >
gz::math::Angle AngleMin ( ) const
overridevirtual

Get minimal horizontal angle value.

Implements GpuRays.

◆ Channels()

template<class T >
unsigned int Channels ( ) const
overridevirtual

Get the number of channels used to store the ray data.

Returns
Channel count.

Implements GpuRays.

◆ Clamp()

template<class T >
bool Clamp ( ) const
overridevirtual

Get behaviour for data values outside of camera range.

Returns
True if data values are clampped to camera clip distances,

Implements GpuRays.

◆ ConnectNewGpuRaysFrame()

template<class T >
gz::common::ConnectionPtr ConnectNewGpuRaysFrame ( std::function< void(const float *_frame, unsigned int _width, unsigned int _height, unsigned int _depth, const std::string &_format)>  _subscriber)
overridevirtual

◆ Copy()

template<class T >
void Copy ( float *  _data)
overridevirtual

Copy to the specified memory direction the gpu rays data.

Implements GpuRays.

Reimplemented in OgreGpuRays, and Ogre2GpuRays.

◆ Data()

template<class T >
const float * Data ( ) const
overridevirtual

All things needed to get back z buffer for gpu rays data.

Returns
Array of gpu rays data.

Implements GpuRays.

Reimplemented in OgreGpuRays, and Ogre2GpuRays.

◆ HorizontalResolution()

template<class T >
double HorizontalResolution ( ) const
overridevirtual

Get the horizontal resolution. This number is multiplied by RayCount to calculate RangeCount, which is the the number range data points.

See also
RayCount()
Returns
The horizontal resolution

Implements GpuRays.

◆ IsHorizontal()

template<class T >
bool IsHorizontal ( ) const
overridevirtual

Gets if sensor is horizontal.

Returns
True if horizontal, false if not

Implements GpuRays.

◆ RangeCount()

template<class T >
int RangeCount ( ) const
overridevirtual

Get hoizontal range count, i.e. ray count * horz resolution.

Implements GpuRays.

◆ RangeCountRatio()

template<class T >
double RangeCountRatio ( ) const
overridevirtual

Get the ray count ratio (equivalent to aspect ratio)

Returns
The ray count ratio (equivalent to aspect ratio)

Implements GpuRays.

◆ RayCount()

template<class T >
int RayCount ( ) const
overridevirtual

Get horizontal quantity of rays.

Implements GpuRays.

◆ RayCountRatio()

template<class T >
double RayCountRatio ( ) const
overridevirtual

Get the ray count ratio (equivalent to aspect ratio)

Returns
The ray count ratio (equivalent to aspect ratio)

Implements GpuRays.

◆ RenderTarget()

template<class T >
virtual RenderTargetPtr RenderTarget ( ) const
overridepure virtual

Pointer to the render target.

Implements BaseCamera< T >.

Implemented in OgreGpuRays, and Ogre2GpuRays.

◆ SetAngleMax()

template<class T >
void SetAngleMax ( double  _angle)
overridevirtual

Set maximal horizontal angle value.

Implements GpuRays.

◆ SetAngleMin()

template<class T >
void SetAngleMin ( double  _angle)
overridevirtual

Set minimal horizontal angle value.

Implements GpuRays.

◆ SetClamp()

template<class T >
void SetClamp ( bool  _clamp)
overridevirtual

Configure behaviour for data values outside of camera range.

Parameters
[in]_clampTrue to clamp data to camera clip distances,

Implements GpuRays.

References gz::math::INF_D.

◆ SetHorizontalResolution()

template<class T >
void SetHorizontalResolution ( double  _resolution)
overridevirtual

Set the horizontal resolution. This number is multiplied by RayCount to calculate RangeCount, which is the the number range data points.

See also
RayCount()
Parameters
[in]_resolutionThe new horizontal resolution. The absolute value of this parameter is used to prevent a negative resolution value.

Implements GpuRays.

References std::dynamic_pointer_cast().

◆ SetIsHorizontal()

template<class T >
void SetIsHorizontal ( const bool  _horizontal)
overridevirtual

Set sensor horizontal or vertical.

Parameters
[in]_horizontalTrue if horizontal, false if not

Implements GpuRays.

◆ SetRayCount()

template<class T >
void SetRayCount ( int  _samples)
overridevirtual

Set horizontal quantity of rays.

Implements GpuRays.

◆ SetRayCountRatio()

template<class T >
void SetRayCountRatio ( const double  _rayCountRatio)
overridevirtual

Sets the ray count ratio (equivalent to aspect ratio)

Parameters
[in]_rayCountRatioray count ratio (equivalent to aspect ratio)

Implements GpuRays.

◆ SetVerticalAngleMax()

template<class T >
void SetVerticalAngleMax ( const double  _angle)
overridevirtual

Set maximal vertical angle value.

Implements GpuRays.

◆ SetVerticalAngleMin()

template<class T >
void SetVerticalAngleMin ( const double  _angle)
overridevirtual

Set minimal vertical angle value.

Implements GpuRays.

◆ SetVerticalRayCount()

template<class T >
void SetVerticalRayCount ( int  _samples)
overridevirtual

Set vertical quantity of rays.

Implements GpuRays.

◆ SetVerticalResolution()

template<class T >
void SetVerticalResolution ( double  _resolution)
overridevirtual

Set the vertical resolution. This number is multiplied by VerticalRayCount to calculate VerticalRangeCount, which is the the number vertical range data points.

Parameters
[in]_resolutionThe new vertical resolution. The absolute value of this parameter is used to prevent a negative resolution value.
See also
VerticalRayCount()

Implements GpuRays.

References std::dynamic_pointer_cast().

◆ SetVFOV()

template<class T >
void SetVFOV ( const math::Angle _vfov)
virtual

Set the vertical fov.

Parameters
[in]_vfovvertical fov

◆ VerticalAngleMax()

template<class T >
gz::math::Angle VerticalAngleMax ( ) const
overridevirtual

Get maximal vertical angle value.

Implements GpuRays.

◆ VerticalAngleMin()

template<class T >
gz::math::Angle VerticalAngleMin ( ) const
overridevirtual

Get minimal vertical angle value.

Implements GpuRays.

◆ VerticalRangeCount()

template<class T >
int VerticalRangeCount ( ) const
overridevirtual

Get vertical range count, i.e. ray count * vert resolution.

Implements GpuRays.

◆ VerticalRayCount()

template<class T >
int VerticalRayCount ( ) const
overridevirtual

Get vertical quantity of rays.

Implements GpuRays.

◆ VerticalResolution()

template<class T >
double VerticalResolution ( ) const
overridevirtual

Get the vertical resolution. This number is multiplied by VerticalRayCount to calculate VerticalRangeCount, which is the the number vertical range data points.

Returns
The vertical resolution.
See also
VerticalRayCount()

Implements GpuRays.

◆ VFOV()

template<class T >
math::Angle VFOV ( ) const
overridevirtual

Get the vertical field-of-view.

Returns
The vertical field of view of the gpu rays.

Implements GpuRays.

Member Data Documentation

◆ channels

template<class T >
unsigned int channels = 1u
protected

Number of channels used to store the data.

◆ clamping

template<class T >
bool clamping = false

True if data values are clamped to camera clip distances,.

◆ dataMaxVal

template<class T >
float dataMaxVal = gz::math::INF_D

maximum value used for data outside sensor range

◆ dataMinVal

template<class T >
float dataMinVal = -gz::math::INF_D

minimum value used for data outside sensor range

◆ hResolution

template<class T >
double hResolution = 1
protected

Resolution of horizontal rays.

◆ hSamples

template<class T >
int hSamples = 0
protected

Quantity of horizontal rays.

◆ isHorizontal

template<class T >
bool isHorizontal = true
protected

True if the sensor is horizontal only.

◆ maxAngle

template<class T >
double maxAngle = 0
protected

Horizontal maximal angle.

◆ minAngle

template<class T >
double minAngle = 0
protected

Horizontal minimal angle.

◆ rangeCountRatio

template<class T >
double rangeCountRatio = 0
protected

Range count ratio.

◆ rayCountRatio

template<class T >
double rayCountRatio = 0
protected

Ray count ratio.

◆ vfov

template<class T >
math::Angle vfov
protected

Vertical field-of-view.

◆ vMaxAngle

template<class T >
double vMaxAngle = 0
protected

Vertical maximal angle.

◆ vMinAngle

template<class T >
double vMinAngle = 0
protected

Vertical minimal angle.

◆ vResolution

template<class T >
double vResolution = 1
protected

Resolution of vertical rays.

◆ vSamples

template<class T >
int vSamples = 0
protected

Quantity of verical rays.


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