MDataHandle Class Reference
[OpenMaya - API module for common classes]

#include <MDataHandle.h>

List of all members.


Detailed Description

Data handle for information contained in a data block.

An MDataHandle is a smart pointer into a data block (MDataBlock). A data handle corresponds to the data for a particular attribute or plug. For array data (eg CVs of a curve) use an MArrayDataHandle. To get a data handle, request it from the data block.

Some simple numeric data is handled directly by the dependency graph. If the data is more complicated (eg surface geometry), then the data handle can supply a pointer that should be given to the appropriate data function set.

MDataHandle allows the manipulation and setting of generic attributes as created by the MFnGenericAttribute class. It is possible to create numeric generic attributes using two scenarios. A plug-in may request that the generic attribute support singleton types such as MFnNumericData::kFloat or kChar. Or a plug-in may request array types such as MFnNumericData::k2Float k2Double. In the singleton case, getting and setting the attribute using MDataHandle is done with the asGeneric*() or setGeneric*() methods. In the case of the array types, the MDataHandle.data() method can be used to retrieve the MObject for the attribute and to initialize the MFnNumericData function set. A call to MDataHandle::setData() on the updated attribute must be made to pass the information back to Maya. NOTE: It is not possible to distinguish the singleton generic types from one another. There is no method that can be called to return if the singleton generic attribute is a float, char etc.

MDataHandle methods cannot be assumed to be threadsafe.

Examples:

affectsNode.cpp, animCubeNode.cpp, anisotropicShader.cpp, apiMeshCreator.cpp, apiMeshShape.cpp, apiMeshShape.h, arcLenNode.cpp, backfillShader.cpp, blindDataMesh.cpp, blindDataShader.cpp, brickShader.cpp, buildRotationNode.cpp, cellShader.cpp, cgfxShaderNode.cpp, cgfxShaderNode.h, cgfxVector.cpp, checkerShader.cpp, circleNode.cpp, clearcoat.cpp, closestPointOnCurveNode.cpp, compositingShader.cpp, contrastShader.cpp, customImagePlane.cpp, cvColorNode.cpp, cvColorShader.cpp, depthShader.cpp, displacementShader.cpp, dynExprField.cpp, flameShader.cpp, fullLoftNode.cpp, gammaShader.cpp, genericAttributeNode.cpp, geometrySurfaceConstraint.cpp, geomShader.cpp, GLSLShaderNode.cpp, GLSLShaderNode.h, hlslShader.cpp, hlslShader.h, hwColorPerVertexShader.cpp, hwDecalBumpShader_NV20.cpp, hwPhongShader.cpp, hwPhongShader.h, hwReflectBumpShader_NV20.cpp, hwRefractReflectShader_NV20.cpp, hwToonShader_NV20.cpp, hwUnlitShader.cpp, interpShader.cpp, jitterNode.cpp, lambertShader.cpp, latticeNoiseNode.cpp, lavaShader.cpp, lightShader.cpp, meshOpNode.cpp, mixtureShader.cpp, multiCurveNode.cpp, noiseShader.cpp, offsetNode.cpp, ownerEmitter.cpp, ownerEmitter.h, phongShader.cpp, pnTrianglesNode.cpp, pnTrianglesNode.h, pointOnMeshInfoNode.cpp, pointOnSubdNode.cpp, quadricShape.cpp, renderAccessNode.cpp, rockingTransform.cpp, rockingTransform.h, rockingTransformCheck.cpp, shadowMatteShader.cpp, shellNode.cpp, shiftNode.cpp, simpleEmitter.cpp, simpleEmitter.h, simpleFluidEmitter.cpp, simpleLoftNode.cpp, simpleSpring.h, sineNode.cpp, slopeShaderNode.cpp, solidCheckerShader.cpp, splitUVNode.cpp, stringFormatNode.cpp, sweptEmitter.cpp, sweptEmitter.h, testNobjectNode.cpp, torusField.cpp, torusField.h, transCircleNode.cpp, volumeShader.cpp, weightListNode.cpp, and yTwistNode.cpp.


Public Member Functions

 MDataHandle ()
bool isNumeric () const
bool isGeneric (bool &isNumeric, bool &isNull) const
MFnNumericData::Type numericType () const
MFnData::Type type () const
MTypeId typeId () const
MStatus acceptedTypeIds (MUintArray &) const
MObject data ()
MStatus copy (const MDataHandle &src)
void setClean ()
bool & asBool () const
char & asChar () const
unsigned char & asUChar () const
short & asShort () const
int & asLong () const
 This method is obsolete.
