Ignition Rendering

API Reference

5.1.0

Class to manage a particle emitter. More...

#include <OgreParticleEmitter.hh>

Public Member Functions

virtual ~OgreParticleEmitter ()
 Destructor. More...
 
- Public Member Functions inherited from BaseParticleEmitter< OgreVisual >
virtual ~BaseParticleEmitter ()
 Destructor. More...
 
virtual ignition::math::Color ColorEnd () const override
 Get the end color of the particles. More...
 
virtual std::string ColorRangeImage () const override
 Get the path to the color image used as an affector. More...
 
virtual ignition::math::Color ColorStart () const override
 Get the starting color of the particles. More...
 
virtual double Duration () const override
 Get the number of seconds the emitter is active. A value of 0 means infinite duration. More...
 
virtual ignition::math::Vector3d EmitterSize () const override
 Get the size of the emitter where the particles are sampled. More...
 
virtual bool Emitting () const override
 Is the particle emitter enabled? More...
 
virtual void Init () override
 
virtual double Lifetime () const override
 Get the number of seconds each particle will ’live’ for before being destroyed. More...
 
virtual MaterialPtr Material () const override
 Get the material which all particles in the emitter will use. More...
 
virtual double MaxVelocity () const override
 Get the maximum velocity each particle is emitted (m/s). More...
 
virtual double MinVelocity () const override
 Get the minimum velocity each particle is emitted (m/s). More...
 
virtual float ParticleScatterRatio () const override
 Get the particle scatter ratio. More...
 
virtual ignition::math::Vector3d ParticleSize () const override
 Get the particle dimensions (width, height, depth). 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 double Rate () const override
 Get how many particles per second should be emitted. More...
 
virtual void Reset ()
 Reset the particle emitter visual state. More...
 
virtual double ScaleRate () const override
 Get the amount by which to scale the particles in both x and y direction per second. Default value is 1. More...
 
virtual void SetColorRange (const ignition::math::Color &_colorStart, const ignition::math::Color &_colorEnd) override
 Sets a color for all particle emitted. The actual color will be interpolated between these two colors Color::White is the default color for the particles unless a specific function is used. Note that this function overrides the particle colors set with SetColorRangeImage(). More...
 
virtual void SetColorRangeImage (const std::string &_image) override
 Set the path to the color image used as an affector. This affector modifies the color of particles in flight. The colors are taken from a specified image file. The range of color values begins from the left side of the image and move to the right over the lifetime of the particle, therefore only the horizontal dimension of the image is used. Note that this function overrides the particle colors set with SetColorRange(). More...
 
virtual void SetDuration (double _duration) override
 Set the number of seconds the emitter is active. A value of 0 means infinite duration. Default value is 0. More...
 
virtual void SetEmitterSize (const ignition::math::Vector3d &_size) override
 Set the size of the emitter where the particles are sampled. Default value is (1, 1, 1). Note that the interpretation of the emitter area varies depending on the emmiter type: More...
 
virtual void SetEmitting (bool _enable) override
 This is used to turn on or off particle emission. Default value is false. More...
 
virtual void SetLifetime (double _lifetime) override
 Set the number of seconds each particle will ’live’ for before being destroyed. Default value is 5. More...
 
virtual void SetMaterial (const MaterialPtr &_material) override
 Sets the material which all particles in the emitter will use. More...
 
virtual void SetParticleScatterRatio (float _ratio) override
 Set the particle scatter ratio. More...
 
virtual void SetParticleSize (const ignition::math::Vector3d &_size) override
 Set the particle dimensions (width, height, depth). Default value is {1, 1, 1}. More...
 
virtual void SetRate (double _rate) override
 Set how many particles per second should be emitted. Default value is 10. More...
 
virtual void SetScaleRate (double _scaleRate) override
 Set the amount by which to scale the particles in both x and y direction per second. More...
 
