#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:
-