C++ API Reference
MFnParticleSystem Class Reference

Class for obtaining information about a particle system. More...

#include <MFnParticleSystem.h>

+ Inheritance diagram for MFnParticleSystem:

Public Types

enum  RenderType {
  kCloud, kTube, kBlobby, kMultiPoint,
  kMultiStreak, kNumeric, kPoints, kSpheres,
  kSprites, kStreak
}
 Ways in which particles can be rendered. More...
 
- Public Types inherited from MFnDagNode
enum  { kNextPos = 0xff }
 Anonymous enum to store constant values. More...
 
enum  MObjectColorType { kUseDefaultColor = 0, kUseIndexColor, kUseRGBColor }
 Enum to set how an object is colored. More...
 
- Public Types inherited from MFnDependencyNode
enum  MAttrClass { kLocalDynamicAttr = 1, kNormalAttr, kExtensionAttr, kInvalidAttr }
 Specifies the scope of the attribute. More...
 
enum  MdgTimerState { kTimerOff, kTimerOn, kTimerUninitialized, kTimerInvalidState }
 Possible states for the node's timer. More...
 
enum  MdgTimerMetric {
  kTimerMetric_callback, kTimerMetric_compute, kTimerMetric_dirty, kTimerMetric_draw,
  kTimerMetric_fetch, kTimerMetric_callbackViaAPI, kTimerMetric_callbackNotViaAPI, kTimerMetric_computeDuringCallback,
  kTimerMetric_computeNotDuringCallback, kTimerMetrics
}
 The different timer metrics which can be queried. More...
 
enum  MdgTimerType { kTimerType_self, kTimerType_inclusive, kTimerType_count, kTimerTypes }
 The types of timers which can be queried. More...
 

Public Member Functions

virtual MFn::Type type () const
 Function set type. More...
 
virtual ~MFnParticleSystem ()
 Destructor. More...
 
 MFnParticleSystem ()
 Default constructor.
 
 MFnParticleSystem (MObject &object, MStatus *ReturnStatus=NULL)
 Constructor. More...
 
 MFnParticleSystem (const MDagPath &object, MStatus *ret=NULL)
 Constructor. More...
 
MObject create (MStatus *status=NULL)
 To create a new particleShape with a transform. More...
 
MObject create (MObject parent, MStatus *status=NULL)
 To create a new particleShape. More...
 
MStatus emit (const MPoint &position)
 To add a new particle at the given position. More...
 
MStatus emit (const MPointArray &positionArray)
 To add an array of new particles at the given positions. More...
 
MStatus emit (const MPoint &position, const MVector &velocity)
 To add a new particle at the position with its velocity. More...
 
MStatus emit (const MPointArray &positionArray, const MVectorArray &velocityArray)
 To add an array of new particles at the given positions with their velocity values. More...
 
MStatus saveInitialState () const
 To reset the particle's current state as the initial state. More...
 
void evaluateDynamics (MTime &to, bool runupFromStart)
 Run up the particle system to a certain frame, from either the current frame, or from the start of the simulation. More...
 
bool isValid () const
 Returns false if the particle array is nullptr. More...
 
MString particleName () const
 Returns the name of this particle system.
 
unsigned int count () const
 Returns the particle count at the current frame.
 
void setCount (unsigned int) const
 Set the particle count at the current frame. More...
 
RenderType renderType () const
 Return the render type used by the particle object.
 
void position (MVectorArray &) const
 Compute each particle's position at the start of the time step. More...
 
void velocity (MVectorArray &) const
 To return velocity array for all particles. More...
 
void acceleration (MVectorArray &) const
 To return acceleration array for all particles. More...
 
void position0 (MVectorArray &) const
 Only for use with an MFnParticleSystem of renderType kTube. More...
 
void position1 (MVectorArray &) const
 Only for use with an MFnParticleSystem of renderType kTube. More...
 
void radius (MDoubleArray &) const
 Calculates particle radii. More...
 
void radius0 (MDoubleArray &) const
 Only for use with an MFnParticleSystem of renderType kTube. More...
 
void radius1 (MDoubleArray &) const
 Only for use with an MFnParticleSystem of renderType kTube. More...
 
double surfaceShading () const
 Only for use with an MFnParticleSystem of renderType kCloud. More...
 
double threshold () const
 Only for use with an MFnParticleSystem of renderType kCloud or kBlobby. More...
 
bool betterIllum () const
 Only for use with an MFnParticleSystem of renderType kCloud. More...
 
bool flatShaded () const
 To check if a particle shape of cloud type is flat shaded. More...
 
bool disableCloudAxis () const
 Only for use with an MFnParticleSystem of renderType kCloud. More...
 
double tailSize () const
 Only for use with an MFnParticleSystem of renderType kTube. More...
 
void particleIds (MIntArray &) const
 Return an array of particle identifiers at the start of the time step. More...
 
void age (MDoubleArray &) const
 Populates the given array with the age values of the particles in this system.
 
void lifespan (MDoubleArray &) const
 Populates the given array with the lifespan values of the particles in this system, if the particles have this attribute. More...
 
void rgb (MVectorArray &) const
 Populates the given array with the color values of the particles in this system, if the particles have this attribute. More...
 
