#include <MnRigid.h>
Class for wrapping N cloth objects.
This class wraps the internal Maya representation of N cloth objects suitable for use with the Nucleus solver.
Public Member Functions | |
MnRigid () | |
Default constructor. More... | |
virtual | ~MnRigid () |
The class destructor. | |
MStatus | setTopology (const int numFaces, int *numVertsPerFace, int *faces, const int numEdges, int *edges) |
sets the topology of the underlying N Object. More... | |
MStatus | createNRigid () |
Creates the underlying Maya TnRigid and sets this class to wrap it. More... | |
MStatus | setPositions (const MFloatPointArray &positions, bool startFrame=true) |
Sets the positions of the vertices of the underlying nRigid object. More... | |
MStatus | setVelocities (const MFloatPointArray &velocities) |
Sets the velocities of the vertices of the underlying nRigid object. More... | |
MStatus | setThickness (float radius) |
sets a radius on each point of the mesh for collision purposes. More... | |
MStatus | setThickness (float *radius) |
sets a radius (thickness) on a per point basis for the mesh for collision purposes. More... | |
MStatus | setBounce (float bounce) |
sets the bounce for every point in this mesh More... | |
MStatus | setBounce (float *bounce) |
sets the bounce on a per point basis in this mesh More... | |
MStatus | setFriction (float friction) |
sets the friction for every point in this mesh More... | |
MStatus | setFriction (float *friction) |
sets the friction on a per point basis for this mesh More... | |
MStatus | setCollisionFlags (const bool vertToVert, const bool edgeToEdge=false, const bool faceToFace=false) |
Sets how (or if) this object will collide with other objects. More... | |
MStatus | getNumVertices (unsigned int &numVerts) const |
Returns the number of vertices in the underlying nRigid. More... | |
MStatus | getPositions (MFloatPointArray &positions) const |
gets the positions of the points of the underlying N Object. More... | |
MStatus | getVelocities (MFloatPointArray &velocities) const |
gets the velocities of the points of the underlying nRigid object. More... | |
MStatus | getThickness (MFloatArray &radius) const |
gets the thickness at each point of the underlying N rigid object. More... | |
MStatus | getInverseMass (MFloatArray &inverseMass) const |
gets the inverseMass at each point of the underlying N rigid object. More... | |
MStatus | getBounce (MFloatArray &bounce) const |
gets the bounce at each point of the underlying N rigid object. More... | |
MStatus | getFriction (MFloatArray &friction) const |
gets the friction at each point of the underlying N rigid object. More... | |
Public Member Functions inherited from MnObject | |
MnObject () | |
Default constructor. More... | |
virtual | ~MnObject () |
The class destructor. | |
Friends | |
class | MFnNObjectData |
MnRigid | ( | ) |
Default constructor.
The parent class will set the instance to contain nothing.
MStatus setTopology | ( | const int | numFaces, |
int * | numVertsPerFace, | ||
int * | faces, | ||
const int | numEdges, | ||
int * | edges | ||
) |
sets the topology of the underlying N Object.
Before calling other methods, this must be the first method you call once the rigid object is created.
[in] | numFaces | number of faces |
[in] | numVertsPerFace | an array of size numFaces, where each element describes the number of verts on that face |
[in] | faces | an array containing the actual face description. Each element is a vertex index. |
[in] | numEdges | number of edges |
[in] | edges | an array containing the edge description. Each element is a vertex index. |
MStatus createNRigid | ( | ) |
Creates the underlying Maya TnRigid and sets this class to wrap it.
MStatus setPositions | ( | const MFloatPointArray & | positions, |
bool | startFrame = true |
||
) |
Sets the positions of the vertices of the underlying nRigid 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 nRigid object.
[in] | velocities | the array containing the velocity information |
MStatus setThickness | ( | float | radius | ) |
sets a radius on each point of the mesh for 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 the mesh for collision purposes.
The bigger the radius, the more easily things collide.
[in] | radius | the radius to set |
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 setCollisionFlags | ( | const bool | vertToVert, |
const bool | edgeToEdge = false , |
||
const bool | faceToFace = false |
||
) |
Sets how (or if) this object will collide with other objects.
[in] | vertToVert | whether to calculate vertex - vertex collisions |
[in] | edgeToEdge | whether to calculate edge - edge collisions |
[in] | faceToFace | whether to calculate face - face collisions |
MStatus getNumVertices | ( | unsigned int & | numVerts | ) | const |
Returns the number of vertices in the underlying nRigid.
[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 nRigid object.
[in] | velocities | the array will be filled with the positions. |
MStatus getThickness | ( | MFloatArray & | radius | ) | const |
gets the thickness at each point of the underlying N rigid object.
[in] | radius | the array will be filled with the thickness. |
MStatus getInverseMass | ( | MFloatArray & | inverseMass | ) | const |
gets the inverseMass at each point of the underlying N rigid object.
[in] | inverseMass | the array will be filled with the inverse masses. |
MStatus getBounce | ( | MFloatArray & | bounce | ) | const |
gets the bounce at each point of the underlying N rigid object.
[in] | bounce | the array will be filled with the bounce. |
MStatus getFriction | ( | MFloatArray & | friction | ) | const |
gets the friction at each point of the underlying N rigid object.
[in] | friction | the array will be filled with the friction. |