MStatus exampleRotateManip::createChildren() { MStatus stat = MStatus::kSuccess; // Add the rotation manip // fRotateManip = addRotateManip("RotateManip", "rotation"); // Add the state manip. The state manip is used to cycle through the // rotate manipulator modes to demonstrate how they work. // fStateManip = addStateManip("StateManip", "state"); // The state manip permits 4 states. These correspond to: // 0 - Rotate manip in objectSpace mode // 1 - Rotate manip in worldSpace mode // 2 - Rotate manip in gimbal mode // 3 - Rotate manip in objectSpace mode with snapping on // // Note that while the objectSpace and gimbal modes will operator similar // to the built-in Maya rotate manipulator, the worldSpace mode will // produce unusual rotations because the plugin does not convert worldSpace // rotations to object space. // MFnStateManip stateManip(fStateManip); stateManip.setMaxStates(4); stateManip.setInitialState(0); return stat; }
MStatus swissArmyLocatorManip::createChildren() { MStatus stat = MStatus::kSuccess; MString method("swissArmyLocatorManip::createChildren"); MStatus s; int counter = 0; // FreePointTriadManip // fFreePointTriadManip = addFreePointTriadManip("freePointTriadManip", "point"); MFnFreePointTriadManip freePointTriadManipFn(fFreePointTriadManip); // DirectionManip // fDirectionManip = addDirectionManip("directionManip", "direction"); MFnDirectionManip directionManipFn(fDirectionManip); // ToggleManip // fToggleManip = addToggleManip("toggleManip", "toggle"); MFnToggleManip toggleManipFn(fToggleManip); // StateManip // fStateManip = addStateManip("stateManip", "state"); MFnStateManip stateManipFn(fStateManip); // DiscManip // fDiscManip = addDiscManip("discManip", "angle"); MFnDiscManip discManipFn(fDiscManip); // CircleSweepManip // fCircleSweepManip = addCircleSweepManip("circleSweepManip", "angle"); MFnCircleSweepManip circleSweepManipFn(fCircleSweepManip, &s); e; circleSweepManipFn.setCenterPoint(MPoint(0, 0, 0)); circleSweepManipFn.setNormal(MVector(0, 1, 0)); circleSweepManipFn.setRadius(2.0); circleSweepManipFn.setDrawAsArc(true); // DistanceManip // MString manipName("distanceManip"); MString distanceName("distance"); MPoint startPoint(0.0, 0.0, 0.0); MVector direction(0.0, 1.0, 0.0); fDistanceManip = addDistanceManip(manipName, distanceName); MFnDistanceManip distanceManipFn(fDistanceManip); distanceManipFn.setStartPoint(startPoint); distanceManipFn.setDirection(direction); // RotateManip // MString RotateManipName("RotateManip"); MString rotateName("rotation"); fRotateManip = addRotateManip(RotateManipName, rotateName); MFnRotateManip rotateManipFn(fRotateManip); // ScaleManip // MString scaleManipName("scaleManip"); MString scaleName("scale"); fScaleManip = addScaleManip(scaleManipName, scaleName); MFnScaleManip scaleManipFn(fScaleManip); return stat; }