void opacity (MDoubleArray &) const
 Populates the given array with the opacity values of the particles in this system, if the particles have this attribute. More...
 
void mass (MDoubleArray &) const
 To return mass array for all particles. More...
 
void emission (MVectorArray &) const
 Populates the given array with the incandescence values of the particles in this system, if the particles have this attribute. More...
 
bool hasLifespan () const
 Returns whether or not the particles in this system have a lifespan attribute. More...
 
bool hasRgb () const
 Returns whether or not the particles in this system have an rgb attribute. More...
 
bool hasOpacity () const
 Returns whether or not the particles in this system have an opacity attribute. More...
 
bool hasEmission () const
 Returns whether or not the particles in this system have an emission attribute. More...
 
bool primaryVisibility () const
 Returns whether or not the rendering attribute for primary visibility in reflections has been enabled.
 
bool visibleInReflections () const
 Returns whether or not the rendering attribute for particle visibility in reflections has been enabled.
 
bool visibleInRefractions () const
 Returns whether or not the rendering attribute for particle visibility in refractions has been enabled.
 
bool castsShadows () const
 Returns whether or not the rendering attribute for particles casting shadows has been enabled.
 
bool receiveShadows () const
 Returns whether or not the rendering attribute for particles receiving shadows has been enabled.
 
unsigned int getPerParticleAttribute (const MString &attrName, MIntArray &, MStatus *status=NULL) const
 To get per particle integer attribute with its attribute name. More...
 
unsigned int getPerParticleAttribute (const MString &attrName, MVectorArray &, MStatus *status=NULL) const
 To get the per particle vector attribute of the given name. More...
 
unsigned int getPerParticleAttribute (const MString &attrName, MDoubleArray &, MStatus *status=NULL) const
 To get the per particle double attribute of the given name. More...
 
void setPerParticleAttribute (const MString &attrName, MVectorArray &, MStatus *status=NULL) const
 To set the per particle vector attribute of the given name with the given values. More...
 
void setPerParticleAttribute (const MString &attrName, MDoubleArray &, MStatus *status=NULL) const
 To set the per particle double attribute of the given name with the given values. More...
 
bool isPerParticleIntAttribute (const MString &attrName, MStatus *status=NULL) const
 To check if the input attribute is a per particle integer attribute. More...
 
bool isPerParticleDoubleAttribute (const MString &attrName, MStatus *status=NULL) const
 To check if the input attribute is a per particle double attribute. More...
 
bool isPerParticleVectorAttribute (const MString &attrName, MStatus *status=NULL) const
 To check if the input attribute is a per particle vector attribute. More...
 
bool isDeformedParticleShape (MStatus *status=NULL) const
 To return if this particle shape is deformed. More...
 
MObject deformedParticleShape (MStatus *status=NULL) const
 To get the deformed particleShape. More...
 
MObject originalParticleShape (MStatus *status=NULL) const
 To get the original particleShape. More...
 
 MFnParticleSystem (const MObject &object, MStatus *ret=NULL)
 Constructor. More...
 
- Public Member Functions inherited from MFnDagNode
virtual ~MFnDagNode ()
 Destructor. More...
 
 MFnDagNode ()
 Class Constructor. More...
 
 MFnDagNode (MObject &object, MStatus *ret=NULL)
 This method is not available in Python. More...
 
 MFnDagNode (const MDagPath &object, MStatus *ret=NULL)
 Class Constructor. More...
 
MObject create (const MTypeId &typeId, MObject &parent=MObject::kNullObj, MStatus *ReturnStatus=NULL)
 Creates a new DAG node with the given type tag. More...
 
MObject create (const MTypeId &typeId, const MString &name, MObject &parent=MObject::kNullObj, MStatus *ReturnStatus=NULL)
 Creates a new DAG node with the given type tag. More...
 
MObject create (const MString &type, MObject &parent=MObject::kNullObj, MStatus *ReturnStatus=NULL)
 Creates a new DAG node with the given type tag. More...
 
MObject create (const MString &type, const MString &name, MObject &parent=MObject::kNullObj, MStatus *ReturnStatus=NULL)
 Creates a new DAG node with the given type tag. More...
 
unsigned int parentCount (MStatus *ReturnStatus=NULL) const
 Determines the number of parent Nodes of the Node. More...
 
MObject parent (unsigned int i, MStatus *ReturnStatus=NULL) const
 Queries the DAG Node attached to the Function Set for the parent Node corresponding to the given index. More...
 
MStatus addChild (MObject &child, unsigned int index=kNextPos, bool keepExistingParents=false)
 Makes the given DAG Node a child of the DAG Node to which this instance of the Function Set is attached. More...
 
MStatus removeChild (MObject &child)
 Removes the given DAG Node from the parent. More...
 
MStatus removeChildAt (unsigned int index)
 Removes the child at the given index from the parent. More...
 
unsigned int childCount (MStatus *ReturnStatus=NULL) const
 Determines the number of child Nodes of the Node. More...
 
MObject child (unsigned int i, MStatus *ReturnStatus=NULL) const
 Queries the DAG Node attached to the Function Set for the child Node corresponding to the given index. More...
 