int & asInt () const
void *& asAddr () const
float & asFloat () const
double & asDouble () const
MDistance asDistance () const
MAngle asAngle () const
MTime asTime () const
short2 & asShort2 () const
long2 & asLong2 () const
 This method is obsolete.
int2 & asInt2 () const
float2 & asFloat2 () const
double2 & asDouble2 () const
short3 & asShort3 () const
long3 & asLong3 () const
 This method is obsolete.
int3 & asInt3 () const
float3 & asFloat3 () const
double3 & asDouble3 () const
MVectorasVector () const
MFloatVectorasFloatVector () const
MMatrixasMatrix () const
MFloatMatrixasFloatMatrix () const
MStringasString () const
MObject asNurbsCurve () const
MObject asNurbsSurface () const
MObject asMesh () const
MObject asSubdSurface () const
MObject asNurbsCurveTransformed () const
MObject asNurbsSurfaceTransformed () const
MObject asMeshTransformed () const
MObject asSubdSurfaceTransformed () const
const MMatrixgeometryTransformMatrix () const
MPxDataasPluginData () const
void set (bool)
 No script support.
void set (char)
 No script support.
void set (short)
 No script support.
void set (int)
 No script support.
void set (float)
 No script support.
void set (double)
 No script support.
void set (const MMatrix &)
 No script support.
void set (const MFloatMatrix &)
 No script support.
void set (const MVector &)
 No script support.
void set (const MFloatVector &)
 No script support.
void set (const MDistance &)
 No script support.
void set (const MAngle &)
 No script support.
void set (const MTime &)
 No script support.
void set (short, short)
 No script support.
void set (int, int)
 No script support.
void set (float, float)
 No script support.
void set (double, double)
 No script support.
void set (short, short, short)
 No script support.
void set (int, int, int)
 No script support.
void set (float, float, float)
 No script support.
void set (double, double, double)
 No script support.
void set (const MString &)
 No script support.
MStatus set (const MObject &data)
 No script support.
MStatus set (MPxData *data)
 No script support.
void setBool (bool)
void setChar (char)
void setShort (short)
void setInt (int)
void setFloat (float)
void setDouble (double)
void setMMatrix (const MMatrix &)
void setMFloatMatrix (const MFloatMatrix &)
void setMVector (const MVector &)
void setMFloatVector (const MFloatVector &)
void setMDistance (const MDistance &)
void setMAngle (const MAngle &)
void setMTime (const MTime &)
void set2Short (short, short)
void set2Int (int, int)
void set2Float (float, float)
void set2Double (double, double)
void set3Short (short, short, short)
void set3Int (int, int, int)
void set3Float (float, float, float)
void set3Double (double, double, double)
void setString (const MString &)
MStatus setMObject (const MObject &data)
MStatus setMPxData (MPxData *data)
bool asGenericBool () const
unsigned char asGenericChar () const
double asGenericDouble () const
float asGenericFloat () const
short asGenericShort () const
int asGenericInt () const
void setGenericBool (bool value, bool force)
void setGenericChar (unsigned char value, bool force)
void setGenericDouble (double value, bool force)
void setGenericFloat (float value, bool force)
void setGenericShort (short value, bool force)
void setGenericInt (int value, bool force)
MDataHandle child (const MPlug &plug)
MDataHandle child (const MObject &attribute)
MDataHandleoperator= (const MDataHandle &other)
 MDataHandle (const MDataHandle &)

Friends

class MDataBlock
class MArrayDataBuilder
class MArrayDataHandle
class MItGeometry

Constructor & Destructor Documentation

MDataHandle::MDataHandle (  ) 

Constructor for MDataHandle.

Typically, data handles will be obtained from the data block (MDataBlock). A user constructed MDataHandle should not be used until a valid data handle has been assigned to it (ie. using the assignment operator).

MDataHandle::MDataHandle ( const MDataHandle other  )  [inline]

Copy constructor.


Member Function Documentation

bool MDataHandle::isNumeric (  )  const

Returns true if this handle is for simple numeric data. That means that the numeric data is directly accessible through the non-generic as*() and set*() methods of this handle. For example, depending on handle initialization, the asBool() may be called but the asGenericBool() should not be called.

