#include
<MnParticle.h>
List of all
members.
Detailed Description
Class for wrapping N cloth objects.
This class wraps the internal Maya representation of N cloth
objects suitable for use with the Nucleus solver.
Constructor & Destructor Documentation
MnParticle::MnParticle 
( 

) 

Default constructor. The instance is set to contain nothing.
MnParticle::~MnParticle 
( 

) 
[virtual] 
Member Function Documentation
MStatus MnParticle::createNParticle 
( 

) 

Creates the underlying Maya TnParticle and sets this class to
wrap it.
 Returns:

MStatus MnParticle::setTopology 
( 
const int 
numPoints 
) 

Sets the topology of the underlying N Object. This must be
called whenever the number of particles changes, before setting any
particle properties
 Parameters:

[in] 
numPoints 
number of particles 
 Returns:

Sets the positions of the vertices of the underlying N cloth
object
 Parameters:

[in] 
positions 
the array containing the position information 
[in] 
startFrame 
whether this information represents the state of the object at
the start frame. 
 Returns:

Sets the velocities of the vertices of the underlying Ncloth
object
 Parameters:

[in] 
velocities 
the array containing the velocity information 
 Returns:

MStatus MnParticle::setThickness 
( 
float 
radius 
) 

sets a radius on each point collision purposes. The bigger the
radius/thickness, the more easily things collide.
 Parameters:

[in] 
radius 
the radius to set 
 Returns:

MStatus MnParticle::setThickness 
( 
float * 
radius 
) 

sets a radius (thickness) on a per point basis for collision
purposes. The bigger the radius, the more easily things
collide.
 Parameters:

[in] 
radius 
the radius to set 
 Returns:

MStatus MnParticle::setInverseMass 
( 
float 
invMass 
) 

sets the mass for every point in this mesh
 Parameters:

[in] 
invMass 
the inverse of the mass. A value of 0 means an infinitely heave
object. 
 Returns:

MStatus MnParticle::setInverseMass 
( 
float * 
invMass 
) 

sets the mass on a per point basis
 Parameters:

[in] 
invMass 
the inverse of the mass. A value of 0 means an infinitely heave
object. 
 Returns:

MStatus MnParticle::setBounce 
( 
float 
bounce 
) 

sets the bounce for every point in this mesh
 Parameters:

[in] 
bounce 
value of bounce to set 
 Returns:

MStatus MnParticle::setBounce 
( 
float * 
bounce 
) 

sets the bounce on a per point basis in this mesh
 Parameters:

[in] 
bounce 
value of bounce to set 
 Returns:

MStatus MnParticle::setFriction 
( 
float 
friction 
) 

sets the friction for every point in this mesh
 Parameters:

[in] 
friction 
the friction to set 
 Returns:

MStatus MnParticle::setFriction 
( 
float * 
friction 
) 

sets the friction on a per point basis for this mesh
 Parameters:

[in] 
friction 
the friction to set 
 Returns:

MStatus MnParticle::setDamping 
( 
float 
damping 
) 

sets the damping for every point in this mesh
 Parameters:

[in] 
damping 
the damping value to set 
 Returns:

MStatus MnParticle::setDamping 
( 
float * 
damping 
) 

sets the damping on a per point basis in this mesh
 Parameters:

[in] 
damping 
the damping value to set 
 Returns:

MStatus
MnParticle::setDisableGravity 
( 
const bool 
b 
) 

Sets whether gravity will affect this object
 Parameters:

[in] 
b 
whether to calculate gravity 
 Returns:

MStatus
MnParticle::setLiquidSimulation 
( 
const bool 
b 
) 

Sets whether this object will solve as a liquid
 Parameters:

[in] 
b 
whether to calculate liquid 
 Returns:

MStatus
MnParticle::setIncompressibility 
( 
float 
incompressibility 
) 

sets the incompressibility
 Parameters:

[in] 
incompressibility 
the incompressibility value to set 
 Returns:

MStatus MnParticle::setRestDensity 
( 
float 
restDensity 
) 

sets the rest density for every point in this mesh
 Parameters:

