MFnInstancer Class Reference
[OpenMayaFX - API module for effectsFunctionSet classes]

#include <MFnInstancer.h>
Inheritance diagram for MFnInstancer:
Inheritance graph
[legend]
Collaboration diagram for MFnInstancer:
Collaboration graph
[legend]

List of all members.


Detailed Description

Particle Instancer object access class.

Class for obtaining information about a particle instancer node.

Examples:

instancerListCmd.cpp.


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
int  instancesForParticle (int p, MDagPathArray &paths, MMatrix &instancerMatrix, MStatus *ReturnStatus=NULL) const
MStatus  allInstances (MDagPathArray &paths, MMatrixArray &matrices, MIntArray &particlePathStartIndices, MIntArray &pathIndices) const
  MFnInstancer (const MObject &object, MStatus *ret=NULL)
  Constructor.

Protected Member Functions

virtual const char *  className () const
  Class name.

Constructor & Destructor Documentation

MFnInstancer::~MFnInstancer (  )  [virtual]

Destructor.

Class destructor.

MFnInstancer::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::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::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 MFnInstancer::type (  )  const [virtual]

Function set type.

Return the class type : MFn::kInstancer

Reimplemented from MFnDagNode.

int MFnInstancer::particleCount (  )  const

Returns the number of particles feeding the active instancer

Returns:
See description.

int MFnInstancer::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 MFnInstancer::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:

Autodesk® Maya® 2011 © 1997-2010 Autodesk, Inc. All rights reserved. Generated with doxygen 1.5.6