Returns:
Whether this handle points to simple numeric data

bool MDataHandle::isGeneric ( bool &  isNumeric,
bool &  isNull 
) const

Returns true if this handle is for generic data. There are 2 forms of generic data. The first is for simple data and is used if the isNumeric parameter returns true. In this case, the asGeneric*() and setGeneric*() methods of this class are used to query and set values. The second form of generic data is for more complex attribute types. As a result the type of the object must be checked and an appropriate attribute function set initialized with the object.

Parameters:
[out] isNumeric returns true if this handle is for simple generic numeric data
[out] isNull returns true if this handle is not set
Returns:
True will be returned if this handle points to a generic attribute
Examples:

MFnNumericData::Type MDataHandle::numericType (  )  const

Returns the type of data represented by this handle. This method is only valid for data handles of simple numeric types.

Returns:
The numeric type

MFnData::Type MDataHandle::type (  )  const

Returns the type of data represented by this handle.

Returns:
The data type
Examples:

MTypeId MDataHandle::typeId (  )  const

Returns the type of data represented by this handle as a type id. A type id is a four character code that is used to identify the data type. If no data exists for this handle, the type id will be 0x0.

Returns:
The data type

MStatus MDataHandle::acceptedTypeIds ( MUintArray typids  )  const

This method returns an array of MTypeId ids that the data handle can accept. The MTypeId can be reconstructed using the unsigned int in id.

Parameters:
[out] typids an unsigned int array to copy the ids to
Returns:
Status code
Status Codes:

MObject MDataHandle::data (  ) 

Returns the data object from this handle. The object returned should be used with the appropriate data function set. This method is not valid for simple numeric types.

Returns:
The data object
Examples:

MStatus MDataHandle::copy ( const MDataHandle src  ) 

Copies the attribute from the src attribute to the attribute referenced by this handle. This is the only method which can completely copy a compound attribute from one handle to another. The construct outputHandle.set (inputHandle.data()) will not work for compound or multi attributes.

Parameters:
[in] src the handle to the attribute to copy
Returns:
Status code
Status Codes:

void MDataHandle::setClean (  ) 

bool & MDataHandle::asBool (  )  const

char & MDataHandle::asChar (  )  const

Returns the data represented by this handle in the data block.

Returns:
The handle's data as a char

unsigned char & MDataHandle::asUChar (  )  const

Returns the data represented by this handle in the data block.

Returns:
The handle's data as an unsigned char

short & MDataHandle::asShort (  )  const

Returns the data represented by this handle in the data block.

Returns:
The handle's data as a short integer
Examples:

int & MDataHandle::asLong (  )  const

This method is obsolete.

Deprecated:
Use MDataHandle::asInt instead.
Returns:
The handle's data as a int integer
Examples:

int & MDataHandle::asInt (  )  const

Returns the data represented by this handle in the data block.

Returns:
The handle's data as a int integer
Examples:

void *& MDataHandle::asAddr (  )  const

Returns the data represented by this handle in the data block.

Returns:
The handle's data as an address
Examples:

float & MDataHandle::asFloat (  )  const

double & MDataHandle::asDouble (  )  const

MDistance MDataHandle::asDistance (  )  const

Returns the data represented by this handle in the data block.

Returns:
The handle's data as an Distance

MAngle MDataHandle::asAngle (  )  const

Returns the data represented by this handle in the data block.

Returns:
The handle's data as an MAngle

MTime MDataHandle::asTime (  )  const

Returns the data represented by this handle in the data block. Even though this method does not return a reference to an MTime, modifications to the MTime instance will update the contents of the handle in the data block. The method MDataHandle::setClean should be called after the data block has been modified.

Returns:
The handle's data as an MTime
Examples:

short2 & MDataHandle::asShort2 (  )  const

Returns the data represented by this handle in the data block.

Returns:
The handle's data as an array of two short integers

long2 & MDataHandle::asLong2 (  )  const

This method is obsolete.

Deprecated:
Use MDataHandle::asInt2 instead.
Returns:
The handle's data as an array of two int integers

int2 & MDataHandle::asInt2 (  )  const

Returns the data represented by this handle in the data block.

Returns:
The handle's data as an array of two int integers

float2 & MDataHandle::asFloat2 (  )  const

Returns the data represented by this handle in the data block.

Returns:
The handle's data as an array of two floats
Examples:

