|
nCine 2025.10.r510-151873a
A cross-platform 2D game engine
|
The class representing a particle system. More...
#include <ParticleSystem.h>


Public Member Functions | |
| ParticleSystem (SceneNode *parent, unsigned int count, Texture *texture) | |
| Constructs a particle system with the specified maximum amount of particles. | |
| ParticleSystem (SceneNode *parent, unsigned int count, Texture *texture, Recti texRect) | |
| Constructs a particle system with the specified maximum amount of particles and the specified texture rectangle. | |
| ParticleSystem (ParticleSystem &&) | |
| Default move constructor. | |
| ParticleSystem & | operator= (ParticleSystem &&) |
| Default move assignment operator. | |
| ParticleSystem | clone () const |
| Returns a copy of this object. | |
| void | addAffector (nctl::UniquePtr< ParticleAffector > affector) |
| Adds a particle affector. | |
| void | clearAffectors () |
| Deletes all particle affectors. | |
| void | emitParticles (const ParticleInitializer &init) |
| Emits particles with the specified initialization parameters. | |
| void | killParticles () |
| Kills all alive particles. | |
| nctl::Array< nctl::UniquePtr< ParticleAffector > > & | affectors () |
| Returns the array of particle affectors. | |
| const nctl::Array< nctl::UniquePtr< ParticleAffector > > & | affectors () const |
| Returns the constant array of particle affectors. | |
| bool | inLocalSpace (void) const |
| Returns true if particles are positioned using the particle system as their origin. | |
| void | setInLocalSpace (bool inLocalSpace) |
| Sets or clears the local space flag, to move particles around the particle system or freely. | |
| bool | isParticlesUpdateEnabled (void) const |
| Returns true if particles are updating. | |
| void | setParticlesUpdateEnabled (bool particlesUpdateEnabled) |
| Enables or disables particles updating. | |
| bool | areAffectorsEnabled (void) const |
| Returns true if affectors are modifying particles properties. | |
| void | setAffectorsEnabled (bool affectorsEnabled) |
| Enables or disables affectors modifying particles properties. | |
| unsigned int | numParticles () const |
| Returns the total number of particles in the system. | |
| unsigned int | numAliveParticles () const |
| Returns the number of particles currently alive. | |
| void | setTexture (Texture *texture) |
| Sets the texture object for every particle in the system. | |
| void | setTexRect (const Recti &rect) |
| Sets the texture source rectangle for every particle in the system. | |
| void | setAnchorPoint (float xx, float yy) |
| Sets the transformation anchor point for every particle in the system. | |
| void | setAnchorPoint (const Vector2f &point) |
Sets the transformation anchor point for every particle in the system with a Vector2f | |
| void | setFlippedX (bool flippedX) |
| Flips the texture rect horizontally for every particle in the system. | |
| void | setFlippedY (bool flippedY) |
| Flips the texture rect vertically for every particle in the system. | |
| void | setBlendingPreset (DrawableNode::BlendingPreset blendingPreset) |
| Sets the blending factors preset for every particle in the system. | |
| void | setBlendingFactors (DrawableNode::BlendingFactor srcBlendingFactor, DrawableNode::BlendingFactor destBlendingFactor) |
| Sets the source and destination blending factors for every particle in the system. | |
| void | setLayer (uint16_t layer) |
| Sets the rendering layer for every particle in the system. | |
| void | update (float frameTime) override |
| Called once every frame to update the node. | |
Public Member Functions inherited from ncine::SceneNode | |
| SceneNode (SceneNode *parent, float x, float y) | |
| Constructor for a node with a parent and a specified relative position. | |
| SceneNode (SceneNode *parent, const Vector2f &position) | |
| Constructor for a node with a parent and a specified relative position as a vector. | |
| SceneNode (SceneNode *parent) | |
| Constructor for a node with a parent and positioned in the relative origin. | |
| SceneNode () | |
| Constructor for a node with no parent and positioned in the origin. | |
| ~SceneNode () override | |
| The destructor will delete every child node. | |
| SceneNode (SceneNode &&other) | |
| Move constructor. | |
| SceneNode & | operator= (SceneNode &&other) |
| Move assignment operator. | |
| SceneNode | clone () const |
| Returns a copy of this object. | |
| const SceneNode * | parent () const |
| Returns the parent as a constant node, if there is any. | |
| SceneNode * | parent () |
| Returns the parent node, if there is any. | |
| bool | setParent (SceneNode *parentNode) |
| Sets the parent node. | |
| const nctl::Array< SceneNode * > & | children () |
| Returns the array of child nodes. | |
| const nctl::Array< const SceneNode * > & | children () const |
| Returns an array of constant child nodes. | |
| bool | addChildNode (SceneNode *childNode) |
| Adds a node as a child of this one. | |
| bool | removeChildNode (SceneNode *childNode) |
| Removes a child of this node, without reparenting nephews. | |
| bool | removeChildNodeAt (unsigned int index) |
| Removes the child at the specified index, without reparenting nephews. | |
| bool | removeAllChildrenNodes () |
| Removes all children, without reparenting nephews. | |
| bool | unlinkChildNode (SceneNode *childNode) |
| Removes a child of this node reparenting nephews as children. | |
| unsigned int | childOrderIndex () const |
| Returns the child order index of this node or zero if it does not have a parent. | |
| bool | swapChildrenNodes (unsigned int firstIndex, unsigned int secondIndex) |
| Swaps two children at the specified indices. | |
| bool | swapNodeForward () |
| Brings this node one node forward in the parent's list of children. | |
| bool | swapNodeBack () |
| Brings this node one node back in the parent's list of children. | |
| enum VisitOrderState | visitOrderState () const |
| Returns true if the node visit order is used together with the layer. | |
| void | setVisitOrderState (enum VisitOrderState visitOrderState) |
| Enables the use of the node visit order together with the layer. | |
| uint16_t | visitOrderIndex () const |
| Returns the visit drawing order of the node. | |
| virtual void | visit (RenderQueue &renderQueue, unsigned int &visitOrderIndex) |
| Draws the node and visits its children. | |
| virtual bool | draw (RenderQueue &renderQueue) |
| Renders the node. | |
| bool | isUpdateEnabled () const |
| Returns true if the node is updating. | |
| void | setUpdateEnabled (bool updateEnabled) |
| Enables or disables node updating. | |
| bool | isDrawEnabled () const |
| Returns true if the node is drawing. | |
| void | setDrawEnabled (bool drawEnabled) |
| Enables or disables node drawing. | |
| bool | isEnabled () const |
| Returns true if the node is both updating and drawing. | |
| void | setEnabled (bool isEnabled) |
| Enables or disables both node updating and drawing. | |
| Vector2f | position () const |
| Returns node position relative to its parent. | |
| Vector2f | absPosition () const |
| Returns absolute node position. | |
| void | setPosition (float x, float y) |
| Sets the node position through two coordinates. | |
| void | setPosition (const Vector2f &position) |
| Sets the node position through a vector. | |
| void | setPositionX (float x) |
| Sets the X coordinate of the node position. | |
| void | setPositionY (float y) |
| Sets the Y coordinate of the node position. | |
| void | move (float x, float y) |
| Moves the node based on two offsets. | |
| void | move (const Vector2f &position) |
| Adds a move vector to the node current position. | |
| void | moveX (float x) |
| Moves the node by an offset on the X axis. | |
| void | moveY (float y) |
| Moves the node by an offset on the Y axis. | |
| Vector2f | absAnchorPoint () const |
| Gets the absolute transformation anchor point in pixels. | |
| void | setAbsAnchorPoint (float x, float y) |
| Sets the absolute transformation anchor point in pixels. | |
| void | setAbsAnchorPoint (const Vector2f &point) |
Sets the absolute transformation anchor point in pixels with a Vector2f | |
| const Vector2f & | scale () const |
| Gets the node scale factors. | |
| const Vector2f & | absScale () const |
| Gets the node absolute scale factors. | |
| void | setScale (float scaleFactor) |
| Scales the node size both horizontally and vertically. | |
| void | setScale (float scaleFactorX, float scaleFactorY) |
| Scales the node size both horizontally and vertically. | |
| void | setScale (const Vector2f &scaleFactor) |
Scales the node size both horizontally and vertically with a Vector2f | |
| float | rotation () const |
| Gets the node rotation in degrees. | |
| float | absRotation () const |
| Gets the node absolute rotation in degrees. | |
| void | setRotation (float rotation) |
| Sets the node rotation in degrees. | |
| Color | color () const |
| Gets the node color. | |
| Color | absColor () const |
| Gets the node absolute color. | |
| void | setColor (Color color) |
Sets the node color through a Color object. | |
| void | setColorF (Colorf color) |
Sets the node color through a Colorf object. | |
| void | setColor (unsigned char red, unsigned char green, unsigned char blue, unsigned char alpha) |
| Sets the node color through unsigned char components. | |
| void | setColorF (float red, float green, float blue, float alpha) |
| Sets the node color through float components. | |
| unsigned char | alpha () const |
| Gets the node alpha. | |
| unsigned char | absAlpha () const |
| Gets the node absolute alpha. | |
| void | setAlpha (unsigned char alpha) |
| Sets the node alpha through an unsigned char component. | |
| void | setAlphaF (float alpha) |
| Sets the node alpha through a float component. | |
| uint16_t | layer () const |
| Gets the node rendering layer. | |
| uint16_t | absLayer () const |
| Gets the node absolute rendering layer. | |
| void | setLayer (uint16_t layer) |
| Sets the node rendering layer. | |
| const Matrix4x4f & | worldMatrix () const |
| Gets the node world matrix. | |
| void | setWorldMatrix (const Matrix4x4f &worldMatrix) |
Sets the node world matrix (only useful when called inside onPostUpdate()) | |
| const Matrix4x4f & | localMatrix () const |
| Gets the node local matrix. | |
| void | setLocalMatrix (const Matrix4x4f &localMatrix) |
| Sets the node local matrix. | |
| bool | deleteChildrenOnDestruction () const |
| Gets the delete children on destruction flag. | |
| void | setDeleteChildrenOnDestruction (bool shouldDeleteChildrenOnDestruction) |
| Sets the delete children on destruction flag. | |
| unsigned long int | lastFrameUpdated () const |
| Returns the last frame in which any of the viewports have updated this node. | |
Public Member Functions inherited from ncine::Object | |
| Object (ObjectType type) | |
| Constructs an object with a specified type and adds it to the index. | |
| Object (ObjectType type, const char *name) | |
| Constructs an object with a specified type and name and adds it to the index. | |
| virtual | ~Object () |
| Removes an object from the index and then destroys it. | |
| Object (Object &&other) | |
| Move constructor. | |
| Object & | operator= (Object &&other) |
| Move assignment operator. | |
| unsigned int | id () const |
| Returns the object identification number. | |
| ObjectType | type () const |
| Returns the object type (RTTI) | |
| const char * | name () const |
| Returns the object name. | |
| void | setName (const char *name) |
| Sets the object name. | |
Static Public Member Functions | |
| static ObjectType | sType () |
Static Public Member Functions inherited from ncine::SceneNode | |
| static ObjectType | sType () |
Static Public Member Functions inherited from ncine::Object | |
| static ObjectType | sType () |
| Static method to return class type. | |
| template<class T > | |
| static T * | fromId (unsigned int id) |
| Returns a casted pointer to the object with the specified id, if any exists. | |
Protected Member Functions | |
| ParticleSystem (const ParticleSystem &other) | |
| Protected copy constructor used to clone objects. | |
Protected Member Functions inherited from ncine::SceneNode | |
| SceneNode & | operator= (const SceneNode &)=delete |
| Deleted assignment operator. | |
| SceneNode (const SceneNode &other) | |
| Protected copy constructor used to clone objects. | |
| void | swapChildPointer (SceneNode *first, SceneNode *second) |
| Swaps the child pointer of a parent when moving an object. | |
| virtual void | transform () |
Protected Member Functions inherited from ncine::Object | |
| Object (const Object &other) | |
| Protected copy constructor used to clone objects. | |
Additional Inherited Members | |
Public Types inherited from ncine::SceneNode | |
| enum class | VisitOrderState { ENABLED , DISABLED , SAME_AS_PARENT } |
Public Types inherited from ncine::Object | |
| enum class | ObjectType { BASE = 0 , TEXTURE , SHADER , SCENENODE , SPRITE , MESH_SPRITE , ANIMATED_SPRITE , PARTICLE , PARTICLE_SYSTEM , FONT , TEXTNODE , AUDIOBUFFER , AUDIOBUFFER_PLAYER , AUDIOSTREAM_PLAYER } |
| Object types. | |
Static Public Attributes inherited from ncine::SceneNode | |
| static const float | MinRotation = 0.5f |
| The minimum amount of rotation to trigger a sine and cosine calculation. | |
Static Public Attributes inherited from ncine::Object | |
| static const unsigned int | MaxNameLength = 128 |
| Maximum length for an object name. | |
Protected Types inherited from ncine::SceneNode | |
| enum | DirtyBitPositions { TransformationBit = 0 , ColorBit = 1 , SizeBit = 2 , TextureBit = 3 , AabbBit = 4 , TransformationUploadBit = 5 , ColorUploadBit = 6 } |
| Bit positions inside the dirty bitset. | |
Protected Attributes inherited from ncine::SceneNode | |
| bool | updateEnabled_ |
| bool | drawEnabled_ |
| SceneNode * | parent_ |
| A pointer to the parent node. | |
| nctl::Array< SceneNode * > | children_ |
| The array of child nodes. | |
| unsigned int | childOrderIndex_ |
| The order index of this node among its siblings. | |
| bool | withVisitOrder_ |
| When enabled the visit order is used to resolve the drawing order of same layer nodes. | |
| enum VisitOrderState | visitOrderState_ |
| The visit order state of this node. | |
| uint16_t | visitOrderIndex_ |
| The visit order index of this node. | |
| Vector2f | position_ |
| The node relative position. | |
| Vector2f | anchorPoint_ |
| Vector2f | scaleFactor_ |
| Horizontal and vertical scale factors for node size. | |
| float | rotation_ |
| Degrees for clock-wise node rotation in degrees. | |
| Color | color_ |
| Node color for transparency and translucency. | |
| uint16_t | layer_ |
| The node rendering layer. | |
| Vector2f | absPosition_ |
Absolute position as calculated by the transform() function. | |
| Vector2f | absScaleFactor_ |
Absolute horizontal and vertical scale factors as calculated by the transform() function. | |
| float | absRotation_ |
Absolute node rotation as calculated by the transform() function. | |
| Color | absColor_ |
Absolute node color as calculated by the transform() function. | |
| uint16_t | absLayer_ |
Absolute node rendering layer as calculated by the transform() function. | |
| Matrix4x4f | worldMatrix_ |
| World transformation matrix (calculated from local and parent's world) | |
| Matrix4x4f | localMatrix_ |
| Local transformation matrix. | |
| bool | shouldDeleteChildrenOnDestruction_ |
| A flag indicating whether the destructor should also delete all children. | |
| nctl::BitSet< uint8_t > | dirtyBits_ |
| Bitset that stores the various dirty states bits. | |
| unsigned long int | lastFrameUpdated_ |
| The last frame any viewport updated this node. | |
Protected Attributes inherited from ncine::Object | |
| ObjectType | type_ |
| Object type. | |
The class representing a particle system.
|
overridevirtual |
Called once every frame to update the node.
Reimplemented from ncine::SceneNode.