virtual void SetType (const EmitterType _type) override
 Set the emitter type. Default value is EM_POINT. More...
 
virtual void SetVelocityRange (double _minVelocity, double _maxVelocity) override
 Set a velocity range and each particle is emitted with a random velocity within this range (m/s). Default value is 1 for both velocities. More...
 
virtual EmitterType Type () const override
 Get the emitter type. More...
 
- Public Member Functions inherited from ParticleEmitter
virtual ~ParticleEmitter ()
 Destructor. More...
 
- Public Member Functions inherited from Visual
virtual ~Visual ()
 Destructor. More...
 
- Public Member Functions inherited from Node
virtual ~Node ()
 Destructor. 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...
 
- Public Member Functions inherited from OgreVisual
virtual ~OgreVisual ()
 
virtual ignition::math::AxisAlignedBox BoundingBox () const override
 Get the bounding box in world frame coordinates. More...
 
virtual ignition::math::AxisAlignedBox LocalBoundingBox () const override
 Get the local bounding box of the visual. More...
 
virtual void SetVisibilityFlags (uint32_t _flags) override
 Set visibility flags. More...
 
virtual void SetVisible (bool _visible) override
 Specify if this visual is visible. More...
 
- Public Member Functions inherited from BaseVisual< OgreNode >
virtual ~BaseVisual ()
 
virtual void AddGeometry (GeometryPtr _geometry) override
 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) override
 Add visibility flags. 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 GeometryPtr GeometryByIndex (unsigned int _index) const override
 Get geometry at given index. If no geometry exists at given index, NULL will be returned. More...
 
virtual unsigned int GeometryCount () const override
 Get the number of geometries attached to this visual. More...
 
virtual bool HasGeometry (ConstGeometryPtr _geometry) const override
 Determine if given geometry is attached to this visual. More...
 
virtual math::Pose3d LocalPose () const override
 Get the local pose. More...
 
virtual MaterialPtr Material () override
 Get the material assigned to attached visuals and geometries. More...
 
virtual void RemoveGeometries () override
 Remove all attached geometries from this visual. More...
 
virtual GeometryPtr RemoveGeometry (GeometryPtr _geometry) override
 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) override
 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) override
 Remove visibility flags. More...
 
virtual void SetChildMaterial (MaterialPtr _material, bool _unique=true) override
 Set the material for all attached visuals only. More...
 
virtual void SetGeometryMaterial (MaterialPtr _material, bool _unique=true) override
 Set the material for all attached geometries only. More...
 
virtual void SetLocalPose (const math::Pose3d &_pose) override
 Set the local pose. More...
 
virtual void SetMaterial (const std::string &_name, bool _unique=true) override
 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) override
 Set the material for all attached visuals and geometries. More...
 
virtual void SetUserData (const std::string &_key, Variant _value) override
 Store any custom data associated with this visual. More...
 
virtual Variant UserData (const std::string &_key) const override
 Get custom data stored in this visual. More...
 
virtual uint32_t VisibilityFlags () const override
 Get visibility flags. More...
 
- Public Member Functions inherited from OgreNode
virtual ~OgreNode ()
 
virtual bool HasParent () const override
 Determine if this Node is attached to another Node. More...
 
virtual bool InheritScale () const override
 Determine if this visual inherits scale from this parent. More...
 
virtual math::Vector3d LocalScale () const override
 Get the local scale. More...
 
virtual Ogre::SceneNode * Node () const
 
virtual NodePtr Parent () const override
 Get the parent Node. More...
 
virtual void SetInheritScale (bool _inherit) override
 Specify if this visual inherits scale from its parent. More...
 
- Public Member Functions inherited from BaseNode< OgreObject >
virtual ~BaseNode ()
 
virtual void AddChild (NodePtr _child) override
 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 override
 Get node with given ID. If no child exists with given ID, NULL will be returned. More...
 