MObject dagRoot (MStatus *ReturnStatus=NULL)
 Determines the root of the first DAG Path to the DAG Node attached to the Function Set. More...
 
bool hasParent (const MObject &node, MStatus *ReturnStatus=NULL) const
 Determines whether or not the given Node is a parent of the DAG Node attached to the Function Set. More...
 
bool hasChild (const MObject &node, MStatus *ReturnStatus=NULL) const
 Determines whether or not the given Node is a child of the DAG Node attached to the Function Set. More...
 
bool isChildOf (const MObject &node, MStatus *ReturnStatus=NULL) const
 Determines whether or not the DAG Node attached to the Function Set is a child of the given node. More...
 
bool isParentOf (const MObject &node, MStatus *ReturnStatus=NULL) const
 Determines whether or not the DAG Node attached to the Function Set is a parent of the given node. More...
 
bool inUnderWorld (MStatus *ReturnStatus=NULL) const
 Determines whether or not the DAG Node is an underworld node. More...
 
bool inModel (MStatus *ReturnStatus=NULL) const
 Determines whether or not the DAG Node is in the model. More...
 
bool isInstanceable (MStatus *ReturnStatus=NULL) const
 Returns true if the DAG node can be instanced, and false otherwise. More...
 
MStatus setInstanceable (const bool how)
 Sets whether or not the DAG node is instanceable. More...
 
bool isInstanced (bool indirect=true, MStatus *ReturnStatus=NULL) const
 Determines whether the DAG Node attached to the Function Set is directly or indirectly instanced. More...
 
bool isInstancedAttribute (const MObject &attr, MStatus *ReturnStatus=NULL) const
 Returns true if the specified attribute is instanced. More...
 
unsigned int instanceCount (bool total, MStatus *ReturnStatus=NULL) const
 Determines the number of times the Node attached to the Function Set is instanced. More...
 
MObject duplicate (bool instance=false, bool instanceLeaf=false, MStatus *ReturnStatus=NULL) const
 This method duplicates the DAG hierarchy rooted at the current node. More...
 
MStatus getPath (MDagPath &path) const
 Returns a DAG Path to the DAG Node attached to the Function Set. More...
 
MStatus getAllPaths (MDagPathArray &paths) const
 Determines all DAG Paths to the DAG Node attached to the Function Set. More...
 
MString fullPathName (MStatus *ReturnStatus=NULL) const
 Return a string representing the full path from the root of the dag to this object. More...
 
MString partialPathName (MStatus *ReturnStatus=NULL) const
 Return a string representing the partial path from the root of the dag to this object. More...
 
MMatrix transformationMatrix (MStatus *ReturnStatus=NULL) const
 Returns the object space transformation matrix for this DAG node. More...
 
bool isIntermediateObject (MStatus *ReturnStatus=NULL) const
 Returns true if this object is an intermediate in a geometry calculation. More...
 
MStatus setIntermediateObject (bool isIntermediate)
 Sets whether this object is an intermediate in a geometry calculation. More...
 
int objectColor (MStatus *ReturnStatus=NULL) const
 This method is obsolete. More...
 
MStatus setObjectColor (int color)
 Sets the index for the current user defined inactive color used by the node. More...
 
bool usingObjectColor (MStatus *ReturnStatus=NULL) const
 This method is obsolete. More...
 
MStatus setUseObjectColor (bool useObjectColor)
 This method is obsolete. More...
 
MObjectColorType objectColorType (MStatus *ReturnStatus=NULL) const
 Determines whether or not the user defined inactive color will be used for the node, or whether the default inactive color will be used. More...
 
MStatus setObjectColorType (MObjectColorType type)
 Sets whether or not the user defined inactive object color will be used. More...
 
MStatus setObjectColor (const MColor &color)
 Sets the color value for the current user defined inactive color used by the node. More...
 
MColor objectColorRGB (MStatus *ReturnStatus=NULL) const
 Determines the RGB color for the current user defined inactive color used by the node. More...
 
int objectColorIndex (MStatus *ReturnStatus=NULL) const
 Determines the index for the current user defined inactive color used by the node. More...
 
MColor hiliteColor (MStatus *ReturnStatus=NULL) const
 Determines the current hilite color used by the node. More...
 
bool usingHiliteColor (MStatus *ReturnStatus=NULL) const
 Determines whether or not the hilite color will be used for the node. More...
 
MColor dormantColor (MStatus *ReturnStatus=NULL) const
 Determines the dormant color used by this node. More...
 
MColor activeColor (MStatus *ReturnStatus=NULL) const
 Determines the active color used by this node. More...
 
bool drawOverrideEnabled (MStatus *ReturnStatus=NULL) const
 Determines whether or not draw override is turned on for this node. More...
 
bool drawOverrideIsReference (MStatus *ReturnStatus=NULL) const
 Determines whether or not Display Type of the draw override is Reference for this node. More...
 
bool drawOverrideIsTemplate (MStatus *ReturnStatus=NULL) const
 Determines whether or not Display Type of the draw override is Template for this node. More...
 
bool drawOverrideColor (MColor &color, MStatus *ReturnStatus=NULL) const
 Determines the draw override color used by this node. More...
 