[in] 
restDensity 
the rest density value to set 
 Returns:

MStatus
MnParticle::setLiquidRadiusScale 
( 
float 
liquidRadiusScale 
) 

sets the liquidRadiusScale for every point in this mesh
 Parameters:

[in] 
liquidRadiusScale 
the liquidRadiusScale value to set 
 Returns:

MStatus MnParticle::setViscosity 
( 
float 
viscosity 
) 

sets the viscosity for every point in this mesh
 Parameters:

[in] 
viscosity 
the viscosity value to set 
 Returns:

MStatus MnParticle::setViscosity 
( 
float * 
viscosity 
) 

sets the viscosity on a per point basis in this mesh
 Parameters:

[in] 
viscosity 
the viscosity value to set 
 Returns:

MStatus
MnParticle::setSurfaceTension 
( 
float 
surfaceTension 
) 

sets the surfaceTension for every point in this mesh
 Parameters:

[in] 
surfaceTension 
the surfaceTension value to set 
 Returns:

MStatus
MnParticle::setSurfaceTension 
( 
float * 
surfaceTension 
) 

sets the surfaceTension on a per point basis in this mesh
 Parameters:

[in] 
surfaceTension 
the surfaceTension value to set 
 Returns:

MStatus MnParticle::setMaxIterations 
( 
const int 
it 
) 

Sets the number of iterations the solver will perform on various
dynamic properties like drag, damping, stretch and bend. Higher
iterations take longer, and the primary use of this attribute is to
keep things from locking up should high iteration values be
requested.
 Parameters:

[in] 
it 
number of iterations 
 Returns:

MStatus
MnParticle::setMaxSelfCollisionIterations 
( 
const int 
it 
) 

Sets the number of iterations the solver will perform for self
collisions on this object.
 Parameters:

[in] 
it 
number of iterations 
 Returns:

MStatus
MnParticle::setSelfCollisionSoftness 
( 
float 
softness 
) 

This allows one to lower the repulsive force of self collisions
such that some interpenetration within the collide width is
allowed. This can in some cases reduce jitter due to self collision
with low selfCollideIterations. In general its use should be
avoided, however.
 Parameters:

[in] 
softness 
value to set. 
 Returns:

MStatus MnParticle::setDragAndLift 
( 
float 
drag, 


float 
lift 


) 



Sets the drag and lift values for the cloth
 Parameters:

[in] 
drag 
value of drag 
[in] 
lift 
value of lift 
 Returns:

MStatus MnParticle::setCollide 
( 
const bool 
b 
) 

Sets whether collisions will affect this object
 Parameters:

[in] 
b 
whether to calculate collision 
 Returns:

MStatus MnParticle::setSelfCollide 
( 
const bool 
b 
) 

Sets whether self collisions will affect this object
 Parameters:

[in] 
b 
whether to calculate self collision 
 Returns:

MStatus
MnParticle::setSelfCollideWidth 
( 
float 
width 
) 

Sets the self collision width
 Parameters:

 Returns:

MStatus MnParticle::getNumVertices 
( 
unsigned int & 
numVerts 
) 
const 
Returns the number of vertices in the underlying nParticle
 Parameters:

[out] 
numVerts 
Number of vertices. 
 Returns:

gets the positions of the points of the underlying N Object.
 Parameters:

[out] 
positions 
the array will be filled with the positions. 
 Returns:

gets the velocities of the points of the underlying N cloth
object.
 Parameters:

[in] 
velocities 
the array will be filled with the positions. 
 Returns:

gets the radii of the points of the underlying N particle
object.
 Parameters:

[in] 
radius 
the array will be filled with the radii. 
 Returns:

gets the inverseMass of the points of the underlying N particle
object.
 Parameters:

[in] 
inverseMass 
the array will be filled with the inverse masses. 
 Returns:

gets the Bounce of the points of the underlying N particle
object.
 Parameters:

[in] 
bounce 
the array will be filled with the bounce. 
 Returns:

gets the friction of the points of the underlying N particle
object.
 Parameters:

[in] 
friction 
the array will be filled with the friction. 
 Returns:
