MnSolver Class Reference

#include <MnSolver.h>

Class Description

Class for wrapping N solver objects.

This class wraps the internal Maya representation of a Nucleus solver suitable for use with the Nucleus objects such as nCloth or nParticles

+ Examples:

Public Member Functions

 MnSolver ()
 Default constructor. More...
 
virtual ~MnSolver ()
 The class destructor.
 
MStatus createNSolver ()
 Creates the underlying Maya solver object and sets this class to wrap it. More...
 
MStatus addNObject (MnObject *obj)
 Assign the nucleus object to be solved by this solver. More...
 
MStatus removeNObject (MnObject *obj)
 Remove the nucleus object from being solved by this solver. More...
 
MStatus setGravity (float grav)
 Sets the gravity magnitude for the objects being solved. More...
 
MStatus setGravityDir (float gravX, float gravY, float gravZ)
 Sets the gravity direction for the underlying Maya solver object. More...
 
MStatus setAirDensity (float dens)
 Sets the air Density for the solver. More...
 
MStatus setWindSpeed (float speed)
 Sets the wind magnitude for the underlying Maya solver object. More...
 
MStatus setWindDir (float windX, float windY, float windZ)
 Sets the wind direction for the underlying Maya solver object. More...
 
MStatus setWindNoiseIntensity (float noise)
 Sets the wind noise intensity for the underlying Maya solver object. More...
 
MStatus setDisabled (bool disabled)
 Disables the solver - or re-enables it again. More...
 
MStatus setSubsteps (int substeps)
 Set the number of substeps used by the solver. More...
 
MStatus setMaxIterations (int maxIter)
 Set the max number of collision iterations used by the solver. More...
 
MStatus setStartTime (float startTime)
 Sets the start Time in seconds for the solver. More...
 
MStatus makeAllCollide ()
 Allow all the objects assigned to the Maya solver object to collide. More...
 
MStatus removeAllCollisions ()
 Remove the collisions between all the objects assigned to the Maya solver object. More...
 
MStatus solve (float solveTime)
 Solve from the last eval time until the specified time (in seconds). More...
 

Friends

class MFnNObjectData
 

Constructor & Destructor Documentation

MnSolver ( )

Default constructor.

The instance is set to contain nothing.

Member Function Documentation

MStatus createNSolver ( )

Creates the underlying Maya solver object and sets this class to wrap it.

Returns
Status code
Status Codes:
MStatus addNObject ( MnObject obj)

Assign the nucleus object to be solved by this solver.

Parameters
[in]objNucleus object.
Returns
Status code
Status Codes:
MStatus removeNObject ( MnObject obj)

Remove the nucleus object from being solved by this solver.

Parameters
[in]objNucleus object.
Returns
Status code
Status Codes:
  • MS::kSuccess the object was removed from the solver successfully
  • MS::kFailure the object could not be removed from the solver
MStatus setGravity ( float  grav)

Sets the gravity magnitude for the objects being solved.

Note the the objects should already be added to the solver when applying gravity

Parameters
[in]gravNew gravity value.
Returns
Status code
Status Codes:
MStatus setGravityDir ( float  gravX,
float  gravY,
float  gravZ 
)

Sets the gravity direction for the underlying Maya solver object.

Parameters
[in]gravXX coordinate of new gravity direction.
[in]gravYY coordinate of new gravity direction.
[in]gravZZ coordinate of new gravity direction.
Returns
Status code
Status Codes:
MStatus setAirDensity ( float  dens)

Sets the air Density for the solver.

Parameters
[in]densNew density value.
Returns
Status code
Status Codes:
MStatus setWindSpeed ( float  speed)

Sets the wind magnitude for the underlying Maya solver object.

Parameters
[in]speedNew wind speed.
Returns
Status code
Status Codes:
MStatus setWindDir ( float  windX,
float  windY,
float  windZ 
)

Sets the wind direction for the underlying Maya solver object.

Parameters
[in]windXX coordinate of new wind direction.
[in]windYY coordinate of new wind direction.
[in]windZZ coordinate of new wind direction.
Returns
Status code
Status Codes:
MStatus setWindNoiseIntensity ( float  noise)

Sets the wind noise intensity for the underlying Maya solver object.

Parameters
[in]noiseNew wind noise intensity.
Returns
Status code
Status Codes:
MStatus setDisabled ( bool  disabled)

Disables the solver - or re-enables it again.

Parameters
[in]disabledTrue to disable the solver, false to re-enable it.
Returns
Status code
Status Codes:
MStatus setSubsteps ( int  substeps)

Set the number of substeps used by the solver.

Parameters
[in]substepsNew number of substeps to use.
Returns
Status code
Status Codes:
MStatus setMaxIterations ( int  maxIter)

Set the max number of collision iterations used by the solver.

Parameters
[in]maxIterNew maximum number of iterations to use.
Returns
Status code
Status Codes:
MStatus setStartTime ( float  startTime)

Sets the start Time in seconds for the solver.

Parameters
[in]startTimeNew start time.
Returns
Status code
Status Codes:
MStatus makeAllCollide ( )

Allow all the objects assigned to the Maya solver object to collide.

Returns
Status code
Status Codes:
MStatus removeAllCollisions ( )

Remove the collisions between all the objects assigned to the Maya solver object.

Returns
Status code
Status Codes:
MStatus solve ( float  solveTime)

Solve from the last eval time until the specified time (in seconds).

Parameters
[in]solveTimeTime to solve up to.
Returns
Status code
Status Codes:

The documentation for this class was generated from the following files:
  • MnSolver.h
  • MnSolver.cpp