MStatus getConnectedSetsAndMembers (unsigned int instanceNumber, MObjectArray &sets, MObjectArray &comps, bool renderableSetsOnly) const
 Returns all the sets connected to the specified instance of this DAG object. More...
 
MBoundingBox boundingBox (MStatus *ReturnStatus=NULL) const
 Returns the bounding box for the dag node in object space. More...
 
MDagPath dagPath (MStatus *ReturnStatus=NULL) const
 Returns the DagPath to which the Function Set is attached. More...
 
virtual MStatus setObject (const MDagPath &path)
 Attaches Function Set to the DAG Node that has the given DAG Path. More...
 
MStatus setObject (MObject &object) override
 Attaches Function Set to given DAG Node. More...
 
MObject model (MStatus *ReturnStatus=NULL) const
 This method is obsolete. More...
 
 MFnDagNode (const MObject &object, MStatus *ret=NULL)
 No script support. More...
 
MStatus setObject (const MObject &object) override
 No script support. More...
 
- Public Member Functions inherited from MFnDependencyNode
virtual ~MFnDependencyNode ()
 Destructor.
 
 MFnDependencyNode ()
 Default constructor.
 
 MFnDependencyNode (MObject &object, MStatus *ReturnStatus=NULL)
 Constructor. More...
 
MObject create (const MTypeId &typeId, MStatus *ReturnStatus=NULL)
 Creates a new dependency node with the given type tag. More...
 
MObject create (const MTypeId &typeId, const MString &name, MStatus *ReturnStatus=NULL)
 Creates a new dependency node with the given type tag. More...
 
MObject create (const MString &type, MStatus *ReturnStatus=NULL)
 Creates a new dependency node with the given type. More...
 
MObject create (const MString &type, const MString &name, MStatus *ReturnStatus=NULL)
 Creates a new dependency node with the given type. More...
 
MTypeId typeId (MStatus *ReturnStatus=NULL) const
 Returns the type id of this node. More...
 
MString typeName (MStatus *ReturnStatus=NULL) const
 Returns the type name of this node. More...
 
MString name (MStatus *ReturnStatus=NULL) const
 Returns the name of this node. More...
 
MString absoluteName (MStatus *ReturnStatus=NULL) const
 Returns the absolute name of this node. More...
 
MString uniqueName (MStatus *ReturnStatus=NULL) const
 Returns the unique name of this node. More...
 
MString pluginName (MStatus *ReturnStatus=NULL) const
 Returns the name of the plug-in this MFnDependendencyNode was defined in. More...
 
MString setName (const MString &name, bool createNamespace=false, MStatus *ReturnStatus=NULL)
 Sets the name of this node. More...
 
MUuid uuid (MStatus *ReturnStatus=NULL) const
 Returns the node's UUID. More...
 
void setUuid (const MUuid &uuid, MStatus *ReturnStatus=NULL)
 Sets the node's UUID. More...
 
MStatus getConnections (MPlugArray &array) const
 Get all of the current connections to this node as an array of plugs. More...
 
unsigned int attributeCount (MStatus *ReturnStatus=NULL) const
 Returns the number of attributes that this node has. More...
 
MObject attribute (unsigned int index, MStatus *ReturnStatus=NULL) const
 Finds the attribute of this node at the given index. More...
 
MObject reorderedAttribute (unsigned int index, MStatus *ReturnStatus=NULL) const
 Some nodes, such as the various animCurve nodes, require that their attributes be set in a specific order for proper operation. More...
 
MObject attribute (const MString &attrName, MStatus *ReturnStatus=NULL) const
 Finds the attribute of this node that has the given name. More...
 
MAttrClass attributeClass (const MObject &attr, MStatus *ReturnStatus=NULL) const
 Returns the class (normal, dynamic, extension) of the specified attribute. More...
 
MStatus getAffectedAttributes (const MObject &attr, MObjectArray &affectedAttributes) const
 Returns an array of attributes that are affected by the attribute passed in. More...
 
MStatus getAffectedByAttributes (const MObject &attr, MObjectArray &affectedByAttributes) const
 Returns an array of attributes that affect the attribute passed in, attr. More...
 
MPlug findPlug (const MObject &attr, bool wantNetworkedPlug, MStatus *ReturnStatus=NULL) const
 Attempt to find a plug for the given attribute. More...
 
MPlug findPlug (const MString &attrName, bool wantNetworkedPlug, MStatus *ReturnStatus=NULL) const
 Attempt to find a plug for the given attribute. More...
 
MPlug findPlug (const MObject &attr, MStatus *ReturnStatus=NULL) const
 This method is obsolete. More...
 
MPlug findPlug (const MString &attrName, MStatus *ReturnStatus=NULL) const
 This method is obsolete. More...
 
MStatus addAttribute (const MObject &attr)
 Add a new dynamic attibute to this node. More...
 
MStatus removeAttribute (const MObject &attr)
 Remove a dynamic attribute from a node. More...
 
MPxNodeuserNode (MStatus *ReturnStatus=NULL) const
 If the function set's node is a plug-in node, then this method will extract the MPxNode pointer from it. More...
 