double2 & MDataHandle::asDouble2 (  )  const

Returns the data represented by this handle in the data block.

Returns:
The handle's data as an array of two doubles

short3 & MDataHandle::asShort3 (  )  const

Returns the data represented by this handle in the data block.

Returns:
The handle's data as an array of three short integers

long3 & MDataHandle::asLong3 (  )  const

This method is obsolete.

Deprecated:
Use MDataHandle::asInt3 instead.
Returns:
The handle's data as an array of three int integers

int3 & MDataHandle::asInt3 (  )  const

Returns the data represented by this handle in the data block.

Returns:
The handle's data as an array of three int integers

float3 & MDataHandle::asFloat3 (  )  const

Returns the data represented by this handle in the data block.

Returns:
The handle's data as an array of three float values
Examples:

double3 & MDataHandle::asDouble3 (  )  const

Returns the data represented by this handle in the data block.

Returns:
The handle's data as an array array of three doubles
Examples:

MVector & MDataHandle::asVector (  )  const

Returns the data represented by this handle in the data block.

Returns:
The handle's data as a vector
Examples:

MFloatVector & MDataHandle::asFloatVector (  )  const

MMatrix & MDataHandle::asMatrix (  )  const

Returns the data represented by this handle in the data block. This method is only valid for attributes created using the MFnMatrixAttribute function set.

Returns:
The handle's data as a matrix
Examples:

MFloatMatrix & MDataHandle::asFloatMatrix (  )  const

Returns the data represented by this handle in the data block. This method is only valid for attributes created using the MFnMatrixAttribute function set.

Returns:
The handle's data as a matrix of floats
Examples:

MString & MDataHandle::asString (  )  const

Returns the data represented by this handle in the data block.

Returns:
The handle's data as a string
Examples:

MObject MDataHandle::asNurbsCurve (  )  const

Returns the data represented by this handle in the data block. The object returned by this call may be used directly with the nurbs curve function set and iterator. Even though this method does not return a reference to an MObject, modifications to the MObject instance will update the contents of the handle in the data block. The method MDataHandle::setClean should be called after the data block has been modified.

The curve returned by this method will be in local space even if the connection is supplying world space geometry. This occurs mostly for efficiency reasons. In the case of a world space geometry connection, the MObject returned by this method will also contain the world space transformation matrix. This means that world space operations may be performed on this object using the nurbs curve function set and iterator.

It is possible to get the matrix that defines the local to world transformation for this geometry using the MDataHandle::geometryTransformMatrix() method.

Returns:
The handle's data as a nurbs curve
Examples:

MObject MDataHandle::asNurbsSurface (  )  const

Returns the data represented by this handle in the data block. The object returned by this call may be used directly with the nurbs surface function set and iterator. Even though this method does not return a reference to an MObject, modifications to the MObject instance will update the contents of the handle in the data block. The method MDataHandle::setClean should be called after the data block has been modified.

The surface returned by this method will be in local space even if the connection is supplying world space geometry. This occurs mostly for efficiency reasons. In the case of a world space geometry connection, the MObject returned by this method will also contain the world space transformation matrix. This means that world space operations may be performed on this object using the nurbs surface function set and iterator.

It is possible to get the matrix that defines the local to world transformation for this geometry using the MDataHandle::geometryTransformMatrix() method.

Returns:
The handle's data as a nurbs surface
Examples:

MObject MDataHandle::asMesh (  )  const

Returns the data represented by this handle in the data block. The object returned by this call may be used directly with the mesh function set and iterators. Even though this method does not return a reference to an MObject, modifications to the MObject instance will update the contents of the handle in the data block. The method MDataHandle::setClean should be called after the data block has been modified.

The surface returned by this method will be in local space even if the connection is supplying world space geometry. This occurs mostly for efficiency reasons. In the case of a world space geometry connection, the MObject returned by this method will also contain the world space transformation matrix. This means that world space operations may be performed on this object using the mesh function set and iterators.

It is possible to get the matrix that defines the local to world transformation for this geometry using the MDataHandle::geometryTransformMatrix() method.

Returns:
The handle's data as a mesh (polygonal surface)
Examples:

MObject MDataHandle::asSubdSurface (  )  const

Returns the data represented by this handle in the data block. The object returned by this call may be used directly with the subdivision surface function set and iterator. Even though this method does not return a reference to an MObject, modifications to the MObject instance will update the contents of the handle in the data block. The method MDataHandle::setClean should be called after the data block has been modified.

