Class for wrapping N cloth objects.
This class wraps the internal Maya representation of N cloth objects suitable for use with the Nucleus solver.
#include <MnParticle.h>
Public Member Functions |
|
MnParticle () | |
Default constructor. |
|
virtual | ~MnParticle () |
The class destructor. |
|
MStatus | createNParticle () |
Creates the underlying Maya TnParticle and
sets this class to wrap it. |
|
MStatus | setTopology (const int numPoints) |
Sets the topology of the underlying N
Object. |
|
MStatus | setPositions (const MFloatPointArray &positions, bool startFrame=true) |
Sets the positions of the vertices of the
underlying N cloth object. |
|
MStatus | setVelocities (const MFloatPointArray &velocities) |
Sets the velocities of the vertices of the
underlying Ncloth object. |
|
MStatus | setThickness (float radius) |
sets a radius on each point collision
purposes. |
|
MStatus | setThickness (float *radius) |
sets a radius (thickness) on a per point
basis for collision purposes. |
|
MStatus | setInverseMass (float invMass) |
sets the mass for every point in this mesh
|
|
MStatus | setInverseMass (float *invMass) |
sets the mass on a per point basis |
|
MStatus | setBounce (float bounce) |
sets the bounce for every point in this mesh
|
|
MStatus | setBounce (float *bounce) |
sets the bounce on a per point basis in this
mesh |
|
MStatus | setFriction (float friction) |
sets the friction for every point in this
mesh |
|
MStatus | setFriction (float *friction) |
sets the friction on a per point basis for
this mesh |
|
MStatus | setDamping (float damping) |
sets the damping for every point in this
mesh |
|
MStatus | setDamping (float *damping) |
sets the damping on a per point basis in
this mesh |
|
MStatus | setDisableGravity (const bool b) |
Sets whether gravity will affect this
object. |
|
MStatus | setLiquidSimulation (const bool b) |
Sets whether this object will solve as a
liquid. |
|
MStatus | setIncompressibility (float incompressibility) |
sets the incompressibility |
|
MStatus | setRestDensity (float restDensity) |
sets the rest density for every point in
this mesh |
|
MStatus | setLiquidRadiusScale (float liquidRadiusScale) |
sets the liquidRadiusScale for every point
in this mesh |
|
MStatus | setViscosity (float viscosity) |
sets the viscosity for every point in this
mesh |
|
MStatus | setViscosity (float *viscosity) |
sets the viscosity on a per point basis in
this mesh |
|
MStatus | setSurfaceTension (float surfaceTension) |
sets the surfaceTension for every point in
this mesh |
|
MStatus | setSurfaceTension (float *surfaceTension) |
sets the surfaceTension on a per point basis
in this mesh |
|
MStatus | setMaxIterations (const int it) |
Sets the number of iterations the solver
will perform on various dynamic properties like drag, damping,
stretch and bend. |
|
MStatus | setMaxSelfCollisionIterations (const int it) |
Sets the number of iterations the solver
will perform for self collisions on this object. |
|
MStatus | setSelfCollisionSoftness (float softness) |
This allows one to lower the repulsive force
of self collisions such that some interpenetration within the
collide width is allowed. |
|
MStatus | setDragAndLift (float drag, float lift) |
Sets the drag and lift values for the cloth.
|
|
MStatus | setCollide (const bool b) |
Sets whether collisions will affect this
object. |
|
MStatus | setSelfCollide (const bool b) |
Sets whether self collisions will affect
this object. |
|
MStatus | setSelfCollideWidth (float width) |
Sets the self collision width. |
|
MStatus | getNumVertices (unsigned int &numVerts) const |
Returns the number of vertices in the
underlying nParticle. |
|
MStatus | getPositions (MFloatPointArray &positions) const |
gets the positions of the points of the
underlying N Object. |
|
MStatus | getVelocities (MFloatPointArray &velocities) const |
gets the velocities of the points of the
underlying N cloth object. |
|
MStatus | getThickness (MFloatArray &radius) const |
gets the radii of the points of the
underlying N particle object. |
|
MStatus | getInverseMass (MFloatArray &inverseMass) const |
gets the inverseMass of the points of the
underlying N particle object. |
|
MStatus | getBounce (MFloatArray &bounce) const |
gets the Bounce of the points of the
underlying N particle object. |
|
MStatus | getFriction (MFloatArray &friction) const |
gets the friction of the points of the
underlying N particle object. |
|
Friends |
|
class | MFnNObjectData |
MnParticle | ( | ) |
Default constructor.
The instance is set to contain nothing.
MStatus createNParticle | ( | ) |
Creates the underlying Maya TnParticle and sets this class to wrap it.
MStatus 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
[in] | numPoints | number of particles |
MStatus setPositions | ( | const MFloatPointArray & | positions, |
bool | startFrame =
true |
||
) |
Sets the positions of the vertices of the underlying N cloth object.
[in] | positions | the array containing the position information |
[in] | startFrame | whether this information represents the state of the object at the start frame. |
MStatus setVelocities | ( | const MFloatPointArray & | velocities | ) |
Sets the velocities of the vertices of the underlying Ncloth object.
[in] | velocities | the array containing the velocity information |
MStatus setThickness | ( | float | radius | ) |
sets a radius on each point collision purposes.
The bigger the radius/thickness, the more easily things collide.
[in] | radius | the radius to set |
MStatus setThickness | ( | float * | radius | ) |
sets a radius (thickness) on a per point basis for collision purposes.
The bigger the radius, the more easily things collide.
[in] | radius | the radius to set |
MStatus setInverseMass | ( | float | invMass | ) |
sets the mass for every point in this mesh
[in] | invMass | the inverse of the mass. A value of 0 means an infinitely heavy object. |
MStatus setInverseMass | ( | float * | invMass | ) |
sets the mass on a per point basis
[in] | invMass | the inverse of the mass. A value of 0 means an infinitely heave object. |
MStatus setBounce | ( | float | bounce | ) |
sets the bounce for every point in this mesh
[in] | bounce | value of bounce to set |
MStatus setBounce | ( | float * | bounce | ) |
sets the bounce on a per point basis in this mesh
[in] | bounce | value of bounce to set |
MStatus setFriction | ( | float | friction | ) |
sets the friction for every point in this mesh
[in] | friction | the friction to set |
MStatus setFriction | ( | float * | friction | ) |
sets the friction on a per point basis for this mesh
[in] | friction | the friction to set |
MStatus setDamping | ( | float | damping | ) |
sets the damping for every point in this mesh
[in] | damping | the damping value to set |
MStatus setDamping | ( | float * | damping | ) |
sets the damping on a per point basis in this mesh
[in] | damping | the damping value to set |
MStatus setDisableGravity | ( | const bool | b | ) |
Sets whether gravity will affect this object.
[in] | b | whether to calculate gravity |
MStatus setLiquidSimulation | ( | const bool | b | ) |
Sets whether this object will solve as a liquid.
[in] | b | whether to calculate liquid |
MStatus setIncompressibility | ( | float | incompressibility | ) |
sets the incompressibility
[in] | incompressibility | the incompressibility value to set |
MStatus setRestDensity | ( | float | restDensity | ) |
sets the rest density for every point in this mesh
[in] | restDensity | the rest density value to set |
MStatus setLiquidRadiusScale | ( | float | liquidRadiusScale | ) |
sets the liquidRadiusScale for every point in this mesh
[in] | liquidRadiusScale | the liquidRadiusScale value to set |
MStatus setViscosity | ( | float | viscosity | ) |
sets the viscosity for every point in this mesh
[in] | viscosity | the viscosity value to set |
MStatus setViscosity | ( | float * | viscosity | ) |
sets the viscosity on a per point basis in this mesh
[in] | viscosity | the viscosity value to set |
MStatus setSurfaceTension | ( | float | surfaceTension | ) |
sets the surfaceTension for every point in this mesh
[in] | surfaceTension | the surfaceTension value to set |
MStatus setSurfaceTension | ( | float * | surfaceTension | ) |
sets the surfaceTension on a per point basis in this mesh
[in] | surfaceTension | the surfaceTension value to set |
MStatus 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.
[in] | it | number of iterations |
MStatus setMaxSelfCollisionIterations | ( | const int | it | ) |
Sets the number of iterations the solver will perform for self collisions on this object.
[in] | it | number of iterations |
MStatus 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.
[in] | softness | value to set. |
MStatus setDragAndLift | ( | float | drag, |
float | lift | ||
) |
Sets the drag and lift values for the cloth.
[in] | drag | value of drag |
[in] | lift | value of lift |
MStatus setCollide | ( | const bool | b | ) |
Sets whether collisions will affect this object.
[in] | b | whether to calculate collision |
MStatus setSelfCollide | ( | const bool | b | ) |
Sets whether self collisions will affect this object.
[in] | b | whether to calculate self collision |
MStatus setSelfCollideWidth | ( | float | width | ) |
Sets the self collision width.
[in] | width | value to set |
MStatus getNumVertices | ( | unsigned int & | numVerts | ) | const |
Returns the number of vertices in the underlying nParticle.
[out] | numVerts | Number of vertices. |
MStatus getPositions | ( | MFloatPointArray & | positions | ) | const |
gets the positions of the points of the underlying N Object.
[out] | positions | the array will be filled with the positions. |
MStatus getVelocities | ( | MFloatPointArray & | velocities | ) | const |
gets the velocities of the points of the underlying N cloth object.
[out] | velocities | the array will be filled with the positions. |
MStatus getThickness | ( | MFloatArray & | radius | ) | const |
gets the radii of the points of the underlying N particle object.
[out] | radius | the array will be filled with the radii. |
MStatus getInverseMass | ( | MFloatArray & | inverseMass | ) | const |
gets the inverseMass of the points of the underlying N particle object.
[out] | inverseMass | the array will be filled with the inverse masses. |
MStatus getBounce | ( | MFloatArray & | bounce | ) | const |
gets the Bounce of the points of the underlying N particle object.
[out] | bounce | the array will be filled with the bounce. |
MStatus getFriction | ( | MFloatArray & | friction | ) | const |
gets the friction of the points of the underlying N particle object.
[out] | friction | the array will be filled with the friction. |