bool isFromReferencedFile (MStatus *ReturnStatus=NULL) const
 Indicates whether or not this node came from a referenced file. More...
 
bool isShared (MStatus *ReturnStatus=NULL) const
 Indicates whether or not this node is shared. More...
 
bool isTrackingEdits (MStatus *ReturnStatus=NULL) const
 Returns whether or not edits on the given node are being tracked by the generalized edit system. More...
 
bool hasUniqueName (MStatus *ReturnStatus=NULL) const
 Indicates whether or not this node's name is unique within the scene. More...
 
MString parentNamespace (MStatus *ReturnStatus=NULL) const
 Returns the name of the namespace in which this node resides. More...
 
bool isLocked (MStatus *ReturnStatus=NULL) const
 Indicates whether or not this node is locked. More...
 
MStatus setLocked (bool locked)
 Locks or unlocks this node. More...
 
bool isNewAttribute (const MObject &attr, MStatus *ReturnStatus=NULL) const
 Indicates whether or not the specified attribute was added to this node within the current scene. More...
 
MStatus setFlag (unsigned int flag, bool state)
 Sets the state of the specified flag for the node. More...
 
bool isFlagSet (unsigned int flag, MStatus *ReturnStatus=NULL) const
 Retrieves the current state of the specified flag for a node. More...
 
bool isDefaultNode (MStatus *ReturnStatus=NULL) const
 Returns true if the node is a default node. More...
 
MStatus setDoNotWrite (bool flag)
 Use this method to mark the "do not write" state of this node. More...
 
bool canBeWritten (MStatus *ReturnStatus=NULL) const
 Returns the do not write state of the node. More...
 
bool hasAttribute (const MString &name, MStatus *ReturnStatus=NULL) const
 Returns true if the node already has an attribute with the given name. More...
 
MObject getAliasAttr (bool force, MStatus *ReturnStatus=NULL)
 Returns the node's alias attribute, which is a special attribute used to store information about the node's attribute aliases. More...
 
