Ignition Rendering

API Reference

5.0.0

Base implementation of a Lidar Visual. More...

#include <BaseLidarVisual.hh>

Public Member Functions

virtual ~BaseLidarVisual ()
 
virtual void ClearPoints () override
 Clear the points of the lidar visual. More...
 
virtual void CreateMaterials ()
 Create predefined materials for lidar visual. More...
 
virtual void Destroy () override
 Destroy any resources associated with this object. Invoking any other functions after destroying an object will result in undefined behavior. More...
 
virtual bool DisplayNonHitting () const override
 Get if non-hitting rays will be displayed. More...
 
virtual unsigned int HorizontalRayCount () const override
 Get number of horizontal rays. More...
 
virtual void Init () override
 
virtual double MaxHorizontalAngle () const override
 Get maximum horizontal angle. More...
 
virtual double MaxRange () const override
 Get maximum range of lidar rays. More...
 
virtual double MaxVerticalAngle () const override
 Get minimum vertical angle. More...
 
virtual double MinHorizontalAngle () const override
 Get minimum horizontal angle. More...
 
virtual double MinRange () const override
 Get minimum range of lidar rays. More...
 
virtual double MinVerticalAngle () const override
 Get minimum vertical angle. More...
 
virtual ignition::math::Pose3d Offset () const override
 Get offset of visual. More...
 
virtual unsigned int PointCount () const override
 Get number of points in laser data. More...
 
virtual std::vector< double > Points () const override
 Get the points in laser data. More...
 
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. More...
 
virtual void SetDisplayNonHitting (bool _display) override
 Set if non-hitting rays will be displayed (this does not work for TRIANGLE_STRIPS visual) More...
 
virtual void SetHorizontalRayCount (unsigned int _horizontalRayCount) override
 Set number of horizontal rays. More...
 
virtual void SetMaxHorizontalAngle (double _maxHorizontalAngle) override
 Set maximum horizontal angle. More...
 
virtual void SetMaxRange (double _maxRange) override
 Set maximum range of lidar rays. More...
 
virtual void SetMaxVerticalAngle (double _maxVerticalAngle) override
 Set maximum vertical angle. More...
 
virtual void SetMinHorizontalAngle (double _minHorizontalAngle) override
 Set minimum horizontal angle. More...
 
virtual void SetMinRange (double _minRange) override
 Set minimum range of lidar rays. More...
 
virtual void SetMinVerticalAngle (double _minVerticalAngle) override
 Set minimum vertical angle. More...
 
virtual void SetOffset (const ignition::math::Pose3d _offset) override
 Set offset of visual. More...
 
virtual void SetPoints (const std::vector< double > &_points) override
 Set lidar points to be visualised. More...
 
virtual void SetPoints (const std::vector< double > &_points, const std::vector< ignition::math::Color > &_colors) override
 Set lidar points to be visualised. More...
 
virtual void SetType (const LidarVisualType _type) override
 Set type for lidar visual. More...
 
virtual void SetVerticalRayCount (unsigned int _verticalRayCount) override
 Set number of vertical rays. More...
 
virtual LidarVisualType Type () const override
 Get the type for lidar visual. More...
 
virtual void Update () override
 Update the Visual. More...
 
virtual unsigned int VerticalRayCount () const override
 Get number of vertical rays. More...
 
- Public Member Functions inherited from LidarVisual
virtual ~LidarVisual ()
 Destructor. More...
 
- Public Member Functions inherited from Visual
virtual ~Visual ()
 Destructor. More...
 
virtual void AddGeometry (GeometryPtr _geometry)=0
 Add the given geometry to this visual. If the given node is already attached, no work will be done. More...
 
virtual void AddVisibilityFlags (uint32_t _flags)=0
 Add visibility flags. More...
 
virtual ignition::math::AxisAlignedBox BoundingBox () const =0
 Get the bounding box in world frame coordinates. More...
 
virtual GeometryPtr GeometryByIndex (unsigned int _index) const =0
 Get geometry at given index. If no geometry exists at given index, NULL will be returned. More...
 
virtual unsigned int GeometryCount () const =0
 Get the number of geometries attached to this visual. More...
 
