Static Public Member Functions

MDynamicsUtil Class Reference

Search for all occurrences

Detailed Description

Utility class for Maya dynamics.

MDynamicsUtil provides utility methods related to Maya dynamics (eg. particles and fluids).

#include <MDynamicsUtil.h>

List of all members.

Static Public Member Functions

static bool hasValidDynamics2dTexture (const MObject &node, const MObject &texAttr, MStatus *status=NULL)
 Certain aspects of Maya's dynamics can be textured using 2d textures.
static MStatus evalDynamics2dTexture (const MObject &node, const MObject &texAttr, MDoubleArray &uCoords, MDoubleArray &vCoords, MVectorArray *resultColors, MDoubleArray *resultAlphas)
 If a supported 2d texture (see hasValidDynamics2dTexture() method documentation) is connected to the specified attribute, this method can be called to evaluate that texture at a number of (u,v) texture coordinate values.

Member Function Documentation

bool hasValidDynamics2dTexture ( const MObject node,
const MObject texAttr,
MStatus status = NULL 
) [static]

Certain aspects of Maya's dynamics can be textured using 2d textures.

For example, surface particle emitters can use a 2d texture to modulate the emission rate over the surface. For these purposes, only a subset of Maya's textures are supported, namely the default 2d textures (bulge, checker, cloth, file, fluid texture 2d, fractal, grid, mountain, movie, noise, ocean, ramp, water). No other nodes are supported. This method takes an attribute and determines if there is a supported texture connected to it. If the texture is supported, then the evalDynamics2dTexture() method can be called to evaluate the texture at various (u,v) coordinate values.

Parameters:
[in]nodenode to be tested for a valid texture connection.
[in]texAttrattribute to be tested for a valid texture connection.
[out]statusstatus code.
Status Codes:
Returns:
true if the node connected to the specified attribute is a texture that can be evaluated using the evalDynamics2dTexture() method, false otherwise.
Examples:
particleAttrNode.cpp.
MStatus evalDynamics2dTexture ( const MObject node,
const MObject texAttr,
MDoubleArray uCoords,
MDoubleArray vCoords,
MVectorArray resultColors,
MDoubleArray resultAlphas 
) [static]

If a supported 2d texture (see hasValidDynamics2dTexture() method documentation) is connected to the specified attribute, this method can be called to evaluate that texture at a number of (u,v) texture coordinate values.

Parameters:
[in]nodenode whose connected texture is to be evaluated.
[in]texAttrattribute whose connected texture is to be evaluated.
[in]uCoordsarray of u coordinate values
[in]vCoordsarray of v coordinate values
[out]resultColorsif non-NULL, receives the result of the connected texture's outColor attribute, evaluated at all the (u,v) coordinates given by the uCoords and vCoords arrays.
[out]resultAlphasif non-NULL, receives the outAlpha values evaluated from the texture at these same points.
Status Codes:
  • MS::kSuccess The connected texture was successfully evaluated
  • MS::kUnknownParameter There was no texture, or an unsupported texture connected to the specified attribute, so textured values could not be evaluated.
Examples:
particleAttrNode.cpp.

MDynamicsUtil MDynamicsUtil MDynamicsUtil MDynamicsUtil MDynamicsUtil MDynamicsUtil MDynamicsUtil MDynamicsUtil MDynamicsUtil MDynamicsUtil
MDynamicsUtil MDynamicsUtil MDynamicsUtil MDynamicsUtil MDynamicsUtil MDynamicsUtil MDynamicsUtil MDynamicsUtil MDynamicsUtil MDynamicsUtil