Class to manage a particle emitter. More...
#include <ParticleEmitter.hh>
Public Member Functions | |
virtual | ~ParticleEmitter () |
Destructor. | |
virtual gz::math::Color | ColorEnd () const =0 |
Get the end color of the particles. | |
virtual std::string | ColorRangeImage () const =0 |
Get the path to the color image used as an affector. | |
virtual gz::math::Color | ColorStart () const =0 |
Get the starting color of the particles. | |
virtual double | Duration () const =0 |
Get the number of seconds the emitter is active. A value of 0 means infinite duration. | |
virtual gz::math::Vector3d | EmitterSize () const =0 |
Get the size of the emitter where the particles are sampled. | |
virtual bool | Emitting () const =0 |
Is the particle emitter enabled? | |
virtual double | Lifetime () const =0 |
Get the number of seconds each particle will ’live’ for before being destroyed. | |
virtual double | MaxVelocity () const =0 |
Get the maximum velocity each particle is emitted (m/s). | |
virtual double | MinVelocity () const =0 |
Get the minimum velocity each particle is emitted (m/s). | |
virtual float | ParticleScatterRatio () const =0 |
Get the particle scatter ratio. | |
virtual gz::math::Vector3d | ParticleSize () const =0 |
Get the particle dimensions (width, height, depth). | |
virtual double | Rate () const =0 |
Get how many particles per second should be emitted. | |
virtual double | ScaleRate () const =0 |
Get the amount by which to scale the particles in both x and y direction per second. Default value is 1. | |
virtual void | SetColorRange (const gz::math::Color &_colorStart, const gz::math::Color &_colorEnd)=0 |
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(). | |
virtual void | SetColorRangeImage (const std::string &_image)=0 |
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(). | |
virtual void | SetDuration (double _duration)=0 |
Set the number of seconds the emitter is active. A value of 0 means infinite duration. Default value is 0. | |
virtual void | SetEmitterSize (const gz::math::Vector3d &_size)=0 |
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: | |
virtual void | SetEmitting (bool _enable)=0 |
This is used to turn on or off particle emission. Default value is false. | |
virtual void | SetLifetime (double _lifetime)=0 |
Set the number of seconds each particle will ’live’ for before being destroyed. Default value is 5. | |
virtual void | SetParticleScatterRatio (float _ratio)=0 |
Set the particle scatter ratio. | |
virtual void | SetParticleSize (const gz::math::Vector3d &_size)=0 |
Set the particle dimensions (width, height, depth). Default value is {1, 1, 1}. | |
virtual void | SetRate (double _rate)=0 |
Set how many particles per second should be emitted. Default value is 10. | |
virtual void | SetScaleRate (double _scaleRate)=0 |
Set the amount by which to scale the particles in both x and y direction per second. | |
virtual void | SetType (const EmitterType _type)=0 |
Set the emitter type. Default value is EM_POINT. | |
virtual void | SetVelocityRange (double _minVelocity, double _maxVelocity)=0 |
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. | |
virtual EmitterType | Type () const =0 |
Get the emitter type. | |
Public Member Functions inherited from Visual | |
virtual | ~Visual () |
Destructor. | |
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. | |
virtual void | AddVisibilityFlags (uint32_t _flags)=0 |
Add visibility flags. | |
virtual gz::math::AxisAlignedBox | BoundingBox () const =0 |
Get the bounding box in world frame coordinates. | |
virtual VisualPtr | Clone (const std::string &_name, NodePtr _newParent) const =0 |
Clone the visual (and its children) with a new name. | |
virtual GeometryPtr | GeometryByIndex (unsigned int _index) const =0 |
Get geometry at given index. If no geometry exists at given index, NULL will be returned. | |
virtual unsigned int | GeometryCount () const =0 |
Get the number of geometries attached to this visual. | |
virtual bool | HasGeometry (ConstGeometryPtr _geometry) const =0 |
Determine if given geometry is attached to this visual. | |
virtual gz::math::AxisAlignedBox | LocalBoundingBox () const =0 |
Get the local bounding box of the visual. | |
virtual MaterialPtr | Material () const =0 |
Get the material assigned to attached visuals and geometries. | |
virtual void | RemoveGeometries ()=0 |
Remove all attached geometries from this visual. | |
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. | |
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. | |
virtual void | RemoveVisibilityFlags (uint32_t _flags)=0 |
Remove visibility flags. | |
virtual void | SetChildMaterial (MaterialPtr _material, bool _unique=true)=0 |
Set the material for all attached visuals only. | |
virtual void | SetGeometryMaterial (MaterialPtr _material, bool _unique=true)=0 |
Set the material for all attached geometries only. | |
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. | |
virtual void | SetMaterial (MaterialPtr _material, bool _unique=true)=0 |
Set the material for all attached visuals and geometries. | |
virtual void | SetStatic (bool _static)=0 |
Tells Render Engine this Visual will be static (i.e. won't move, rotate or scale) You can still move, rotate or scale the Visual; however doing so has a performance impact. How much of an impact will depend on the rendering backend being used. | |
virtual void | SetVisibilityFlags (uint32_t _flags)=0 |
Set visibility flags. | |
virtual void | SetVisible (bool _visible)=0 |
Specify if this visual is visible. | |
virtual void | SetWireframe (bool _show)=0 |
Enable or disable wireframe. | |
virtual bool | Static () const =0 |
Get whether the visual is static. | |
virtual uint32_t | VisibilityFlags () const =0 |
Get visibility flags. | |
virtual bool | Wireframe () const =0 |
Get whether wireframe is enabled for this visual. | |
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 void | PostRender ()=0 |
Post process this object and any of its children after rendering. | |
virtual void | PreRender ()=0 |
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 ScenePtr | Scene () const =0 |
Get the Scene that created this object. | |
Detailed Description
Class to manage a particle emitter.
Constructor & Destructor Documentation
◆ ~ParticleEmitter()
|
virtual |
Destructor.
Member Function Documentation
◆ ColorEnd()
|
pure virtual |
Get the end color of the particles.
- Returns
- End color.
- See also
- ColorStart
- SetColorRange
Implemented in BaseParticleEmitter< T >, BaseParticleEmitter< Ogre2Visual >, and BaseParticleEmitter< OgreVisual >.
◆ ColorRangeImage()
|
pure virtual |
Get the path to the color image used as an affector.
- Returns
- The color image name or empty string if the image is not set.
- See also
- SetColorRangeImage
Implemented in BaseParticleEmitter< T >, BaseParticleEmitter< Ogre2Visual >, and BaseParticleEmitter< OgreVisual >.
◆ ColorStart()
|
pure virtual |
Get the starting color of the particles.
- Returns
- Start color.
- See also
- ColorEnd
- SetColorRange
Implemented in BaseParticleEmitter< T >, BaseParticleEmitter< Ogre2Visual >, and BaseParticleEmitter< OgreVisual >.
◆ Duration()
|
pure virtual |
Get the number of seconds the emitter is active. A value of 0 means infinite duration.
- Returns
- Total duration of the emitter (seconds).
- See also
- SetDuration
Implemented in BaseParticleEmitter< T >, BaseParticleEmitter< Ogre2Visual >, and BaseParticleEmitter< OgreVisual >.
◆ EmitterSize()
|
pure virtual |
Get the size of the emitter where the particles are sampled.
- Returns
- The emitter size. See SetEmitterSize() for the interpretation of the dimensions depending on the emitter type.
- See also
- SetEmitterSize
Implemented in BaseParticleEmitter< T >, BaseParticleEmitter< Ogre2Visual >, and BaseParticleEmitter< OgreVisual >.
◆ Emitting()
|
pure virtual |
Is the particle emitter enabled?
- Returns
- True when enabled or false otherwise.
- See also
- SetEmitting
Implemented in BaseParticleEmitter< T >, BaseParticleEmitter< Ogre2Visual >, and BaseParticleEmitter< OgreVisual >.
◆ Lifetime()
|
pure virtual |
Get the number of seconds each particle will ’live’ for before being destroyed.
- Returns
- Lifetime of each particle (seconds).
- See also
- SetLifetime
Implemented in BaseParticleEmitter< T >, BaseParticleEmitter< Ogre2Visual >, and BaseParticleEmitter< OgreVisual >.
◆ MaxVelocity()
|
pure virtual |
Get the maximum velocity each particle is emitted (m/s).
- Returns
- Maximum velocity.
- See also
- MinVelocity
- SetVelocityRange
Implemented in BaseParticleEmitter< T >, BaseParticleEmitter< Ogre2Visual >, and BaseParticleEmitter< OgreVisual >.
◆ MinVelocity()
|
pure virtual |
Get the minimum velocity each particle is emitted (m/s).
- Returns
- Minimum velocity.
- See also
- MaxVelocity
- SetVelocityRange
Implemented in BaseParticleEmitter< T >, BaseParticleEmitter< Ogre2Visual >, and BaseParticleEmitter< OgreVisual >.
◆ ParticleScatterRatio()
|
pure virtual |
Get the particle scatter ratio.
- Returns
- The particle scatter ratio.
- See also
- SetParticleScatterRatio
Implemented in BaseParticleEmitter< T >, BaseParticleEmitter< Ogre2Visual >, and BaseParticleEmitter< OgreVisual >.
◆ ParticleSize()
|
pure virtual |
Get the particle dimensions (width, height, depth).
- Returns
- Particle dimensions.
- See also
- SetParticleSize
Implemented in BaseParticleEmitter< T >, BaseParticleEmitter< Ogre2Visual >, and BaseParticleEmitter< OgreVisual >.
◆ Rate()
|
pure virtual |
Get how many particles per second should be emitted.
- Returns
- Particles per second.
- See also
- SetRate
Implemented in BaseParticleEmitter< T >, BaseParticleEmitter< Ogre2Visual >, and BaseParticleEmitter< OgreVisual >.
◆ ScaleRate()
|
pure virtual |
Get the amount by which to scale the particles in both x and y direction per second. Default value is 1.
- Returns
- The scale rate.
- See also
- SetScaleRate
Implemented in BaseParticleEmitter< T >, BaseParticleEmitter< Ogre2Visual >, and BaseParticleEmitter< OgreVisual >.
◆ SetColorRange()
|
pure virtual |
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().
- Parameters
-
[in] _colorStart Start color. [in] _colorEnd End color.
- See also
- ColorStart
- ColorEnd
Implemented in BaseParticleEmitter< T >, BaseParticleEmitter< Ogre2Visual >, BaseParticleEmitter< OgreVisual >, and Ogre2ParticleEmitter.
◆ SetColorRangeImage()
|
pure virtual |
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().
- Parameters
-
[in] _image The color image name.
- See also
- ColorRangeImage
Implemented in BaseParticleEmitter< T >, BaseParticleEmitter< Ogre2Visual >, BaseParticleEmitter< OgreVisual >, and Ogre2ParticleEmitter.
◆ SetDuration()
|
pure virtual |
Set the number of seconds the emitter is active. A value of 0 means infinite duration. Default value is 0.
- Parameters
-
[in] _duration Total duration of the emitter (seconds).
- See also
- Duration
Implemented in BaseParticleEmitter< T >, BaseParticleEmitter< Ogre2Visual >, BaseParticleEmitter< OgreVisual >, and Ogre2ParticleEmitter.
◆ SetEmitterSize()
|
pure virtual |
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:
- EM_POINT: The area is ignored.
- EM_BOX: The area is interpreted as width X height X depth.
- EM_CYLINDER: The area is interpreted as the bounding box of the cylinder. The cylinder is oriented along the Z-axis.
- EM_ELLIPSOID: The area is interpreted as the bounding box of an ellipsoid shaped area, i.e. a sphere or squashed-sphere area. The parameters are again identical to EM_BOX, except that the dimensions describe the widest points along each of the axes.
- Parameters
-
[in] _size Size of the emitter (width, height, depth).
- See also
- EmitterSize
Implemented in BaseParticleEmitter< T >, BaseParticleEmitter< Ogre2Visual >, BaseParticleEmitter< OgreVisual >, and Ogre2ParticleEmitter.
◆ SetEmitting()
|
pure virtual |
This is used to turn on or off particle emission. Default value is false.
- Parameters
-
[in] _enable True for enabling the emission or false otherwise.
- See also
- Emitting
Implemented in BaseParticleEmitter< T >, BaseParticleEmitter< Ogre2Visual >, BaseParticleEmitter< OgreVisual >, and Ogre2ParticleEmitter.
◆ SetLifetime()
|
pure virtual |
Set the number of seconds each particle will ’live’ for before being destroyed. Default value is 5.
- Parameters
-
[in] _lifetime Lifetime of each particle (seconds).
- See also
- Lifetime
Implemented in BaseParticleEmitter< T >, BaseParticleEmitter< Ogre2Visual >, BaseParticleEmitter< OgreVisual >, and Ogre2ParticleEmitter.
◆ SetParticleScatterRatio()
|
pure virtual |
Set the particle scatter ratio.
- Parameters
-
[in] _ratio The scatter ratio. The particle emitter's scatter ratio will only be set to _ratio if _ratio > 0.
- See also
- ParticleScatterRatio
Implemented in BaseParticleEmitter< T >, BaseParticleEmitter< Ogre2Visual >, and BaseParticleEmitter< OgreVisual >.
◆ SetParticleSize()
|
pure virtual |
Set the particle dimensions (width, height, depth). Default value is {1, 1, 1}.
- Parameters
-
[in] _size Particle dimensions.
- See also
- ParticleSize
Implemented in BaseParticleEmitter< T >, BaseParticleEmitter< Ogre2Visual >, BaseParticleEmitter< OgreVisual >, and Ogre2ParticleEmitter.
◆ SetRate()
|
pure virtual |
Set how many particles per second should be emitted. Default value is 10.
- Parameters
-
[in] _rate Particles per second.
- See also
- Rate
Implemented in BaseParticleEmitter< T >, BaseParticleEmitter< Ogre2Visual >, BaseParticleEmitter< OgreVisual >, and Ogre2ParticleEmitter.
◆ SetScaleRate()
|
pure virtual |
Set the amount by which to scale the particles in both x and y direction per second.
- Parameters
-
[in] _scaleRate The scale rate.
- See also
- ScaleRate
Implemented in BaseParticleEmitter< T >, BaseParticleEmitter< Ogre2Visual >, BaseParticleEmitter< OgreVisual >, and Ogre2ParticleEmitter.
◆ SetType()
|
pure virtual |
Set the emitter type. Default value is EM_POINT.
- Parameters
-
[in] _type Emitter type.
- See also
- EmitterType.
- Type.
Implemented in BaseParticleEmitter< T >, BaseParticleEmitter< Ogre2Visual >, BaseParticleEmitter< OgreVisual >, and Ogre2ParticleEmitter.
◆ SetVelocityRange()
|
pure virtual |
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.
- Parameters
-
[in] _minVelocity Minimum velocity. [in] _maxVelocity Maximum velocity.
- See also
- MinVelocity
- MaxVelocity
Implemented in BaseParticleEmitter< T >, BaseParticleEmitter< Ogre2Visual >, BaseParticleEmitter< OgreVisual >, and Ogre2ParticleEmitter.
◆ Type()
|
pure virtual |
Get the emitter type.
- Returns
- Emitter type.
- See also
- EmitterType.
- SetType.
Implemented in BaseParticleEmitter< T >, BaseParticleEmitter< Ogre2Visual >, and BaseParticleEmitter< OgreVisual >.
The documentation for this class was generated from the following file: