# ParticleCloud Class Reference

Related Scripting Object: ParticleCloud | Supported Parameter List: cloud

This class represents a Particle Cloud in a Softimage scene. More...

`#include <xsi_particlecloud.h>`

Inheritance diagram for ParticleCloud:

List of all members.

## Public Member Functions
| ParticleCloud ()
| ~ParticleCloud ()
| ParticleCloud (const CRef &in_ref)
| ParticleCloud (const ParticleCloud &in_obj)
bool | IsA (siClassID in_ClassID) const
siClassID | GetClassID () const
ParticleCloud & | operator= (const ParticleCloud &in_obj)
ParticleCloud & | operator= (const CRef &in_ref)

## Detailed Description

This class represents a Particle Cloud in a Softimage scene.

All particle-specific functionality is exposed via the ParticleCloudPrimitive, which is accessible by calling X3DObject::GetActivePrimitive.

Normally a ParticleCloud is created with the CreateParticleCloud command. Alternatively, X3DObject::AddParticleCloud will create a basic particle cloud suitable for custom simulations driven by a custom particle operator.

See also:
  Particle, ParticleCloud

Example:

              using namespace XSI;
              Application app ;

              CValueArray args(2) ;
              CValue outArg;

              //Move ahead to 1 second on the timeline
              args[0] = L"PlayControl.Current" ;
              args[1] = 30l ;
              app.ExecuteCommand( L"SetValue", args, outArg ) ;

              // Create a particle cloud using CreateParticleCloud command
              // This automatically creates a particle type and a particle emitter object

              args[0] = app.GetActiveSceneRoot().GetRef() ; //Where to add the particle cloud
              args[1] = L"grid" ; // Type of emitter object
              app.ExecuteCommand( L"CreateParticleCloud", args, outArg ) ;

              CValueArray & NewParticleClouds = outArg ;
              ParticleCloud myCloud = NewParticleClouds[0] ;

              myCloud.PutName( CString( L"CloudDemo" ) ) ;

              // Particles are accessed via the Primitive
              ParticleCloudPrimitive myParticlePrim = myCloud.GetActivePrimitive() ;

              app.LogMessage( L"There are " +
                              CValue(myParticlePrim.GetCount()).GetAsText() +
                              L" particles" );

              // Get access to the particle type associated with the cloud
              CRefArray myParticleTypes = myParticlePrim.GetParticleTypes() ;
              Property myParType = myParticleTypes[0] ;
              app.LogMessage( L"Associated particle type " + myParType.GetFullName() ) ;

## Constructor & Destructor Documentation

ParticleCloud | ( |  | ) |

Default constructor.

~ParticleCloud | ( |  | ) |

Default destructor.

ParticleCloud | ( | const CRef & | in_ref | ) |

Constructor.

Parameters:

  | in_ref | constant reference object.

ParticleCloud | ( | const ParticleCloud & | in_obj | ) |

Copy constructor.

Parameters:

  | in_obj | constant class object.

## Member Function Documentation

bool IsA | ( | siClassID | in_ClassID | ) | const`[virtual]`

Returns true if a given class type is compatible with this API class.

Parameters:

  | in_ClassID | class type.

Returns:
  true if the class is compatible, false otherwise.

Reimplemented from X3DObject.

siClassID GetClassID | ( |  | ) | const`[virtual]`

Returns the type of the API class.

Returns:
  The class type.

Reimplemented from X3DObject.

ParticleCloud& operator= | ( | const ParticleCloud & | in_obj | ) |

Creates an object from another object. The newly created object is set to empty if the input object is not compatible.

Parameters:

  | in_obj | constant class object.

Returns:
  The new ParticleCloud object.

ParticleCloud& operator= | ( | const CRef & | in_ref | ) |

Creates an object from a reference object. The newly created object is set to empty if the input reference object is not compatible.

Parameters:

  | in_ref | constant class object.

Returns:
  The new ParticleCloud object.

Reimplemented from X3DObject.

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

- xsi_particlecloud.h