Public Member Functions | Protected Member Functions

MFnInstancer Class Reference

Search for all occurrences

Detailed Description

Particle Instancer object access class.

Class for obtaining information about a particle instancer node.

Examples:

instancerListCmd.cpp.

#include <MFnInstancer.h>

Inheritance diagram for MFnInstancer:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual MFn::Type  type () const
  Function set type.
virtual  ~MFnInstancer ()
  Destructor.
  MFnInstancer ()
  Default constructor.
  MFnInstancer (MObject &object, MStatus *ReturnStatus=NULL)
  Constructor.
  MFnInstancer (const MDagPath &object, MStatus *ret=NULL)
  Constructor.
int  particleCount () const
  Returns the number of particles feeding the active instancer.
int  instancesForParticle (int p, MDagPathArray &paths, MMatrix &instancerMatrix, MStatus *ReturnStatus=NULL) const
  Returns the DAG paths and instancer matrix for all instances generated by a specified particle.
MStatus  allInstances (MDagPathArray &paths, MMatrixArray &matrices, MIntArray &particlePathStartIndices, MIntArray &pathIndices) const
  Returns information about all instances generated by a particular particle instancer node.
  MFnInstancer (const MObject &object, MStatus *ret=NULL)
  Constructor.

Protected Member Functions

virtual const char *  className () const
  Class name.

Constructor & Destructor Documentation

~MFnInstancer ( ) [virtual]

Destructor.

Class destructor.

MFnInstancer ( MObject object,
MStatus ReturnStatus = NULL 
)

Constructor.

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

Parameters:
[in] object The MObject to attach the function set to
[out] ReturnStatus the return status
Status Codes:
MFnInstancer ( const MDagPath object,
MStatus ReturnStatus = NULL 
)

Constructor.

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

Parameters:
[in] object The const MDagPath to attach the function set to
[out] ReturnStatus The return status
Status Codes:
MFnInstancer ( const MObject object,
MStatus ReturnStatus = NULL 
)

Constructor.

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

Parameters:
[in] object The MObject to attach the function set to
[out] ReturnStatus the return status
Status Codes:

Member Function Documentation

MFn::Type type ( ) const [virtual]

Function set type.

Return the class type : MFn::kInstancer.

Reimplemented from MFnDagNode.

int particleCount ( ) const

Returns the number of particles feeding the active instancer.

Returns:
See description.
int instancesForParticle ( int  p,
MDagPathArray paths,
MMatrix instancerMatrix,
MStatus ReturnStatus = NULL 
) const

Returns the DAG paths and instancer matrix for all instances generated by a specified particle.

Parameters:
[in] p The index of the particle being queried.
[out] paths Visible DAG paths generated by particle p
[out] instancerMatrix The transformation matrix that the instancer applies to the instanced paths to produce the final particle-instanced geometry. The final world matrix of each instance can be constructed by premultiplying the path's inclusive world matrix by this matrix.
[out] ReturnStatus status code
Returns:
The number of visible paths instanced for the given particle. It is possible for no paths to be instanced for a particular particle. Note that in order to use this method, the MDagPath must be used in the constructor.
Status Codes:
MStatus allInstances ( MDagPathArray paths,
MMatrixArray matrices,
MIntArray particlePathStartIndices,
MIntArray pathIndices 
) const

Returns information about all instances generated by a particular particle instancer node.

Since many particles will typically instance similar sets of paths, the information is returned in a compact representation. An array of paths is returned, representing the unique set of paths that are instanced by any particle in the system. For each particle, the routine returns a set of indices into this path array to illustrate the paths instanced at that particle. The index arrays for all particles are concatenated together, so a "start index" array is used to indicate which is the first entry in the index array for each particle. For each particle, the routine also returns the transformation matrix applied to that particle's instanced paths to generate the final particle instance transformations.

Parameters:
[out] paths Receives the unique set of paths instanced by any particle in the system.
[out] matrices For each particle p, matrices[p] receives the matrix that the instancer applies to the paths instanced under that particle to generate the final instance transformations.
[out] particlePathStartIndices Receives indices into the pathIndices array indicating where the block of indices for each particle begins. The size of this array is always one more than the number of particles in the system. For particle p, the number of paths instanced under that particle is particlePathStartIndices[p+1]-particlePathStartIndices[p]. If this number is 0, then no visible paths are instanced under that particle. So, the set pathIndices[particlePathStartIndices[p]...particlePathStartIndices[p+1]-1] gives the indices into the paths array of the visible paths instanced under particle p.
[out] pathIndices Receives indices into the paths array describing the visible paths instanced under each particle. The array is a sequence of variable-sized blocks, one per particle (since each particle in the system can instance a different number of paths). The particlePathStartIndices array determines where in this array to find the path indices for a particular particle.
Returns:

MFnInstancer MFnInstancer MFnInstancer MFnInstancer MFnInstancer MFnInstancer MFnInstancer MFnInstancer MFnInstancer MFnInstancer
MFnInstancer MFnInstancer MFnInstancer MFnInstancer MFnInstancer MFnInstancer MFnInstancer MFnInstancer MFnInstancer MFnInstancer