// Node added to model callback. private static void userNodeAddedCB(object sender, MNodeFunctionArgs args) { MObject node = args.node; if (!node.isNull) { MDagPath path = new MDagPath(); try { MDagPath.getAPathTo(node, path); string info = "DAG Model - Node added: "; info += path.fullPathName; try { MObject obj = path.transform; } catch (ArgumentException) { info += "(WORLD)"; } catch (Exception) { } MGlobal.displayInfo(info); } catch (System.Exception) { MGlobal.displayInfo("Error: failed to get dag path to node."); } } // remove the callback node.NodeAddedToModel -= userNodeAddedCB; // listen for removal message try { node.NodeRemovedFromModel += userNodeRemovedCB; } catch (System.Exception) { MGlobal.displayError("Failed to install node removed from model callback.\n"); } }
// Node added to model callback. #region UserCallbacks private static void userNodeRemovedCB(object sender, MNodeFunctionArgs arg) { MObject node = arg.node; if (!node.isNull) { MFnDagNode dagNode; try { dagNode = new MFnDagNode(node); string info = "DAG Model - Node removed: "; info += dagNode.name; MGlobal.displayInfo(info); } catch (System.Exception) { MGlobal.displayInfo("Error: failed to get dag node."); } } // remove the callback node.NodeRemovedFromModel -= userNodeRemovedCB; }
private void NodeNodeDirty(object sender, MNodeFunctionArgs e) { OnChanged(DagNode); }