virtual bool HasGeometry (ConstGeometryPtr _geometry) const =0
 Determine if given geometry is attached to this visual. More...
 
virtual ignition::math::AxisAlignedBox LocalBoundingBox () const =0
 Get the local bounding box of the visual. More...
 
virtual MaterialPtr Material ()=0
 Get the material assigned to attached visuals and geometries. More...
 
virtual void RemoveGeometries ()=0
 Remove all attached geometries from this visual. More...
 
virtual GeometryPtr RemoveGeometry (GeometryPtr _geometry)=0
 Remove the given geometry from this visual. If the given node is not a child of this visual, no work will be done. More...
 
virtual GeometryPtr RemoveGeometryByIndex (unsigned int _index)=0
 Remove the geometry at the given index from this visual. If the specified node is not attached this visual, no work will be done. More...
 
virtual void RemoveVisibilityFlags (uint32_t _flags)=0
 Remove visibility flags. More...
 
virtual void SetChildMaterial (MaterialPtr _material, bool unique=true)=0
 Set the material for all attached visuals only. More...
 
virtual void SetGeometryMaterial (MaterialPtr _material, bool unique=true)=0
 Set the material for all attached geometries only. More...
 
virtual void SetMaterial (const std::string &_name, bool unique=true)=0
 Set the material for all attached visuals and geometries. The specified material will be retrieved from Scene::Material using the given material name. If no material is registered with the given name, no work will be done. More...
 
virtual void SetMaterial (MaterialPtr _material, bool unique=true)=0
 Set the material for all attached visuals and geometries. More...
 
virtual void SetUserData (const std::string &_key, Variant _value)=0
 Store any custom data associated with this visual. More...
 
virtual void SetVisibilityFlags (uint32_t _flags)=0
 Set visibility flags. More...
 
virtual void SetVisible (bool _visible)=0
 Specify if this visual is visible. More...
 
virtual Variant UserData (const std::string &_key) const =0
 Get custom data stored in this visual. More...
 
virtual uint32_t VisibilityFlags () const =0
 Get visibility flags. More...
 
- Public Member Functions inherited from Node
virtual ~Node ()
 Destructor. More...
 
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. More...
 
virtual NodePtr ChildById (unsigned int _id) const =0
 Get node with given ID. If no child exists with given ID, NULL will be returned. More...
 
virtual NodePtr ChildByIndex (unsigned int _index) const =0
 Get node at given index. If no child exists at given index, NULL will be returned. More...
 
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. More...
 
virtual unsigned int ChildCount () const =0
 Get number of child nodes. More...
 
virtual bool HasChild (ConstNodePtr _child) const =0
 Determine if given node is an attached child. More...
 
virtual bool HasChildId (unsigned int _id) const =0
 Determine if node with given ID is an attached child. More...
 
virtual bool HasChildName (const std::string &_name) const =0
 Determine if node with given name is an attached child. More...
 
virtual bool HasParent () const =0
 Determine if this Node is attached to another Node. More...
 
virtual bool InheritScale () const =0
 Determine if this visual inherits scale from this parent. More...
 
virtual math::Pose3d LocalPose () const =0
 Get the local pose. More...
 
virtual math::Vector3d LocalPosition () const =0
 Get the local position. More...
 
virtual math::Quaterniond LocalRotation () const =0
 Get the local rotation. More...
 
virtual math::Vector3d LocalScale () const =0
 Get the local scale. More...
 
virtual math::Vector3d Origin () const =0
 Get position of origin. More...
 
virtual NodePtr Parent () const =0
 Get the parent Node. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
virtual void RemoveChildren ()=0
 Remove all child nodes from this node This detaches all the child nodes but does not destroy them. More...
 
virtual void RemoveParent ()=0
 Detach this Node from its parent. If this Node does not have a parent, no work will be done. More...
 
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. More...
 
virtual void Scale (double _x, double _y, double _z)=0
 Scale the current scale by the given scalars. More...
 
virtual void Scale (const math::Vector3d &_scale)=0
 Scale the current scale by the given scalars. More...
 