The subdivision surface returned by this method will be in local space even if the connection is supplying world space geometry. This occurs mostly for efficiency reasons. In the case of a world space geometry connection, the MObject returned by this method will also contain the world space transformation matrix. This means that world space operations may be performed on this object using the subdivision surface function set and iterator.

It is possible to get the matrix that defines the local to world transformation for this geometry using the MDataHandle::geometryTransformMatrix() method.

Returns:
The handle's data as a subdivision surface
Examples:

MObject MDataHandle::asNurbsCurveTransformed (  )  const

Returns the data represented by this handle in the data block. The object returned by this call may be used directly with the nurbs curve function set (MFnNurbsCurve) or the nurbs curve CV iterator (MItCurveCV).

If the incoming curve comes with world space transformation data, then it will be applied to the data that is returned. In other words, the curve that is returned will be the curve as it exists in world space.

The curve that is returned from this method should not be modified. This method is only provided to make it easier to take world space geometry as input.

Returns:
The handle's data as a nurbs curve
Examples:

MObject MDataHandle::asNurbsSurfaceTransformed (  )  const

Returns the data represented by this handle in the data block. The object returned by this call may be used directly with the nurbs surface function set (MFnNurbsSurface) or the nurbs surface CV iterator (MItSurfaceCV).

If the incoming surface comes with world space transformation data, then it will be applied to the data that is returned. In other words, the surface that is returned will be the surface as it exists in world space.

The surface that is returned from this method should not be modified. This method is only provided to make it easier to take world space geometry as input.

Returns:
The handle's data as a nurbs surface

MObject MDataHandle::asMeshTransformed (  )  const

Returns the data represented by this handle in the data block. The object returned by this call may be used directly with the mesh function set (MFnMesh) or any of the mesh iterators.

If the incoming mesh comes with world space transformation data, then it will be applied to the data that is returned. In other words, the mesh that is returned will be the mesh as it exists in world space.

The mesh that is returned from this method should not be modified. This method is only provided to make it easier to take world space geometry as input.

Returns:
The handle's data as a mesh

MObject MDataHandle::asSubdSurfaceTransformed (  )  const

Returns the data represented by this handle in the data block. The object returned by this call may be used directly with the subdivision surface function set (MFnSubdSurface) or the subdivision surface iterators (MItSubdVertex, MItSubdFace, MItSubdEdge).

If the incoming surface comes with world space transformation data, then it will be applied to the data that is returned. In other words, the surface that is returned will be the surface as it exists in world space.

The surface that is returned from this method should not be modified. This method is only provided to make it easier to take world space geometry as input.

Returns:
The handle's data as a subdivision surface

const MMatrix & MDataHandle::geometryTransformMatrix (  )  const

This method returns a reference to the local-to-world transformation matrix that can accompany a geometry data object. Only use this method on handles to geometry data (curves, surfaces, and meshes).

If no local-to-world transformation information has been provided then this will be an identity matrix.

Returns:
The handle's transform data as a 4x4 matrix

MPxData * MDataHandle::asPluginData (  )  const

Returns the data represented by this handle in the data block. The object is returned as plugin data. This should be used to access data types defined by plugins.

Returns:
The handle's data
Examples:

void MDataHandle::set ( bool  val  ) 

void MDataHandle::set ( char  val  ) 

No script support.

This method is not available in Python.

Set the data that this handle represents in the data block.

Python Notes

This method is not available from Python. See setChar method instead.

Parameters:
[in] val the new value

void MDataHandle::set ( short  val  ) 

No script support.

This method is not available in Python.

Set the data that this handle represents in the data block.

Python Notes

This method is not available from Python. See setShort method instead.

Parameters:
[in] val the new value

void MDataHandle::set ( int  val  ) 

No script support.

This method is not available in Python.

Set the data that this handle represents in the data block.

Python Notes

This method is not available from Python. See setInt method instead.

Parameters:
[in] val the new value

void MDataHandle::set ( float  val  ) 

No script support.

This method is not available in Python.

Set the data that this handle represents in the data block.

Python Notes

This method is not available from Python. See setFloat method instead.

Parameters:
[in] val the new value

void MDataHandle::set ( double  val  ) 

No script support.

This method is not available in Python.