virtual NodePtr ChildByIndex (unsigned int _index) const override
 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 override
 Get node with given name. If no child exists with given name, NULL will be returned. More...
 
virtual unsigned int ChildCount () const override
 Get number of child nodes. More...
 
virtual bool HasChild (ConstNodePtr _child) const override
 Determine if given node is an attached child. More...
 
virtual bool HasChildId (unsigned int _id) const override
 Determine if node with given ID is an attached child. More...
 
virtual bool HasChildName (const std::string &_name) const override
 Determine if node with given name is an attached child. More...
 
virtual math::Vector3d LocalPosition () const override
 Get the local position. More...
 
virtual math::Quaterniond LocalRotation () const override
 Get the local rotation. More...
 
virtual math::Vector3d Origin () const override
 Get position of origin. More...
 
virtual NodePtr RemoveChild (NodePtr _child) override
 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) override
 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) override
 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) override
 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 () override
 Remove all child nodes from this node This detaches all the child nodes but does not destroy them. More...
 
virtual void RemoveParent () override
 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) override
 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) override
 Scale the current scale by the given scalars. More...
 
virtual void Scale (const math::Vector3d &_scale) override
 Scale the current scale by the given scalars. More...
 
virtual void SetLocalPosition (double _x, double _y, double _z) override
 Set the local position. More...
 
virtual void SetLocalPosition (const math::Vector3d &_position) override
 Set the local position. More...
 
virtual void SetLocalRotation (double _r, double _p, double _y) override
 Set the local rotation. More...
 
virtual void SetLocalRotation (double _w, double _x, double _y, double _z) override
 Set the local rotation. More...
 
virtual void SetLocalRotation (const math::Quaterniond &_rotation) override
 Set the local rotation. More...
 
virtual void SetLocalScale (double _scale) override
 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) override
 Set the local scale. More...
 
virtual void SetLocalScale (const math::Vector3d &_scale) override
 Set the local scale. More...
 
virtual void SetOrigin (double _x, double _y, double _z) override
 Set position of origin. The position should be relative to the original origin of the geometry. More...
 
virtual void SetOrigin (const math::Vector3d &_origin) override
 Set position of origin. The position should be relative to the original origin of the geometry. More...
 
virtual void SetWorldPose (const math::Pose3d &_pose) override
 Set the world pose. More...
 
virtual void SetWorldPosition (double _x, double _y, double _z) override
 Set the world position. More...
 
virtual void SetWorldPosition (const math::Vector3d &_position) override
 Set the world position. More...
 
virtual void SetWorldRotation (double _r, double _p, double _y) override
 Set the world rotation. More...
 
virtual void SetWorldRotation (double _w, double _x, double _y, double _z) override
 Set the world rotation. More...
 
virtual void SetWorldRotation (const math::Quaterniond &_rotation) override
 Set the world rotation. More...
 
virtual void SetWorldScale (double _scale) override
 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) override
 Set the world scale. More...
 
virtual void SetWorldScale (const math::Vector3d &_scale) override
 Set the world scale. More...
 
virtual math::Pose3d WorldPose () const override
 Get the world pose. More...
 
virtual math::Vector3d WorldPosition () const override
 Get the world position. More...
 
virtual math::Quaterniond WorldRotation () const override
 Get the world rotation. More...
 
virtual math::Vector3d WorldScale () const override
 Get the world scale. More...
 
virtual math::Pose3d WorldToLocal (const math::Pose3d &_pose) const override
 Convert given world pose to local pose. More...
 
- 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
 

Protected Member Functions

 OgreParticleEmitter ()
 Constructor. More...
 
- Protected Member Functions inherited from BaseParticleEmitter< OgreVisual >
 BaseParticleEmitter ()
 Constructor. More...
 
- Protected Member Functions inherited from OgreVisual
 OgreVisual ()
 
virtual bool AttachGeometry (GeometryPtr _geometry) override
 
virtual bool DetachGeometry (GeometryPtr _geometry) override
 
