#include
<MDataBlock.h>
List of all
members.
Detailed Description
Dependency node data block.
An MDataBlock provides storage for
the data being received by or sent by the node. It is the data for
the plugs and attributes of the node. The data block is only valid
during the compute method of the depend node. Pointers to the data
block should not be retained after the compute method.
Access to the data in an MDataBlock is done using an
MDataHandle
or an MArrayDataHandle.
-
affectsNode.cpp, animCubeNode.cpp,
anisotropicShader.cpp,
apiMeshCreator.cpp,
apiMeshCreator.h,
apiMeshShape.cpp,
apiMeshShape.h, arcLenNode.cpp,
backfillShader.cpp,
blindDataMesh.cpp,
blindDataMesh.h,
blindDataShader.cpp,
blindDataShader.h,
brickShader.cpp, buildRotationNode.cpp,
cellShader.cpp, cgfxShaderNode.cpp,
cgfxShaderNode.h,
cgfxVector.cpp, cgfxVector.h,
checkerShader.cpp,
circleNode.cpp, clearcoat.cpp,
closestPointOnCurveNode.cpp,
closestPointOnCurveNode.h,
compositingShader.cpp,
contrastShader.cpp,
curvedArrowsNode.cpp,
cvColorNode.cpp,
cvColorShader.cpp,
depthShader.cpp, displacementShader.cpp,
dynExprField.cpp,
dynExprField.h, exampleMRampAttribute.cpp,
flameShader.cpp, footPrintManip.cpp,
footPrintNode.cpp,
fullLoftNode.cpp,
gammaShader.cpp, genericAttributeNode.cpp,
geometrySurfaceConstraint.cpp,
geometrySurfaceConstraint.h,
geomShader.cpp, GLSLShaderNode.cpp,
GLSLShaderNode.h,
hwColorPerVertexShader.cpp,
hwDecalBumpShader_NV20.cpp,
hwDecalBumpShader_NV20.h,
hwPhongShader.cpp,
hwPhongShader.h,
hwReflectBumpShader_NV20.cpp,
hwReflectBumpShader_NV20.h,
hwRefractReflectShader_NV20.cpp,
hwRefractReflectShader_NV20.h,
hwToonShader_NV20.cpp,
hwToonShader_NV20.h,
hwUnlitShader.cpp,
hwUnlitShader.h,
interpShader.cpp,
jitterNode.cpp, lambertShader.cpp,
latticeNoise.h, latticeNoiseNode.cpp,
lavaShader.cpp, lightShader.cpp,
meshOpNode.cpp, meshOpNode.h,
mixtureShader.cpp,
multiCurveNode.cpp,
noiseShader.cpp, offsetNode.cpp,
ownerEmitter.cpp,
ownerEmitter.h, particleAttrNode.cpp,
particleAttrNode.h,
phongShader.cpp, pointOnMeshInfoNode.cpp,
pointOnMeshInfoNode.h,
pointOnSubdNode.cpp,
pointOnSubdNode.h,
polyTrgNode.cpp,
quadricShape.cpp,
renderAccessNode.cpp,
rockingTransform.cpp,
rockingTransformCheck.cpp,
rockingTransformCheck.h,
shadowMatteShader.cpp,
shellNode.cpp, shiftNode.cpp,
simpleEmitter.cpp,
simpleEmitter.h, simpleFluidEmitter.cpp,
simpleFluidEmitter.h,
simpleLoftNode.cpp,
simpleSpring.cpp,
simpleSpring.h, sineNode.cpp,
slopeShaderNode.cpp,
slopeShaderNode.h,
solidCheckerShader.cpp,
splitUVNode.cpp,
splitUVNode.h, stringFormatNode.cpp,
sweptEmitter.cpp,
sweptEmitter.h, swissArmyManip.cpp,
testNobjectNode.cpp,
testNobjectNode.h,
testNucleusNode.cpp,
testNucleusNode.h,
torusField.cpp, torusField.h,
transCircleNode.cpp,
volumeShader.cpp,
weightListNode.cpp,
and yTwistNode.cpp.
Constructor & Destructor Documentation
MDataBlock::~MDataBlock |
( |
|
) |
[virtual] |
Member Function Documentation
Gets a handle to this data block for the given plug's data. The
data represented by the handle is guaranteed to be valid for
reading. If the data is from a dirty connection, then the
connection will be evaluated. If no connection is present, then the
value that the plug has been set to will be returned. If the plug
has not been set to a particular value, then the default value will
be returned.
- Parameters:
-
[in] |
plug |
the plug whose data you wish to access |
[out] |
ReturnStatus |
the return status |
- Returns:
- Data handle for the given plug's data
- Status Codes:
-
- affectsNode.cpp, animCubeNode.cpp,
anisotropicShader.cpp,
apiMeshCreator.cpp,
apiMeshShape.cpp,
arcLenNode.cpp, backfillShader.cpp,
blindDataMesh.cpp,
brickShader.cpp, buildRotationNode.cpp,
cellShader.cpp, cgfxVector.cpp,
checkerShader.cpp,
circleNode.cpp, clearcoat.cpp,
closestPointOnCurveNode.cpp,
compositingShader.cpp,
contrastShader.cpp,
cvColorNode.cpp,
cvColorShader.cpp,
depthShader.cpp, displacementShader.cpp,
dynExprField.cpp,
flameShader.cpp, gammaShader.cpp,
genericAttributeNode.cpp,
geometrySurfaceConstraint.cpp,
geomShader.cpp, hwColorPerVertexShader.cpp,
hwPhongShader.cpp,
hwToonShader_NV20.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, particleAttrNode.cpp,
phongShader.cpp, pointOnMeshInfoNode.cpp,
pointOnSubdNode.cpp,
rockingTransformCheck.cpp,
shadowMatteShader.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,
testNucleusNode.cpp,
torusField.cpp, torusField.h,
transCircleNode.cpp,
volumeShader.cpp, and
yTwistNode.cpp.
Gets a handle to this data block for the given plug's data. The
data represented by the handle is guaranteed to be valid for
reading. If the data is from a dirty connection, then the
connection will be evaluated. If no connection is present, then the
value that the plug has been set to will be returned. If the plug
has not been set to a particular value, then the default value will
be returned.
- Parameters:
-
[in] |
attribute |
the attribute of the node that you want to access |
[out] |
ReturnStatus |
the return status |
- Returns:
- Data handle for the given attributes's data
- Status Codes:
-
Gets a handle to this data block for the given attributes's
data. The data is not guaranteed to be valid. No dependency graph
evaluations will be done. Therefore, this handle should be used
only for writing.
- Parameters:
-
[in] |
plug |
the plug whose data you wish to access |
[out] |
ReturnStatus |
the return status |
- Returns:
- Data handle for the given plug's data
- Status Codes:
-
- affectsNode.cpp, animCubeNode.cpp,
anisotropicShader.cpp,
apiMeshShape.cpp,
arcLenNode.cpp, backfillShader.cpp,
blindDataMesh.cpp,
blindDataShader.cpp,
brickShader.cpp, buildRotationNode.cpp,
cellShader.cpp, cgfxShaderNode.cpp,
cgfxVector.cpp, checkerShader.cpp,
circleNode.cpp, clearcoat.cpp,
closestPointOnCurveNode.cpp,
compositingShader.cpp,
contrastShader.cpp,
cvColorNode.cpp,
cvColorShader.cpp,
depthShader.cpp, displacementShader.cpp,
flameShader.cpp, fullLoftNode.cpp,
gammaShader.cpp, genericAttributeNode.cpp,
geometrySurfaceConstraint.cpp,
geomShader.cpp, GLSLShaderNode.cpp,
hwColorPerVertexShader.cpp,
hwDecalBumpShader_NV20.cpp,
hwPhongShader.cpp,
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,
noiseShader.cpp, particleAttrNode.cpp,
phongShader.cpp, pointOnMeshInfoNode.cpp,
pointOnSubdNode.cpp,
renderAccessNode.cpp,
rockingTransform.cpp,
rockingTransformCheck.cpp,
shadowMatteShader.cpp,
shellNode.cpp, shiftNode.cpp,
simpleLoftNode.cpp,
sineNode.cpp, slopeShaderNode.cpp,
solidCheckerShader.cpp,
splitUVNode.cpp,
stringFormatNode.cpp,
testNobjectNode.cpp,
transCircleNode.cpp,
and volumeShader.cpp.
Gets a handle to this data block for the given attributes's
data. The data is not guaranteed to be valid. No dependency graph
evaluations will be done. Therefore, this handle should be used
only for writing.
- Parameters:
-
[in] |
attribute |
the attribute of the node that you want to access |
[out] |
ReturnStatus |
the return status |
- Returns:
- Data handle for the given attribute's data
- Status Codes:
-
Gets an array handle to this data block for the given plug's
data. This is only valid if the given plug has array data. The data
represented by the handle will be valid. If the data is from a
dirty connection, then the connection will be evaluated. If no
connection is present, then the value that the plug has been set to
will be returned. If the plug has not been set to a particular
value, then the default value will be returned.
- Parameters:
-
[in] |
plug |
the plug whose data you wish to access |
[out] |
ReturnStatus |
the return status |
- Returns:
- Array data handle for the given attributes's data
- Status Codes:
-
- anisotropicShader.cpp,
backfillShader.cpp,
dynExprField.cpp,
fullLoftNode.cpp,
geometrySurfaceConstraint.cpp,
lambertShader.cpp,
ownerEmitter.h, phongShader.cpp,
shadowMatteShader.cpp,
simpleEmitter.h, sweptEmitter.h,
testNucleusNode.cpp,
and weightListNode.cpp.
Gets an array handle to this data block for the given plug's
data. This is only valid if the given plug has array data. The data
represented by the handle will be valid. If the data is from a
dirty connection, then the connection will be evaluated. If no
connection is present, then the value that the plug has been set to
will be returned. If the plug has not been set to a particular
value, then the default value will be returned.
- Parameters:
-
[in] |
attribute |
The attribute whose data you wish to access |
[out] |
ReturnStatus |
The return status |
- Returns:
- Array data handle for the given attributes's data
- Status Codes:
-
Gets a handle to this data block for the given plug. No
dependency graph evaluations will be done, and therefore the data
is not guaranteed to be valid (i.e. it may be dirty). Typically,
this method is used to get the handle during compute in order to
write output data to it.
Another usage of this method is to access an input array
attribute without evaluating any of its array elements. One can
then use MArrayDataHandle::jumpToElement
to get to the particular element of interest, and evaluate its
value using MArrayDataHandle::inputValue.
- Parameters:
-
[in] |
plug |
the plug whose data you wish to access |
[out] |
ReturnStatus |
the return status |
- Returns:
- Array data handle for the given plug's data
- Status Codes:
-
Gets a handle to this data block for the given attributes's
data. The data is not guaranteed to be valid. No dependency graph
evaluations will be done. Therefore, this handle should be used
only for writing.
- Parameters:
-
[in] |
attribute |
the attribute of the node that you want to access |
[out] |
ReturnStatus |
the return status |
- Returns:
- Array data handle for the given attribute's data
- Status Codes:
-
Tells the dependency graph that the given plug has been updated
and is now clean. This should be called after the data in the plug
has been recalculated from the inputs of the node.
- Parameters:
-
[in] |
plug |
the plug that is to be marked clean |
- Returns:
- Result status code
- Status Codes:
-
- affectsNode.cpp, animCubeNode.cpp,
anisotropicShader.cpp,
apiMeshCreator.cpp,
arcLenNode.cpp, blindDataMesh.cpp,
cgfxVector.cpp, circleNode.cpp,
closestPointOnCurveNode.cpp,
cvColorNode.cpp,
dynExprField.cpp,
fullLoftNode.cpp,
genericAttributeNode.cpp,
geometrySurfaceConstraint.cpp,
hwColorPerVertexShader.cpp,
jitterNode.cpp, latticeNoiseNode.cpp,
ownerEmitter.cpp,
pointOnMeshInfoNode.cpp,
pointOnSubdNode.cpp,
shellNode.cpp, simpleEmitter.cpp,
simpleLoftNode.cpp,
sineNode.cpp, sweptEmitter.cpp,
testNobjectNode.cpp,
testNucleusNode.cpp,
torusField.cpp, and
transCircleNode.cpp.
Tells the dependency graph that the given attribute has been
updated and is now clean. This should be called after the data in
the plug has been recalculated from the inputs of the node.
- Parameters:
-
[in] |
attribute |
the attribute that we have updated the data for |
- Returns:
- Result status code
- Status Codes:
-
bool MDataBlock::isClean |
( |
const MPlug & |
plug |
) |
|
Queries the dependency graph to see whether the given plug is
clean.
- Parameters:
-
[in] |
plug |
the plug that is to be query |
- Returns:
- Result boolean code, true if plug is clean, false
otherwise.
bool MDataBlock::isClean |
( |
const MObject & |
attribute, |
|
|
MStatus * |
ReturnStatus =
NULL |
|
|
) |
|
|
|
Queries the dependency graph to see whether the given attribute
is clean.
- Parameters:
-
[in] |
attribute |
The attribute to query. |
[out] |
ReturnStatus |
Status code. |
- Returns:
- true if the attribute is clean, false
otherwise.
- Status Codes:
-
Returns a copy of the dependecy graph context for which this
data block was created. The context is used to specify how a
dependency node is going to be evaluated.
- Parameters:
-
[out] |
ReturnStatus |
Status code |
- Returns:
- The dependency graph context
- Status Codes:
-
Set the dependency graph context for this data block. The
context is used to specify how a dependency node is going to be
evaluated, thus replacing the context for the given datablock. This
does not modify the dirty state of the datablock so that they apply
to the new context.
This function should not be used for timed evaluation.
- Parameters:
-
[in] |
ctx |
the dependency graph context |
- Returns:
- Status code
- Status Codes:
-