Set the data that this handle represents in the data block.

Python Notes

This method is not available from Python. See setDouble method instead.

Parameters:
[in] val the new value

void MDataHandle::set ( const MMatrix val  ) 

No script support.

This method is not available in Python.

Set the data that this handle represents in the data block. This method is only valid for attributes created using the MFnMatrixAttribute function set.

Python Notes

This method is not available from Python. See setMMatrix method instead.

Parameters:
[in] val the new value

void MDataHandle::set ( const MFloatMatrix val  ) 

No script support.

This method is not available in Python.

Set the data that this handle represents in the data block.

Python Notes

This method is not available from Python. See setMFloatMatrix method instead.

Parameters:
[in] val the new value

void MDataHandle::set ( const MVector val  ) 

No script support.

This method is not available in Python.

Set the data that this handle represents in the data block.

Python Notes

This method is not available from Python. See setMVector method instead.

Parameters:
[in] val the new value

void MDataHandle::set ( const MFloatVector val  ) 

No script support.

This method is not available in Python.

Set the data that this handle represents in the data block.

Python Notes

This method is not available from Python. See setMFloatVector method instead.

Parameters:
[in] val the new value

void MDataHandle::set ( const MDistance val  ) 

No script support.

This method is not available in Python.

Set the data that this handle represents in the data block.

Python Notes

This method is not available from Python. See setMDistance method instead.

Parameters:
[in] val the new value

void MDataHandle::set ( const MAngle val  ) 

No script support.

This method is not available in Python.

Set the data that this handle represents in the data block.

Python Notes

This method is not available from Python. See setMAngle method instead.

Parameters:
[in] val the new value

void MDataHandle::set ( const MTime val  ) 

No script support.

This method is not available in Python.

Set the data that this handle represents in the data block.

Python Notes

This method is not available from Python. See setMTime method instead.

Parameters:
[in] val the new value

void MDataHandle::set ( short  val1,
short  val2 
)

No script support.

This method is not available in Python.

Set the data that this handle represents in the data block.

Python Notes

This method is not available from Python. See set2Short method instead.

Parameters:
[in] val1 the first value in the two element array
[in] val2 the second value in the two element array

void MDataHandle::set ( int  val1,
int  val2 
)

No script support.

This method is not available in Python.

Set the data that this handle represents in the data block.

Python Notes

This method is not available from Python. See set2Int method instead.

Parameters:
[in] val1 the first value in the two element array
[in] val2 the second value in the two element array

void MDataHandle::set ( float  val1,
float  val2 
)

No script support.

This method is not available in Python.

Set the data that this handle represents in the data block.

Python Notes

This method is not available from Python. See set2Float method instead.

Parameters:
[in] val1 the first value in the two element array
[in] val2 the second value in the two element array

void MDataHandle::set ( double  val1,
double  val2 
)

No script support.

This method is not available in Python.

Set the data that this handle represents in the data block.

Python Notes

This method is not available from Python. See set2Double method instead.

Parameters:
[in] val1 the first value in the two element array
[in] val2 the second value in the two element array

void MDataHandle::set ( short  val1,
short  val2,
short  val3 
)

No script support.

This method is not available in Python.

Set the data that this handle represents in the data block.

Python Notes

This method is not available from Python. See set3Short method instead.

Parameters:
[in] val1 the first value in the three element array
[in] val2 the second value in the three element array
[in] val3 the third value in the three element array

void MDataHandle::set ( int  val1,
int  val2,
int  val3 
)

No script support.

This method is not available in Python.

Set the data that this handle represents in the data block.

Python Notes

This method is not available from Python. See set3Int method instead.

Parameters:
[in] val1 the first value in the three element array
[in] val2 the second value in the three element array
[in] val3 the third value in the three element array

void MDataHandle::set ( float  val1,
float  val2,
float  val3 
)

No script support.

This method is not available in Python.

Set the data that this handle represents in the data block.

Python Notes

This method is not available from Python. See set3Float method instead.

Parameters:
[in] val1 the first value in the three element array
[in] val2 the second value in the three element array
[in] val3 the third value in the three element array

void MDataHandle::set ( double  val1,
double  val2,
double  val3 
)

No script support.

This method is not available in Python.

Set the data that this handle represents in the data block.

Python Notes

This method is not available from Python. See set3Double method instead.

