MCustomEvaluatorClusterNode Class Reference

#include <MCustomEvaluatorClusterNode.h>

Class Description

Scheduling cluster representing a self-contained cluster of work.

+ Examples:

Public Types

enum  SchedulingType { , kSerial, kGloballySerial, kUntrusted, kLast }
 Available Scheduling Types. More...
 

Public Member Functions

MPxCustomEvaluator evaluator (MStatus *ReturnStatus) const
 Get the evaluator responsible for this cluster node. More...
 
MEvaluationGraph ownerGraph (MStatus *ReturnStatus) const
 Get the graph that this node is a part of. More...
 
MCustomEvaluatorClusterNode::SchedulingType schedulingType (MStatus *ReturnStatus=NULL) const
 Get the scheduling type for this cluster node. More...
 
void evaluate (MStatus *ReturnStatus=NULL) const
 Evaluate the cluster of nodes. More...
 
void evaluateNode (const MEvaluationNode &node, MStatus *ReturnStatus) const
 Evaluate a single node in this cluster. More...
 
MObject asMObject (MStatus *ReturnStatus=NULL) const
 Provide the MObject for this cluster. More...
 

Static Public Member Functions

static const char * className ()
 Returns the name of this class. More...
 

Friends

class MGraphNodeIterator
 

Member Enumeration Documentation

Available Scheduling Types.

Enumerator
kSerial 

Any number of nodes of the same type can run in parallel,.

kGloballySerial 

Node should be serialized locally, by chaining all nodes of this flag for sequential execution.

kUntrusted 

Only one node of this type can be run at a time.

kLast 

Node will do things that can't be predicted and nothing else can be scheduled to execute together with it.

Just to mark the scheduling type count

Member Function Documentation

MPxCustomEvaluator evaluator ( MStatus ReturnStatus) const

Get the evaluator responsible for this cluster node.

Parameters
[out]ReturnStatusStatus flag
Returns
The evaluator for this object.
Status Codes:
  • MS::kSuccess operation successful
  • MS::kFailure operation failed (evaluator does not exist)
MEvaluationGraph ownerGraph ( MStatus ReturnStatus) const

Get the graph that this node is a part of.

Parameters
[out]ReturnStatusStatus flag
Returns
The cluster node's graph.
Status Codes:
  • MS::kSuccess operation successful
  • MS::kFailure operation failed (evaluator or graph do not exist)
MCustomEvaluatorClusterNode::SchedulingType schedulingType ( MStatus ReturnStatus = NULL) const

Get the scheduling type for this cluster node.

Parameters
[out]ReturnStatusStatus flag
Returns
Scheduling type
Status Codes:
  • MS::kSuccess operation successful
  • MS::kFailure operation failed (evaluator or graph do not exist)
+ Examples:
void evaluate ( MStatus ReturnStatus = NULL) const

Evaluate the cluster of nodes.

Parameters
[out]ReturnStatusStatus flag
Returns
None
Status Codes:
  • MS::kSuccess operation successful
  • MS::kFailure operation failed (evaluator or graph do not exist)
+ Examples:
void evaluateNode ( const MEvaluationNode node,
MStatus ReturnStatus 
) const

Evaluate a single node in this cluster.

Note
In some cases, it can be useful when a user wants to change the order of evaluation of nodes inside the given cluster, or skip some nodes entirely. Note that this method should only be used on nodes that are members of the provided cluster.
Parameters
[in]nodeAn evaluation node that is a member of the cluster
[out]ReturnStatusStatus flag
Returns
None
Status Codes:
  • MS::kSuccess operation successful
  • MS::kFailure operation failed (evaluator or graph do not exist)
+ Examples:
MObject asMObject ( MStatus ReturnStatus = NULL) const

Provide the MObject for this cluster.

Note
Provides the MObject of this cluster, which can be used by MObjectHandle to uniquely identify the cluster object.
Parameters
[out]ReturnStatusStatus flag
Returns
An MObject for this cluster
Status Codes:
  • MS::kSuccess operation successful
  • MS::kFailure operation failed (evaluator or graph do not exist)
const char * className ( )
static

Returns the name of this class.

Returns
The name of this class.

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