virtual void SetInheritScale (bool _inherit)=0
 Specify if this visual inherits scale from its parent. More...
 
virtual void SetLocalPose (const math::Pose3d &_pose)=0
 Set the local pose. More...
 
virtual void SetLocalPosition (double _x, double _y, double _z)=0
 Set the local position. More...
 
virtual void SetLocalPosition (const math::Vector3d &_position)=0
 Set the local position. More...
 
virtual void SetLocalRotation (double _r, double _p, double _y)=0
 Set the local rotation. More...
 
virtual void SetLocalRotation (double _w, double _x, double _y, double _z)=0
 Set the local rotation. More...
 
virtual void SetLocalRotation (const math::Quaterniond &_rotation)=0
 Set the local rotation. More...
 
virtual void SetLocalScale (double _scale)=0
 Set the local scale. The given scale will be assigned to the x, y, and z coordinates. More...
 
virtual void SetLocalScale (double _x, double _y, double _z)=0
 Set the local scale. More...
 
virtual void SetLocalScale (const math::Vector3d &_scale)=0
 Set the local scale. More...
 
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. More...
 
virtual void SetOrigin (const math::Vector3d &_origin)=0
 Set position of origin. The position should be relative to the original origin of the geometry. More...
 
virtual void SetWorldPose (const math::Pose3d &_pose)=0
 Set the world pose. More...
 
virtual void SetWorldPosition (double _x, double _y, double _z)=0
 Set the world position. More...
 
virtual void SetWorldPosition (const math::Vector3d &_position)=0
 Set the world position. More...
 
virtual void SetWorldRotation (double _r, double _p, double _y)=0
 Set the world rotation. More...
 
virtual void SetWorldRotation (double _w, double _x, double _y, double _z)=0
 Set the world rotation. More...
 
virtual void SetWorldRotation (const math::Quaterniond &_rotation)=0
 Set the world rotation. More...
 
virtual void SetWorldScale (double _scale)=0
 Set the world scale. The given scale will be assigned to the x, y, and z coordinates. More...
 
virtual void SetWorldScale (double _x, double _y, double _z)=0
 Set the world scale. More...
 
virtual void SetWorldScale (const math::Vector3d &_scale)=0
 Set the world scale. More...
 
virtual math::Pose3d WorldPose () const =0
 Get the world pose. More...
 
virtual math::Vector3d WorldPosition () const =0
 Get the world position. More...
 
virtual math::Quaterniond WorldRotation () const =0
 Get the world rotation. More...
 
virtual math::Vector3d WorldScale () const =0
 Get the world scale. More...
 
virtual math::Pose3d WorldToLocal (const math::Pose3d &_pose) const =0
 Convert given world pose to local pose. More...
 
- Public Member Functions inherited from Object
virtual ~Object ()
 Destructor. More...
 
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. More...
 
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. More...
 
virtual void PostRender ()=0
 Post process this object and any of its children after rendering. More...
 
virtual ScenePtr Scene () const =0
 Get the Scene that created this object. More...
 

Protected Member Functions

 BaseLidarVisual ()
 
- Protected Member Functions inherited from LidarVisual
 LidarVisual ()
 

Protected Attributes

bool displayNonHitting = true
 Option to display non-hitting rays. More...
 
double horizontalAngleStep = 0
 Angle between two horizontal rays. More...
 
unsigned int horizontalCount = 1u
 Horizontal laser count. More...
 
LidarVisualType lidarVisualType
 Type of lidar visualisation. More...
 
double maxHorizontalAngle = 0
 Horizontal maximum angle. More...
 
double maxRange = 0
 Maximum Range. More...
 
double maxVerticalAngle = 0
 Vertical maximum angle. More...
 
double minHorizontalAngle = 0
 Horizontal minimal angle. More...
 
double minRange = 0
 Minimum Range. More...
 
double minVerticalAngle = 0
 Vertical minimal angle. More...
 
ignition::math::Pose3d offset = ignition::math::Pose3d::Zero
 Offset of visual. More...
 
double verticalAngleStep = 0
 Angle between two vertical rays. More...
 
unsigned int verticalCount = 1u
 Vertical laser count. More...
 

Detailed Description