bool setAlias (const MString &alias, const MString &name, const MPlug &plug, bool add=true, MStatus *ReturnStatus=NULL)
 Sets or removes an alias (i.e. More...
 
bool findAlias (const MString &alias, MObject &attrObj, MStatus *ReturnStatus=NULL) const
 Retrieves the attribute with the given alias. More...
 
bool getAliasList (MStringArray &strArray, MStatus *ReturnStatus=NULL)
 Returns a list of all attribute aliases for this node. More...
 
MString plugsAlias (const MPlug &plug, MStatus *ReturnStatus=NULL)
 Returns the alias for the plug's attribute or the empty string if that attribute has no alias. More...
 
MStatus setIcon (const MString &filename)
 Associates a custom icon with the node for display in the Maya UI. More...
 
MString icon (MStatus *ReturnStatus=NULL) const
 Returns the custom icon filename associated with the node. More...
 
MStatus getExternalContent (MExternalContentInfoTable &table) const
 Returns the external content (files) that this node depends on. More...
 
MStatus addExternalContentForFileAttr (MExternalContentInfoTable &table, const MObject &attr) const
 Adds content info to the specified table from a file path attribute. More...
 
MStatus setExternalContentForFileAttr (const MObject &attr, const MExternalContentLocationTable &table)
 Sets content info in the specified attribute from the table. More...
 
MStatus setExternalContent (const MExternalContentLocationTable &table)
 Changes the location of external content. More...
 
bool affectsAnimation (MStatus *ReturnStatus=NULL) const
 Indicates whether or not this node is allowed to animate. More...
 
MStatus setAffectsAnimation ()
 Define a node can affect animation. More...
 
MString setName (const MString &name, MStatus *ReturnStatus)
 This method is obsolete. More...
 
 MFnDependencyNode (const MObject &object, MStatus *ReturnStatus=NULL)
 This method is not available in Python. More...
 
bool getPlugsAlias (const MPlug &plug, MString &aliasName, MStatus *ReturnStatus=NULL)
 This method is not available in Python. More...
 
virtual const adsk::Data::Associationsmetadata (MStatus *ReturnStatus=NULL) const
 This method is not available in Python. More...
 
virtual MStatus setMetadata (const adsk::Data::Associations &)
 This method is not available in Python. More...
 
virtual MStatus deleteMetadata ()
 This method is not available in Python. More...
 
virtual MStatus validateMetadata (MString &errors) const
 This method is not available in Python. More...
 
MStatus dgTimerOn ()
 Indicates that this node should collect DG timing data whenever DG timing is enabled. More...
 
MStatus dgTimerOff ()
 Indicates that this node should no longer collect DG timing data when DG timing is enabled. More...
 
MdgTimerState dgTimerQueryState (MStatus *ReturnStatus=NULL)
 The function returns the current on/off state of the node's timer. More...
 
MStatus dgTimerReset ()
 The function resets the dependency graph timers and counters for this node to zero. More...
 
double dgTimer (const MdgTimerMetric timerMetric, const MdgTimerType timerType, MStatus *ReturnStatus=NULL) const
 The function returns the specified timer value for the current node. More...
 
MStatus dgCallbacks (const MdgTimerType type, MStringArray &callbackName, MDoubleArray &value)
 Node callbacks that occur when timing is enabled get logged with the node and can be queried via this method. More...
 
MStatus dgCallbackIds (const MdgTimerType type, const MString &callbackName, MCallbackIdArray &callbackId, MDoubleArray &value)
 This method provides a further breakdown of the per-callback time returned via dgCallbacks() by returning the data on a per-callbackId basis. More...
 
MStatus addAttribute (const MObject &attr, MAttrClass type)
 This method is obsolete. More...
 
MStatus removeAttribute (const MObject &attr, MAttrClass type)
 This method is obsolete. More...
 
- Public Member Functions inherited from MFnBase
virtual ~MFnBase ()
 Class Destructor. More...
 
bool hasObj (MFn::Type) const
 Determines whether or not the Function Set is compatible with the specified Maya Object within the API RTTI system. More...
 
bool hasObj (const MObject &) const
 Determines whether or not the Function Set is compatible with the specified Maya Object within the API RTTI system. More...
 
MObject object (MStatus *ReturnStatus=nullptr) const
 Returns the MObject that is attached to the Function Set. More...
 

Static Public Member Functions

static const char * className ()
 Returns the name of this class. More...
 
- Static Public Member Functions inherited from MFnDagNode
static const char * className ()
 Returns the name of this class. More...
 
- Static Public Member Functions inherited from MFnDependencyNode
static const char * className ()
 Returns the name of this class. More...
 
static MString classification (const MString &nodeTypeName)
 Retrieves the classification string for a node type. More...
 
static unsigned int allocateFlag (const MString pluginName, MStatus *ReturnStatus=NULL)
 Allocates a node flag for sole use by the caller. More...
 
static MStatus deallocateFlag (const MString pluginName, unsigned int flag)
 Deallocates a node flag which was previously allocated by a call to allocateFlag. More...
 
static MStatus deallocateAllFlags (const MString pluginName)
 Deallocates all of the node flags which are currently allocated to the specified plugin. More...
 
static void enableDGTiming (bool enable)
 Globally enables or disables the DG node timing mechanism. More...
 
- Static Public Member Functions inherited from MFnBase
static const char * className ()
 Returns the name of this class. More...
 
static const char * typeString (MFn::Type)
 Returns the type string for a given type. More...
 
static bool isValid (MFn::Type)
 Returns true if type is in the range of valid types. More...
 

Detailed Description

Class for obtaining information about a particle system.

Particle object access class.

Use this chart to determine which methods to call based on the render type of the particle object:

Examples:
AbcExport/AbcWriteJob.cpp, AbcExport/MayaPointPrimitiveWriter.cpp, AbcImport/PointHelper.cpp, particlePathsCmd/particlePathsCmd.cpp, and particleSystemInfoCmd/particleSystemInfoCmd.cpp.

Member Enumeration Documentation

enum RenderType

Ways in which particles can be rendered.

Enumerator
kCloud 

 

kTube 

 

kBlobby 

 

kMultiPoint 

 

kMultiStreak 

 

kNumeric 

 

kPoints 

 

kSpheres 

 

kSprites 

 

kStreak 

 

Constructor & Destructor Documentation

~MFnParticleSystem ( )
virtual

Destructor.

Class destructor.

MFnParticleSystem ( MObject object,
MStatus ReturnStatus = NULL 
)

Constructor.

Class constructor that initializes the function set to the given MObject.

Parameters
[in]objectThe MObject to attach the function set to
[out]ReturnStatusthe return status
Status Codes:
  • MS::kSuccess if the function set is successfully attached
  • MS::kInvalidParameter if the MObject does not represent a valid Maya object or if the function set is not allowed to attach to this MObject
MFnParticleSystem ( const MDagPath object,
MStatus ReturnStatus = NULL 
)

Constructor.

Class constructor that initializes the function set to the given constant MDagPath object.

Parameters
[in]objectThe const MDagPath to attach the function set to
[out]ReturnStatusThe return status
Status Codes:
  • MS::kSuccess if the function set is successfully attached
  • MS::kInvalidParameter if the MObject does not represent a valid Maya object or if the function set is not allowed to attach to this MObject
MFnParticleSystem ( const MObject object,
MStatus ReturnStatus = NULL 
)

Constructor.

Class constructor that initializes the function set to the given MObject.

Parameters
[in]objectThe MObject to attach the function set to
[out]ReturnStatusthe return status
Status Codes:
  • MS::kSuccess if the function set is successfully attached
  • MS::kInvalidParameter if the MObject does not represent a valid Maya object or if the function set is not allowed to attach to this MObject

Member Function Documentation

MFn::Type type ( ) const
virtual

Function set type.

Return the class type : MFn::kParticle.

Returns
the class type.

Reimplemented from MFnDagNode.

static const char* className ( )
static

Returns the name of this class.

Returns
Name of this class.
MObject create ( MStatus ReturnStatus = NULL)

To create a new particleShape with a transform.

Parameters
[out]ReturnStatusStatus code
Returns
The newly created particleShape
Status Codes:
  • MS::kSuccess The method was successful.
  • MS::kFailure An object error has occurred.
Examples:
AbcImport/PointHelper.cpp, and particleSystemInfoCmd/particleSystemInfoCmd.cpp.
MObject create ( MObject  parentMObj,
MStatus ReturnStatus = NULL 
)

To create a new particleShape.

If the parent is not specified, a new transform will be created as the parent.

Parameters
[in]parentMObjThe parent as an MObject
[out]ReturnStatusStatus code
Returns
The newly created particleShape
Status Codes:
  • MS::kSuccess The method was successful.
  • MS::kFailure An object error has occurred.
MStatus emit ( const MPoint v)

To add a new particle at the given position.

Parameters
[in]vThe particle's position
Returns
Return status
Status Codes:
  • MS::kSuccess operation successful
  • MS::kFailure operation fail
Examples:
AbcImport/PointHelper.cpp.
MStatus emit ( const MPointArray pArray)

To add an array of new particles at the given positions.

Parameters
[in]pArrayThe particle's position array
Returns
Return status
Status Codes:
  • MS::kSuccess operation successful
  • MS::kFailure operation fail
MStatus emit ( const MPoint p,
const MVector v 
)

To add a new particle at the position with its velocity.

Parameters
[in]pThe particle's position
[in]vThe particle's velocity
Returns
Return status
Status Codes:
  • MS::kSuccess operation successful
  • MS::kFailure operation fail
MStatus emit ( const MPointArray pArray,
const MVectorArray vArray 
)

To add an array of new particles at the given positions with their velocity values.

Parameters
[in]pArrayThe particle's position array
[in]vArrayThe particle's velocity array
Returns
Return status
Status Codes:
  • MS::kSuccess operation successful
  • MS::kFailure operation fail
MStatus saveInitialState ( ) const

To reset the particle's current state as the initial state.

Returns
Return status
Status Codes:
  • MS::kSuccess operation successful
  • MS::kFailure operation fail
Examples:
AbcImport/PointHelper.cpp.
void evaluateDynamics ( MTime to,
bool  runupFromStart 
)

Run up the particle system to a certain frame, from either the current frame, or from the start of the simulation.

Parameters
[in]toTime to run the particle system up to.
[in]runupFromStartIf true runup will begin at the start of the simulation, otherwise it will begin from the current frame.
bool isValid ( ) const

Returns false if the particle array is nullptr.

Returns true otherwise.

void setCount ( unsigned int  count) const

Set the particle count at the current frame.

Parameters
[in]countParticle count.
void position ( MVectorArray positions) const

Compute each particle's position at the start of the time step.

This is done by taking the particle's current position and velocity, and extrapolation backwards in time.

NOTE: For an MFnParticleSystem of renderType kTube, use position0() and position1() instead.

void velocity ( MVectorArray array) const

To return velocity array for all particles.

Parameters
[out]arrayThe resulting velocity array
void acceleration ( MVectorArray array) const

To return acceleration array for all particles.

Parameters
[out]arrayThe resulting acceleration array
void position0 ( MVectorArray positions) const

Only for use with an MFnParticleSystem of renderType kTube.

Calculates particle start positions.

void position1 ( MVectorArray positions) const

Only for use with an MFnParticleSystem of renderType kTube.

Calculates particle end positions.

void radius ( MDoubleArray radii) const

Calculates particle radii.

NOTE: For an MFnParticleSystem of renderType kTube, use position0() and position1() instead.

void radius0 ( MDoubleArray radii) const

Only for use with an MFnParticleSystem of renderType kTube.

Calculates the particles' start radii.

void radius1 ( MDoubleArray radii) const

Only for use with an MFnParticleSystem of renderType kTube.

Calculates the particles' end radii.

double surfaceShading ( ) const

Only for use with an MFnParticleSystem of renderType kCloud.

Returns the object surface shading value.

double threshold ( ) const

Only for use with an MFnParticleSystem of renderType kCloud or kBlobby.

Returns the object threshold.

bool betterIllum ( ) const

Only for use with an MFnParticleSystem of renderType kCloud.

Returns a boolean indicating whether or not thick cloud sampling is already enabled.

bool flatShaded ( ) const

To check if a particle shape of cloud type is flat shaded.

This is only for use with an MFnParticleSystem of renderType kCloud.

Returns
  • true The particles are displayed as flat shaded discs
  • false The particles are displayed as volumetric dics
bool disableCloudAxis ( ) const

Only for use with an MFnParticleSystem of renderType kCloud.

Internal use for better illum.

NOTE: Internal use only. Do not call.

double tailSize ( ) const

Only for use with an MFnParticleSystem of renderType kTube.

Returns the length scale factor.

void particleIds ( MIntArray ids) const

Return an array of particle identifiers at the start of the time step.

The array of particle id's is correlated with the other per-particle arrays returned by this class, so ids[i] will be the id for the particle with position position[i], velocity[i], etc., as long as all these arrays were retrieved for the same time step.

The particle id is a constant identifier for an individual particle that does not change between time steps. The particle id can be used to follow the path of a single particle between frames. Only living particle identifiers are returned by this method.

Parameters
[out]idsArray of particle identifiers. The contents of the array are overwritten with the current list of particle identifiers.
void lifespan ( MDoubleArray lifespans) const

Populates the given array with the lifespan values of the particles in this system, if the particles have this attribute.

See hasLifespan().

void rgb ( MVectorArray colors) const

Populates the given array with the color values of the particles in this system, if the particles have this attribute.

See hasRgb().

For each particle, processes the internal representation into RGB color values, which are mapped to a vector.

void opacity ( MDoubleArray opacities) const

Populates the given array with the opacity values of the particles in this system, if the particles have this attribute.

See hasOpacity().

void mass ( MDoubleArray array) const

To return mass array for all particles.

Parameters
[out]arrayThe resulting mass array
void emission ( MVectorArray emissions) const

Populates the given array with the incandescence values of the particles in this system, if the particles have this attribute.

See hasEmission().

bool hasLifespan ( ) const

Returns whether or not the particles in this system have a lifespan attribute.

See lifespan().

bool hasRgb ( ) const

Returns whether or not the particles in this system have an rgb attribute.

See rgb().

bool hasOpacity ( ) const

Returns whether or not the particles in this system have an opacity attribute.

See opacity().

bool hasEmission ( ) const

Returns whether or not the particles in this system have an emission attribute.

See emission().

unsigned int getPerParticleAttribute ( const MString attrName,
MIntArray array,
MStatus ReturnStatus = NULL 
) const

To get per particle integer attribute with its attribute name.

Parameters
[in]attrNameThe input attribute name
[out]arrayThe returned integer array
[out]ReturnStatusThe returned status
Returns
The size of the returned integer array
Status Codes:
  • MS::kSuccess operation successful
  • MS::kFailure operation fail
unsigned int getPerParticleAttribute ( const MString attrName,
MVectorArray array,
MStatus ReturnStatus = NULL 
) const

To get the per particle vector attribute of the given name.

Parameters
[in]attrNameThe input attribute name
[out]arrayThe returned vector array
[out]ReturnStatusThe return status
Returns
The size of the returned vector array
unsigned int getPerParticleAttribute ( const MString attrName,
MDoubleArray array,
MStatus ReturnStatus = NULL 
) const

To get the per particle double attribute of the given name.

Parameters
[in]attrNameThe input attribute name
[out]arrayThe returned double array
[out]ReturnStatusThe return status
Returns
The size of the returned double array
Status Codes:
  • MS::kSuccess operation successful
  • MS::kFailure operation fail
void setPerParticleAttribute ( const MString attrName,
MVectorArray array,
MStatus ReturnStatus = NULL 
) const

To set the per particle vector attribute of the given name with the given values.

Parameters
[in]attrNameThe input attribute name
[in]arrayThe input vector array
[out]ReturnStatusThe return status
Status Codes:
  • MS::kSuccess operation successful
  • MS::kFailure operation fail
void setPerParticleAttribute ( const MString attrName,
MDoubleArray array,
MStatus ReturnStatus = NULL 
) const

To set the per particle double attribute of the given name with the given values.

Parameters
[in]attrNameThe input attribute name
[in]arrayThe input double array
[out]ReturnStatusThe return status
Status Codes:
  • MS::kSuccess operation successful
  • MS::kFailure operation fail
bool isPerParticleIntAttribute ( const MString attrName,
MStatus ReturnStatus = NULL 
) const

To check if the input attribute is a per particle integer attribute.

Parameters
[in]attrNameThe input attribute name
[out]ReturnStatusThe return status
Status Codes:
  • MS::kSuccess operation successful
  • MS::kFailure operation fail
bool isPerParticleDoubleAttribute ( const MString attrName,
MStatus ReturnStatus = NULL 
) const

To check if the input attribute is a per particle double attribute.

Parameters
[in]attrNameThe input attribute name
[out]ReturnStatusThe return status
Status Codes:
  • MS::kSuccess operation successful
  • MS::kFailure operation fail
bool isPerParticleVectorAttribute ( const MString attrName,
MStatus ReturnStatus = NULL 
) const

To check if the input attribute is a per particle vector attribute.

Parameters
[in]attrNameThe input attribute name
[out]ReturnStatusThe return status
Status Codes:
  • MS::kSuccess operation successful
  • MS::kFailure operation fail
bool isDeformedParticleShape ( MStatus ReturnStatus = NULL) const

To return if this particle shape is deformed.

Parameters
[out]ReturnStatusStatus code
Status Codes:
  • MS::kSuccess The method was successful.
  • MS::kFailure An object error has occurred.
Returns
true particle shape is deformed, false otherwise.
MObject deformedParticleShape ( MStatus ReturnStatus = NULL) const

To get the deformed particleShape.

Parameters
[out]ReturnStatusStatus code
Status Codes:
  • MS::kSuccess The method was successful.
  • MS::kFailure An object error has occurred.
Returns
The particle shape connecting to the output of the deformer(s)
MObject originalParticleShape ( MStatus ReturnStatus = NULL) const

To get the original particleShape.

Parameters
[out]ReturnStatusStatus code
Status Codes:
  • MS::kSuccess The method was successful.
  • MS::kFailure An object error has occurred.
Returns
The particle shape connecting to the input of the deformer(s)

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