Parameters:
[in] val1 the first value in the three element array
[in] val2 the second value in the three element array
[in] val3 the third value in the three element array

void MDataHandle::set ( const MString val  ) 

No script support.

This method is not available in Python.

Set the data that this handle represents in the data block.

Python Notes

This method is not available from Python. See setString method instead.

Parameters:
[in] val the new string value

MStatus MDataHandle::set ( const MObject data  ) 

No script support.

This method is not available in Python.

Set the data that this handle represents in the data block. This method assumes that the MObject is a dependency graph data object. These objects can be created using the appropriate MFn..Data function set. Note that this method cannot be used to copy compound or multi attributes from one handle to another via the construct outputHandle.set (inputHandle.data()). To copy these user defined attributes, the method MDataHandle::copy must be used.

Python Notes

This method is not available from Python. See setMObject method instead.

Parameters:
[in] data the data object
Returns:
Status code
Status Codes:

MStatus MDataHandle::set ( MPxData data  ) 

No script support.

This method is not available in Python.

Set the data that this handle represents in the data block. This method takes a pointer to a user defined data object. The data block will become the new owner of the data object that you pass in. Do not delete it.

Python Notes

This method is not available from Python. See setMPxData method instead.

Parameters:
[in] data the data object
Returns:
Status code
Status Codes:

void MDataHandle::setBool ( bool  val  ) 

Set the data that this handle represents in the data block.

Parameters:
[in] val the new value

void MDataHandle::setChar ( char  val  ) 

Set the data that this handle represents in the data block.

Parameters:
[in] val the new value

void MDataHandle::setShort ( short  val  ) 

Set the data that this handle represents in the data block.

Parameters:
[in] val the new value

void MDataHandle::setInt ( int  val  ) 

Set the data that this handle represents in the data block.

Parameters:
[in] val the new value

void MDataHandle::setFloat ( float  val  ) 

Set the data that this handle represents in the data block.

Parameters:
[in] val the new value

void MDataHandle::setDouble ( double  val  ) 

Set the data that this handle represents in the data block.

Parameters:
[in] val the new value

void MDataHandle::setMMatrix ( const MMatrix val  ) 

Set the data that this handle represents in the data block. This method is only valid for attributes created using the MFnMatrixAttribute function set.

Parameters:
[in] val the new value

void MDataHandle::setMFloatMatrix ( const MFloatMatrix val  ) 

Set the data that this handle represents in the data block.

Parameters:
[in] val the new value

void MDataHandle::setMVector ( const MVector val  ) 

Set the data that this handle represents in the data block.

Parameters:
[in] val the new value

void MDataHandle::setMFloatVector ( const MFloatVector val  ) 

Set the data that this handle represents in the data block.

Parameters:
[in] val the new value

void MDataHandle::setMDistance ( const MDistance val  ) 

Set the data that this handle represents in the data block.

Parameters:
[in] val the new value

void MDataHandle::setMAngle ( const MAngle val  ) 

Set the data that this handle represents in the data block.

Parameters:
[in] val the new value

void MDataHandle::setMTime ( const MTime val  ) 

Set the data that this handle represents in the data block.

Parameters:
[in] val the new value

void MDataHandle::set2Short ( short  val1,
short  val2 
)

Set the data that this handle represents in the data block.

Parameters:
[in] val1 the first value in the two element array
[in] val2 the second value in the two element array

void MDataHandle::set2Int ( int  val1,
int  val2 
)

Set the data that this handle represents in the data block.

Parameters:
[in] val1 the first value in the two element array
[in] val2 the second value in the two element array

void MDataHandle::set2Float ( float  val1,
float  val2 
)

Set the data that this handle represents in the data block.

Parameters:
[in] val1 the first value in the two element array
[in] val2 the second value in the two element array

void MDataHandle::set2Double ( double  val1,
double  val2 
)

Set the data that this handle represents in the data block.

Parameters:
[in] val1 the first value in the two element array
[in] val2 the second value in the two element array

void MDataHandle::set3Short ( short  val1,
short  val2,
short  val3 
)

Set the data that this handle represents in the data block.

Parameters:
[in] val1 the first value in the three element array
[in] val2 the second value in the three element array
[in] val3 the third value in the three element array

void MDataHandle::set3Int ( int  val1,
int  val2,
int  val3 
)

Set the data that this handle represents in the data block.

