## Public API Reference

- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# iParticle Struct Reference
[Mesh plugins, Mesh plugins]

A iParticle can be used in particle Systems. More...

`#include <imesh/particle.h>`

Inheritance diagram for iParticle:

[legend]
List of all members.

## Public Member Functions

virtual void | AddColor (const csColor &col)=0
| Add color to the color of the sprite.
virtual csRenderMesh ** | GetRenderMeshes (int &n, iRenderView *rview, iMovable *movable, uint32 frustum_mask)=0
| Get the rendermesh(es) of this particle.
virtual void | MovePosition (const csVector3 &move)=0
| Move the particle relative to position.
virtual void | Rotate (float angle)=0
| Rotate the particle is some particle dependent manner, in radians.
virtual void | ScaleBy (float factor)=0
| Scale particle by this factor.
virtual void | SetColor (const csColor &col)=0
| Set the color of this particle.
virtual void | SetMixMode (uint mode)=0
| Set the MixMode for the particle.
virtual void | SetPosition (const csVector3 &pos)=0
| Set the position of this particle in coordinates relative to the parent particle system.
virtual void | UpdateLighting (const csArray< iLightSectorInfluence * > &lights, const csReversibleTransform &transform)=0
| Light this particle.

## Detailed Description

A iParticle can be used in particle Systems.

Each particle may perform these operations in it's own manner, Or even do nothing at some of the functions. If some are not implemented, functionality depending on that feature may not work.

Definition at line 52 of file particle.h.

## Member Function Documentation

virtual void iParticle::AddColor | ( | const csColor & | col | ) | `[pure virtual]`

| Add color to the color of the sprite.

virtual csRenderMesh** iParticle::GetRenderMeshes | ( | int & | n,
|  | iRenderView * | rview,
|  | iMovable * | movable,
|  | uint32 | frustum_mask
| ) | `[pure virtual]`

| Get the rendermesh(es) of this particle.

virtual void iParticle::MovePosition | ( | const csVector3 & | move | ) | `[pure virtual]`

| Move the particle relative to position.

virtual void iParticle::Rotate | ( | float | angle | ) | `[pure virtual]`

| Rotate the particle is some particle dependent manner, in radians.

virtual void iParticle::ScaleBy | ( | float | factor | ) | `[pure virtual]`

| Scale particle by this factor.

virtual void iParticle::SetColor | ( | const csColor & | col | ) | `[pure virtual]`

| Set the color of this particle.

virtual void iParticle::SetMixMode | ( | uint | mode | ) | `[pure virtual]`

| Set the MixMode for the particle.

virtual void iParticle::SetPosition | ( | const csVector3 & | pos | ) | `[pure virtual]`

| Set the position of this particle in coordinates relative to the parent particle system.

virtual void iParticle::UpdateLighting | ( | const csArray< iLightSectorInfluence * > & | lights,
|  | const csReversibleTransform & | transform
| ) | `[pure virtual]`

| Light this particle. The given transform is the transform of the parent particle system. The position of this particle should be relative to that transform.

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

- imesh/particle.h