template<class T>
class ignition::rendering::BaseLidarVisual< T >

Base implementation of a Lidar Visual.

Constructor & Destructor Documentation

◆ BaseLidarVisual()

BaseLidarVisual ( )
protected

◆ ~BaseLidarVisual()

~BaseLidarVisual ( )
virtual

Member Function Documentation

◆ ClearPoints()

void ClearPoints ( )
overridevirtual

Clear the points of the lidar visual.

Implements LidarVisual.

Reimplemented in OgreLidarVisual, and Ogre2LidarVisual.

◆ CreateMaterials()

void CreateMaterials ( )
virtual

Create predefined materials for lidar visual.

Referenced by BaseLidarVisual< Ogre2Visual >::Init().

◆ 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.

Reimplemented in OgreLidarVisual, and Ogre2LidarVisual.

◆ DisplayNonHitting()

bool DisplayNonHitting ( ) const
overridevirtual

Get if non-hitting rays will be displayed.

Returns
Boolean value if non-hitting rays will be displayed

Implements LidarVisual.

◆ HorizontalRayCount()

unsigned int HorizontalRayCount ( ) const
overridevirtual

Get number of horizontal rays.

Returns
The number of horizontal rays

Implements LidarVisual.

◆ Init()

void Init ( )
overridevirtual

Reimplemented in OgreLidarVisual, and Ogre2LidarVisual.

◆ MaxHorizontalAngle()

double MaxHorizontalAngle ( ) const
overridevirtual

Get maximum horizontal angle.

Returns
The maximum horizontal angle value of the lidar visual

Implements LidarVisual.

◆ MaxRange()

double MaxRange ( ) const
overridevirtual

Get maximum range of lidar rays.

Returns
The maximum range for lidar rays

Implements LidarVisual.

◆ MaxVerticalAngle()

double MaxVerticalAngle ( ) const
overridevirtual

Get minimum vertical angle.

Returns
The maximum vertical angle value of the lidar visual

Implements LidarVisual.

◆ MinHorizontalAngle()

double MinHorizontalAngle ( ) const
overridevirtual

Get minimum horizontal angle.

Returns
The minimum horizontal angle value of the lidar visual

Implements LidarVisual.

◆ MinRange()

double MinRange ( ) const
overridevirtual

Get minimum range of lidar rays.

Returns
The minimum range for lidar rays

Implements LidarVisual.

◆ MinVerticalAngle()

double MinVerticalAngle ( ) const
overridevirtual

Get minimum vertical angle.

Returns
The minimum vertical angle value of the lidar visual

Implements LidarVisual.

◆ Offset()

ignition::math::Pose3d Offset ( ) const
overridevirtual

Get offset of visual.

Returns
The offset of the lidar rays from visual origin

Implements LidarVisual.

◆ PointCount()

unsigned int PointCount ( ) const
overridevirtual

Get number of points in laser data.

Returns
The number of points in the laser data

Implements LidarVisual.

Reimplemented in OgreLidarVisual, and Ogre2LidarVisual.

◆ Points()

std::vector< double > Points ( ) const
overridevirtual

Get the points in laser data.

Returns
The points in the laser data

Implements LidarVisual.

Reimplemented in OgreLidarVisual, and Ogre2LidarVisual.

◆ 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.

Reimplemented in OgreLidarVisual, and Ogre2LidarVisual.

◆ SetDisplayNonHitting()

void SetDisplayNonHitting ( bool  _display)
overridevirtual

Set if non-hitting rays will be displayed (this does not work for TRIANGLE_STRIPS visual)

Parameters
[in]_displayBoolean value to display non hitting visuals

Implements LidarVisual.

◆ SetHorizontalRayCount()

void SetHorizontalRayCount ( unsigned int  _horizontalRayCount)
overridevirtual

Set number of horizontal rays.

Returns
_horizontalRayCount Number of vertical rays

Implements LidarVisual.

◆ SetMaxHorizontalAngle()

void SetMaxHorizontalAngle ( double  _maxHorizontalAngle)
overridevirtual

Set maximum horizontal angle.

Parameters
[in]_maxHorizontalAngleMaximum horizontal angle value