Parameters:
[in] val1 the first value in the three element array
[in] val2 the second value in the three element array
[in] val3 the third value in the three element array

void MDataHandle::set3Float ( float  val1,
float  val2,
float  val3 
)

Set the data that this handle represents in the data block.

Parameters:
[in] val1 the first value in the three element array
[in] val2 the second value in the three element array
[in] val3 the third value in the three element array

void MDataHandle::set3Double ( double  val1,
double  val2,
double  val3 
)

Set the data that this handle represents in the data block.

Parameters:
[in] val1 the first value in the three element array
[in] val2 the second value in the three element array
[in] val3 the third value in the three element array

void MDataHandle::setString ( const MString val  ) 

Set the data that this handle represents in the data block.

Parameters:
[in] val the new string value

MStatus MDataHandle::setMObject ( const MObject data  ) 

Set the data that this handle represents in the data block. This method assumes that the MObject is a dependency graph data object. These objects can be created using the appropriate MFn..Data function set. Note that this method cannot be used to copy compound or multi attributes from one handle to another via the construct outputHandle.set (inputHandle.data()). To copy these user defined attributes, the method MDataHandle::copy must be used.

Parameters:
[in] data the data object
Returns:
Status code
Status Codes:
Examples:

MStatus MDataHandle::setMPxData ( MPxData data  ) 

Set the data that this handle represents in the data block. This method takes a pointer to a user defined data object. The data block will become the new owner of the data object that you pass in. Do not delete it.

Parameters:
[in] data the data object
Returns:
Status code
Status Codes:

bool MDataHandle::asGenericBool (  )  const

Returns the generic data represented by this handle in the data block.

Returns:
The generic handle's data as a bool

unsigned char MDataHandle::asGenericChar (  )  const

Returns the generic data represented by this handle in the data block.

Returns:
The generic handle's data as a char

double MDataHandle::asGenericDouble (  )  const

Returns the generic data represented by this handle in the data block.

Returns:
The generic handle's data as a double

float MDataHandle::asGenericFloat (  )  const

Returns the generic data represented by this handle in the data block.

Returns:
The generic handle's data as a float

short MDataHandle::asGenericShort (  )  const

Returns the generic data represented by this handle in the data block.

Returns:
The generic handle's data as a short

int MDataHandle::asGenericInt (  )  const

Returns the generic data represented by this handle in the data block.

Returns:
The generic handle's data as a int

void MDataHandle::setGenericBool ( bool  value,
bool  force 
)

Set the data that this handle represents in the data block.

Parameters:
[in] value the new bool value
[in] force force the new type of the attribute to be bool
Examples:

void MDataHandle::setGenericChar ( unsigned char  value,
bool  force 
)

Set the data that this handle represents in the data block.

Parameters:
[in] value the new char value
[in] force force the new type of the attribute to be char
Examples:

void MDataHandle::setGenericDouble ( double  value,
bool  force 
)

Set the data that this handle represents in the data block.

Parameters:
[in] value the new double value
[in] force force the new type of the attribute to be double
Examples:

void MDataHandle::setGenericFloat ( float  value,
bool  force 
)

Set the data that this handle represents in the data block.

Parameters:
[in] value the new float value
[in] force force the new type of the attribute to be float
Examples:

void MDataHandle::setGenericShort ( short  value,
bool  force 
)

Set the data that this handle represents in the data block.

Parameters:
[in] value the new short value
[in] force force the new type of the attribute to be short
Examples:

void MDataHandle::setGenericInt ( int  value,
bool  force 
)

Set the data that this handle represents in the data block.

Parameters:
[in] value the new int value
[in] force force the new type of the attribute to be int
Examples:

MDataHandle MDataHandle::child ( const MPlug plug  ) 

Get a handle to a child of this handle. This is used if you have a handle to a compound attribute.

Parameters:
[in] plug the plug of the child
Returns:
The data handle for the child
Examples:

MDataHandle MDataHandle::child ( const MObject attribute  ) 

Get a handle to a child of this handle. This is used if you have a handle to a compound attribute.

Parameters:
[in] attribute the attribute of the child
Returns:
The data handle for the child

MDataHandle & MDataHandle::operator= ( const MDataHandle other  )  [inline]

Assignment operator.

Parameters:
[in] other Data handle to copy from.


Autodesk® Maya® 2009 © 1997-2008 Autodesk, Inc. All rights reserved. Generated with doxygen 1.5.6