#include
<MDagPath.h>
List of all
members.
Detailed Description
DAG Path.
Provides methods for obtaining one or all Paths to a specified
DAG Node, determining if a Path is valid and if two Paths are
equivalent, obtaining the length, transform, and inclusive and
exclusive matrices of a Path, as well as performing Path to Path
assignment.
DAG Paths may be used as parameters to some methods in the DAG
Node Function Set (MFnDagNode).
It is often useful to combine DAG Paths into DAG Path arrays
(MDagPathArray).
Use this DAG Path Class to obtain and query Paths to DAG Nodes.
A DAG path is a path from the world node to a particular object in
the DAG.
If a DAG object is instanced, then an MDagPath is required
to identify a particular instance. DAG paths are also required when
doing world space transformations.
Use this class in conjunction with the DAG Iterator (MItDag),
DAG Node Function Set (MFnDagNode) and DAG Path Array class
(MDagPathArray) to query and
edit the DAG.
-
animExportUtil.cpp,
animExportUtil.h,
animInfoCmd.cpp,
apiMeshShape.cpp,
apiMeshShapeUI.cpp,
apiSimpleShapeUI.cpp,
cgfxEffectDef.cpp,
cgfxEffectDef.h,
cgfxShaderCmd.cpp,
cgfxShaderNode.cpp,
cgfxShaderNode.h,
cleanPerFaceAssignmentCmd.cpp,
closestPointCmd.cpp,
closestPointOnCurveCmd.cpp,
closestPointOnCurveNode.cpp,
closestPointOnNurbsSurfaceCmd.cpp,
closestTangentUAndDistance.cpp,
closestTangentUAndDistance.h,
clusterWeightFunction.cpp,
componentScaleManip.cpp,
convertEdgesToFacesCmd.cpp,
convertVerticesToEdgesCmd.cpp,
convertVerticesToFacesCmd.cpp,
curvedArrowsNode.cpp,
customAttrManip.cpp,
cvColorNode.cpp,
cvColorShader.cpp,
cvExpandCmd.cpp,
cvPosCmd.cpp, D3DGeometryItem.cpp,
D3DGeometryItem.h,
D3DResourceManager.cpp,
D3DResourceManager.h,
D3DViewportRenderer.cpp,
D3DViewportRenderer.h,
dagMessageCmd.cpp,
exportJointClusterDataCmd.cpp,
exportSkinClusterDataCmd.cpp,
findTexturesPerPolygonCmd.cpp,
footPrintManip.cpp,
footPrintNode.cpp,
getPointAndNormal.cpp,
getPointAndNormal.h,
GLSLShaderNode.cpp,
GLSLShaderNode.h,
hairCollisionSolver.cpp,
helix2Cmd.cpp, helixTool.cpp,
hlslShader.cpp, hwAnisotropicShader_NV20.cpp,
hwColorPerVertexShader.cpp,
hwDecalBumpShader_NV20.cpp,
hwManagedTextureShader.cpp,
hwPhongShader.cpp,
hwPhongShader.h,
hwReflectBumpShader_NV20.cpp,
hwRefractReflectShader_NV20.cpp,
hwToonShader_NV20.cpp,
hwUnlitShader.h,
instanceCallbackCmd.cpp,
instancerListCmd.cpp,
intersectCmd.cpp,
intersectOnNurbsSurfaceCmd.cpp,
lassoTool.cpp, lineManip.cpp,
lineManip.h, lineManipContainer.cpp,
lineManipContainer.h,
listLightLinksCmd.cpp,
listPolyHolesCmd.cpp,
lockEvent.cpp, maTranslator.cpp,
meshMapUtils.cpp,
meshMapUtils.h, meshOpCmd.cpp,
meshRemapCmd.h, meshRemapTool.cpp,
meshReorderCmd.h,
meshReorderTool.cpp,
motionPathCmd.cpp,
moveCurveCVsCmd.cpp,
moveManip.cpp, moveNumericTool.cpp,
moveTool.cpp, narrowPolyViewer.cpp,
narrowPolyViewer.h,
narrowPolyViewerCmd.cpp,
narrowPolyViewerCmd.h,
objExport.cpp, OpenGLViewportRenderer.cpp,
OpenGLViewportRenderer.h,
peltOverlapCmd.cpp,
pnTrianglesNode.cpp,
pointOnMeshCmd.cpp,
pointOnMeshInfoNode.cpp,
polyExporter.cpp,
polyExporter.h, polyMessageCmd.cpp,
polyModifierCmd.cpp,
polyModifierCmd.h,
polyRawExporter.cpp,
polyRawExporter.h,
polyRawWriter.cpp,
polyRawWriter.h,
polyWriter.cpp, polyWriter.h,
polyX3DExporter.cpp,
polyX3DExporter.h,
polyX3DWriter.cpp,
polyX3DWriter.h,
quadricShape.cpp,
renderViewRenderCmd.cpp,
renderViewRenderRegionCmd.cpp,
rotateManip.cpp,
sampleCmd.cpp, sampleParticles.cpp,
scanDagCmd.cpp, scanDagSyntax.cpp,
ShapeMonitor.cpp,
simpleEmitter.cpp,
simpleEmitter.h,
simpleSolverNode.cpp,
spiralAnimCurveCmd.cpp,
splitUVCmd.cpp, squareScaleManip.cpp,
squareScaleManip.h,
squareScaleManipContext.cpp,
squareScaleManipContext.h,
surfaceBumpManip.cpp,
surfaceTwist.cpp,
surfaceTwistCmd.cpp,
swissArmyManip.cpp,
torusField.cpp, torusField.h,
translateCmd.cpp, and
zoomCameraCmd.cpp.
Constructor & Destructor Documentation
Class Constructor.
Creates a DAG Path
MDagPath::MDagPath |
( |
const MDagPath & |
src |
) |
|
Copy constructor. Duplicate the given path.
- Parameters:
-
[in] |
src |
the path to be copied |
MDagPath::~MDagPath |
( |
|
) |
[virtual] |
Class Destructor
No additional action.
Member Function Documentation
Determines all Paths to the specified DAG Node.
- Parameters:
-
[in] |
node |
DAG Node for which Paths are determined |
[out] |
pathArray |
Array containing all DAG Paths to the specified Node (implicit
return) |
- Returns:
- Status Code
- Status Codes:
-
Determines the Path to the specified DAG Node. The Path returned
is rooted at the World. If the object is instanced and has multiple
paths, then the first one that is found is returned.
- Parameters:
-
[in] |
node |
DAG Node for which Paths are determined |
[out] |
path |
reference to the path of the specified DAG Node |
- Returns:
- Status Code
- Status Codes:
-
Returns true if the object at the end of this DAG path supports
the given function set.
If the object at the end of this DAG path is a transform node
and has a child that is a shape, then that node will be checked as
well. All function sets that take an MDagPath
- Parameters:
-
[in] |
type |
function set type to check |
[out] |
ReturnStatus |
status code |
- Returns:
- Boolean value indicating whether the function set is
supported
- Status Codes:
-
- closestPointOnCurveCmd.cpp,
cvExpandCmd.cpp, D3DResourceManager.cpp,
D3DViewportRenderer.cpp,
GLSLShaderNode.cpp,
hwColorPerVertexShader.cpp,
listLightLinksCmd.cpp,
meshRemapTool.cpp,
meshReorderTool.cpp,
narrowPolyViewer.cpp,
objExport.cpp, OpenGLViewportRenderer.cpp,
pointOnMeshCmd.cpp,
scanDagCmd.cpp, scanDagSyntax.cpp,
surfaceTwist.cpp, and
surfaceTwistCmd.cpp.
Returns the type of the object at the end of the path.
- Parameters:
-
[out] |
ReturnStatus |
status code |
- Returns:
- Type of the object
- Status Codes:
-
bool MDagPath::isValid |
( |
MStatus * |
ReturnStatus =
NULL |
) |
const |
Determines if Path is valid.
- Parameters:
-
[out] |
ReturnStatus |
status code |
- Returns:
- True if valid
- Status Codes:
-
Retrieves the DAG Node for this DAG Path.
- Parameters:
-
[out] |
ReturnStatus |
Status Code |
- Returns:
- DAG Node for this DAG Path
- Status Codes:
-
- animExportUtil.cpp,
blindDataShader.cpp,
cgfxEffectDef.cpp,
closestPointCmd.cpp,
closestPointOnCurveCmd.cpp,
componentScaleManip.cpp,
D3DGeometryItem.cpp,
dagMessageCmd.cpp,
GLSLShaderNode.cpp,
hwAnisotropicShader_NV20.cpp,
hwColorPerVertexShader.cpp,
hwManagedTextureShader.cpp,
hwToonShader_NV20.cpp,
listPolyHolesCmd.cpp,
maTranslator.cpp,
meshRemapTool.cpp,
meshReorderTool.cpp,
objExport.cpp, OpenGLViewportRenderer.cpp,
pointOnMeshCmd.cpp,
polyMessageCmd.cpp,
polyModifierCmd.cpp,
and splitUVCmd.cpp.
Retrieves the lowest Transform in the DAG Path.
- Parameters:
-
[out] |
ReturnStatus |
Status Code |
- Returns:
- Lowest Transform for this DAG Path
- Status Codes:
-
unsigned int MDagPath::length |
( |
MStatus * |
ReturnStatus =
NULL |
) |
const |
Determines the number of DAG Nodes in the Path not including the
root.
- Parameters:
-
[out] |
ReturnStatus |
status code |
- Returns:
- Number of DAG Nodes not including the root
- Status Codes:
-
MStatus MDagPath::extendToShape |
( |
|
) |
|
If the object at the end of this path is a transform and there
is a shape node directly beneath it in the hierarchy, then the path
is extended to that geometry node.
NOTE: This method will fail if there multiple shapes below the
transform.
- Returns:
- Status code
- Status Codes:
-
- cleanPerFaceAssignmentCmd.cpp,
closestPointOnCurveCmd.cpp,
findTexturesPerPolygonCmd.cpp,
listLightLinksCmd.cpp,
listPolyHolesCmd.cpp,
meshOpCmd.cpp, meshRemapTool.cpp,
pointOnMeshCmd.cpp,
polyMessageCmd.cpp,
polyModifierCmd.cpp,
and splitUVCmd.cpp.
MStatus
MDagPath::extendToShapeDirectlyBelow |
( |
unsigned int |
index |
) |
|
This method is used if the end of the path is a transform and
there are shapes directly below the transform. The shape to extend
to is set by passing in an appropriate index parameter.
Use the numberOfShapesDirectlyBelow()
method to determine how many shapes are below
- Parameters:
-
[in] |
index |
contains the index of the shape to extend the path to |
- Returns:
- Status code
- Status Codes:
-
MStatus
MDagPath::numberOfShapesDirectlyBelow |
( |
unsigned int & |
num |
) |
const |
If the object at the end of this path is a transform, this
method will return the number of shapes directly below the
transform.
- Parameters:
-
[in] |
num |
on success, this parameter will be set to the number of shapes
directly underneath the transform |
- Returns:
- Status code
- Status Codes:
-
Push an object onto the end of the path. The object must be a
child of the object that is currently at the end of the path.
- Parameters:
-
[in] |
child |
child object to push onto the path |
- Returns:
- Status code
- Status Codes:
-
MStatus MDagPath::pop |
( |
unsigned int |
num = 1 |
) |
|
Pop the given number of objects off of the end of the path.
- Parameters:
-
[in] |
num |
number of objects to pop off of the path |
- Returns:
- Status code
- Status Codes:
-
unsigned int MDagPath::childCount |
( |
MStatus * |
ReturnStatus =
NULL |
) |
const |
Return the number of children that the object at the end of the
path has.
- Parameters:
-
[out] |
ReturnStatus |
status code |
- Returns:
- The number of children
- Status Codes:
-
MObject MDagPath::child |
( |
unsigned int |
index, |
|
|
MStatus * |
ReturnStatus =
NULL |
|
|
) |
|
|
const |
Return the child object at the given index, where the parent is
the object at the end of the path.
- Parameters:
-
[in] |
index |
child's index |
[out] |
ReturnStatus |
status code |
- Returns:
- A handle to the child
- Status Codes:
-
MMatrix MDagPath::inclusiveMatrix |
( |
MStatus * |
ReturnStatus =
NULL |
) |
const |
Determines the inclusive matrix of the Path.
- Parameters:
-
[out] |
ReturnStatus |
status code |
- Returns:
- The matrix for all Transforms in the Path including the the end
Node in the Path if it is a Transform
- Status Codes:
-
- apiMeshShapeUI.cpp,
apiSimpleShapeUI.cpp,
cgfxShaderNode.cpp,
closestPointCmd.cpp,
closestPointOnNurbsSurfaceCmd.cpp,
D3DResourceManager.cpp,
D3DViewportRenderer.cpp,
GLSLShaderNode.cpp,
hwAnisotropicShader_NV20.cpp,
hwReflectBumpShader_NV20.cpp,
hwRefractReflectShader_NV20.cpp,
hwToonShader_NV20.cpp,
instancerListCmd.cpp,
intersectOnNurbsSurfaceCmd.cpp,
OpenGLViewportRenderer.cpp,
sampleCmd.cpp, and sampleParticles.cpp.
MMatrix MDagPath::exclusiveMatrix |
( |
MStatus * |
ReturnStatus =
NULL |
) |
const |
Determines the exclusive matrix of the Path.
- Parameters:
-
[out] |
ReturnStatus |
status code |
- Returns:
- The matrix for all transforms in the Path excluding the end
Node in the Path if it is Transform
- Status Codes:
-
MMatrix
MDagPath::inclusiveMatrixInverse |
( |
MStatus * |
ReturnStatus =
NULL |
) |
const |
Determines the inverse inclusive matrix of the Path.
- Parameters:
-
[out] |
ReturnStatus |
status code |
- Returns:
- The inverse of the matrix for all Transforms in the Path
including the end Node in the Path if it is a Transform
- Status Codes:
-
MMatrix
MDagPath::exclusiveMatrixInverse |
( |
MStatus * |
ReturnStatus =
NULL |
) |
const |
Determines the inverse exclusive matrix of the Path.
- Parameters:
-
[out] |
ReturnStatus |
status code |
- Returns:
- The inverse of the matrix for all transforms in the Path
excluding the end Node in the Path if it is Transform
- Status Codes:
-
Assigns the DAG Path on the RHS of the operator to the DAG Path
on the LHS.
- Parameters:
-
[in] |
src |
the path to be copied |
- Returns:
- A bitwise copy of the the DAG Path on the LHS
bool MDagPath::operator== |
( |
const MDagPath & |
src |
) |
const |
Determines if the DAG Path on the LHS of the operator is equal
to the DAG Path on the RHS.
- Parameters:
-
[in] |
src |
The path to be compared. |
- Returns:
- True is the objects are equal
Sets this DAG Path equal to the specified DAG Path.
- Parameters:
-
[in] |
src |
DAG Path to be copied. |
- Returns:
- Status code
- Status Codes:
-
unsigned int MDagPath::pathCount |
( |
MStatus * |
ReturnStatus =
NULL |
) |
const |
Return the number of paths which make up this path.
- Parameters:
-
[out] |
ReturnStatus |
status code |
- Returns:
- The path count
- Status Codes:
-
Return the i'th path. The zero'th path is the top-most path and
must be rooted by the world. Additional paths are paths in the
underworld of the object at the end of the previous path (path
i-1).
- Parameters:
-
[out] |
path |
reference to the destination path |
[in] |
i |
the index of the path to retrieve |
- Returns:
- Status code
- Status Codes:
-
MString MDagPath::fullPathName |
( |
MStatus * |
ReturnStatus =
NULL |
) |
const |
Return a string representing the full path from the root of the
dag to this object.
- Parameters:
-
[out] |
ReturnStatus |
status code |
- Returns:
- The full path name
- Status Codes:
-
- cleanPerFaceAssignmentCmd.cpp,
convertEdgesToFacesCmd.cpp,
convertVerticesToEdgesCmd.cpp,
convertVerticesToFacesCmd.cpp,
D3DGeometryItem.cpp,
dagMessageCmd.cpp,
hwColorPerVertexShader.cpp,
instanceCallbackCmd.cpp,
instancerListCmd.cpp,
listLightLinksCmd.cpp,
objExport.cpp, OpenGLViewportRenderer.cpp,
renderViewRenderCmd.cpp,
renderViewRenderRegionCmd.cpp,
scanDagCmd.cpp, and
scanDagSyntax.cpp.
MString MDagPath::partialPathName |
( |
MStatus * |
ReturnStatus =
NULL |
) |
const |
Return a string representing the partial path from the root of
the dag to this object.
The partial path is the minimum path that is still unique. This
string may contain wildcards.
- Parameters:
-
[out] |
ReturnStatus |
status code |
- Returns:
- The partial path name
- Status Codes:
-
- cgfxShaderCmd.cpp,
cgfxShaderNode.cpp,
closestPointOnNurbsSurfaceCmd.cpp,
exportJointClusterDataCmd.cpp,
exportSkinClusterDataCmd.cpp,
hwDecalBumpShader_NV20.cpp,
hwReflectBumpShader_NV20.cpp,
hwRefractReflectShader_NV20.cpp,
hwToonShader_NV20.cpp,
intersectOnNurbsSurfaceCmd.cpp,
maTranslator.cpp, and
narrowPolyViewer.cpp.
bool MDagPath::isInstanced |
( |
MStatus * |
ReturnStatus =
NULL |
) |
const |
Returns true if the object at the end of the DAG path is
instanced. It is instanced if there is more than one path to the
node from the top of the DAG. Each instance of the node will be
drawn separately in the view, but the geometry will be shared.
- Parameters:
-
[out] |
ReturnStatus |
status code |
- Returns:
- True if the DAG node at the end of the path is instanced
- Status Codes:
-
unsigned int MDagPath::instanceNumber |
( |
MStatus * |
ReturnStatus =
NULL |
) |
const |
For an instanced object, this returns the instance number that
this path represents in the DAG. The instance number can be used to
determine which element of the world space array attributes of a
DAG node to connect to get information regarding this instance.
- Parameters:
-
[out] |
ReturnStatus |
status code |
- Returns:
- The instance number represented by this path
- Status Codes:
-
Obsolete.
This method is obsolete.
- Deprecated:
- The function signature was inconsistent with the rest of the
API. Please use the other MDagPath::getAPathTo
method instead.
Determines the Path to the specified DAG Node. The Path returned is
rooted at the World. If the object is instanced and has multiple
paths, then the first one that is found is returned.
- Parameters:
-
[in] |
node |
DAG Node for which Paths are determined |
[out] |
ReturnStatus |
Status Code |
- Returns:
- Path to the specified Node
- Status Codes:
-