/*! * Callback that creates the manipulator if valid geometry is * selected. Also removes the manipulator if no geometry is * selected. Handles connecting the manipulator to multiply * selected nodes. * * \param[in] data Pointer to the current context class. */ void updateManipulators() { deleteManipulators(); if (!validGeometrySelected()) { return; } // Clear info owner = null; firstObjectSelected = MObject.kNullObj; MSelectionList list = new MSelectionList(); MGlobal.getActiveSelectionList(list); MItSelectionList iter = new MItSelectionList(list, MFn.Type.kInvalid); string manipName = "lineManipContainerCSharp"; MObject manipObject = new MObject(); lineManipContainer manipulator = MPxManipContainer.newManipulator(manipName, manipObject) as lineManipContainer; if (null != manipulator) { // Save state owner = manipulator; // Add the manipulator addManipulator(manipObject); // for (; !iter.isDone; iter.next()) { MObject dependNode = new MObject(); iter.getDependNode(dependNode); MFnDependencyNode dependNodeFn = new MFnDependencyNode(dependNode); // Connect the manipulator to the object in the selection list. manipulator.connectToDependNode(dependNode); // if (MObject.kNullObj == firstObjectSelected) { firstObjectSelected = dependNode; } } // Allow the manipulator to set initial state setInitialState(); } }
/*! Callback that creates the manipulator if valid geometry is selected. Also removes the manipulator if no geometry is selected. Handles connecting the manipulator to multiply selected nodes. \param[in] data Pointer to the current context class. */ void updateManipulators() { deleteManipulators(); if ( ! validGeometrySelected() ) { return; } // Clear info owner = null; firstObjectSelected = MObject.kNullObj; MSelectionList list = new MSelectionList(); MGlobal.getActiveSelectionList(list); MItSelectionList iter = new MItSelectionList(list, MFn.Type.kInvalid); string manipName = "lineManipContainerCSharp"; MObject manipObject = new MObject(); lineManipContainer manipulator = MPxManipContainer.newManipulator(manipName, manipObject) as lineManipContainer; if (null != manipulator) { // Save state owner = manipulator; // Add the manipulator addManipulator(manipObject); // for (; !iter.isDone; iter.next()) { MObject dependNode = new MObject(); iter.getDependNode(dependNode); MFnDependencyNode dependNodeFn = new MFnDependencyNode(dependNode); // Connect the manipulator to the object in the selection list. manipulator.connectToDependNode(dependNode); // if (MObject.kNullObj == firstObjectSelected) { firstObjectSelected = dependNode; } } // Allow the manipulator to set initial state setInitialState(); } }