virtual GeometryStorePtr Geometries () const override
 
- Protected Member Functions inherited from BaseVisual< OgreNode >
 BaseVisual ()
 
virtual void PreRenderChildren () override
 
virtual void PreRenderGeometries ()
 
- Protected Member Functions inherited from OgreNode
 OgreNode ()
 
virtual bool AttachChild (NodePtr _child) override
 
virtual NodeStorePtr Children () const override
 
virtual bool DetachChild (NodePtr _child) override
 
virtual void Load () override
 
virtual math::Pose3d RawLocalPose () const override
 
virtual math::Vector3d RawLocalPosition () const
 
virtual math::Quaterniond RawLocalRotation () const
 
virtual void SetLocalScaleImpl (const math::Vector3d &_scale) override
 Implementation of the SetLocalScale function. More...
 
virtual void SetParent (OgreNodePtr _parent)
 
virtual void SetRawLocalPose (const math::Pose3d &_Pose3d) override
 
virtual void SetRawLocalPosition (const math::Vector3d &_position)
 
virtual void SetRawLocalRotation (const math::Quaterniond &_rotation)
 
- Protected Member Functions inherited from BaseNode< OgreObject >
 BaseNode ()
 
- Protected Member Functions inherited from OgreObject
 OgreObject ()
 
- Protected Member Functions inherited from BaseObject
 BaseObject ()
 

Additional Inherited Members

- Protected Attributes inherited from BaseParticleEmitter< OgreVisual >
ignition::math::Color colorEnd
 The end color of a particle to choose from. More...
 
std::string colorRangeImage
 The color image. More...
 
ignition::math::Color colorStart
 The start color of a particle to choose from. More...
 
double duration
 Duration of the emitter. More...
 
ignition::math::Vector3d emitterSize
 Emitter size. More...
 
bool emitting
 Whether particle emitter is enabled or not. More...
 
double lifetime
 Particle lifetime. More...
 
MaterialPtr material
 Particle material. More...
 
double maxVelocity
 The maximum velocity of each particle. More...
 
double minVelocity
 The minimum velocity of each particle. More...
 
float particleScatterRatio
 The particle scatter ratio. This is used to determine the ratio of particles that will be detected by sensors. Increasing the ratio increases the scatter of the particles, which means there is a higher chance of particles reflecting and interfering with depth sensing, making the emitter appear more dense. Decreasing the ratio decreases the scatter of the particles, making it appear less dense. This value should be > 0. More...
 
ignition::math::Vector3d particleSize
 Particle size. More...
 
double rate
 Rate of emission. More...
 
double scaleRate
 The scale rate. More...
 
EmitterType type
 Emitter type. More...
 
- Protected Attributes inherited from OgreVisual
OgreGeometryStorePtr geometries
 
- Protected Attributes inherited from BaseVisual< OgreNode >
ignition::math::AxisAlignedBox boundingBox
 The bounding box of the visual. More...
 
MaterialPtr material
 Pointer to material assigned to this visual. More...
 
std::map< std::string, VariantuserData
 A map of custom key value data. More...
 
uint32_t visibilityFlags
 Visual's visibility flags. More...
 
- Protected Attributes inherited from OgreNode
OgreNodeStorePtr children
 
Ogre::SceneNode * ogreNode = nullptr
 
OgreNodePtr parent
 
- Protected Attributes inherited from BaseNode< OgreObject >
math::Vector3d origin
 
- Protected Attributes inherited from OgreObject
OgreScenePtr scene
 
- Protected Attributes inherited from BaseObject
unsigned int id
 
std::string name
 

Detailed Description

Class to manage a particle emitter.

Constructor & Destructor Documentation

◆ OgreParticleEmitter()

OgreParticleEmitter ( )
protected

Constructor.

◆ ~OgreParticleEmitter()

virtual ~OgreParticleEmitter ( )
virtual

Destructor.


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