Implements LidarVisual.

◆ SetMaxRange()

void SetMaxRange ( double  _maxRange)
overridevirtual

Set maximum range of lidar rays.

Parameters
[in]_maxRangeThe maximum range for lidar rays

Implements LidarVisual.

◆ SetMaxVerticalAngle()

void SetMaxVerticalAngle ( double  _maxVerticalAngle)
overridevirtual

Set maximum vertical angle.

Parameters
[in]_maxVerticalAngleMaximum vertical angle value

Implements LidarVisual.

◆ SetMinHorizontalAngle()

void SetMinHorizontalAngle ( double  _minHorizontalAngle)
overridevirtual

Set minimum horizontal angle.

Parameters
[in]_minHorizontalAngleMinimum horizontal angle value

Implements LidarVisual.

◆ SetMinRange()

void SetMinRange ( double  _minRange)
overridevirtual

Set minimum range of lidar rays.

Parameters
[in]_minRangeThe minimum range for lidar rays

Implements LidarVisual.

◆ SetMinVerticalAngle()

void SetMinVerticalAngle ( double  _minVerticalAngle)
overridevirtual

Set minimum vertical angle.

Parameters
[in]_minVerticalAngleMinimum vertical angle

Implements LidarVisual.

◆ SetOffset()

void SetOffset ( const ignition::math::Pose3d  _offset)
overridevirtual

Set offset of visual.

Parameters
[in]_offsetThe offset of the lidar rays from visual origin

Implements LidarVisual.

◆ SetPoints() [1/2]

void SetPoints ( const std::vector< double > &  _points)
overridevirtual

Set lidar points to be visualised.

Parameters
[in]_pointsVector of points representing distance of the ray

Implements LidarVisual.

Reimplemented in OgreLidarVisual, and Ogre2LidarVisual.

◆ SetPoints() [2/2]

void SetPoints ( const std::vector< double > &  _points,
const std::vector< ignition::math::Color > &  _colors 
)
overridevirtual

Set lidar points to be visualised.

Parameters
[in]_pointsVector of points representing distance of the ray
[in]_colorsVector of colors for the rendered points

Implements LidarVisual.

Reimplemented in OgreLidarVisual.

◆ SetType()

void SetType ( const LidarVisualType  _type)
overridevirtual

Set type for lidar visual.

Parameters
[in]_typeThe type of visualisation for lidar data

Implements LidarVisual.

◆ SetVerticalRayCount()

void SetVerticalRayCount ( unsigned int  _verticalRayCount)
overridevirtual

Set number of vertical rays.

Parameters
[in]_verticalRayCountNumber of vertical rays

Implements LidarVisual.

◆ Type()

LidarVisualType Type ( ) const
overridevirtual

Get the type for lidar visual.

Returns
The type for lidar visual

Implements LidarVisual.

◆ Update()

void Update ( )
overridevirtual

Update the Visual.

Implements LidarVisual.

Reimplemented in OgreLidarVisual, and Ogre2LidarVisual.

◆ VerticalRayCount()

unsigned int VerticalRayCount ( ) const
overridevirtual

Get number of vertical rays.

Returns
The number of vertical rays

Implements LidarVisual.

Member Data Documentation

◆ displayNonHitting

bool displayNonHitting = true
protected

◆ horizontalAngleStep

double horizontalAngleStep = 0
protected

Angle between two horizontal rays.

◆ horizontalCount

unsigned int horizontalCount = 1u
protected

◆ lidarVisualType

LidarVisualType lidarVisualType
protected

◆ maxHorizontalAngle

double maxHorizontalAngle = 0
protected

◆ maxRange

double maxRange = 0
protected

◆ maxVerticalAngle

double maxVerticalAngle = 0
protected

◆ minHorizontalAngle

double minHorizontalAngle = 0
protected

◆ minRange

double minRange = 0
protected

◆ minVerticalAngle

double minVerticalAngle = 0
protected

◆ offset

◆ verticalAngleStep

double verticalAngleStep = 0
protected

Angle between two vertical rays.

◆ verticalCount

unsigned int verticalCount = 1u
protected

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