// =========================================================================== // Copyright 2018 Autodesk, Inc. All rights reserved. // // Use of this software is subject to the terms of the Autodesk license // agreement provided at the time of installation or download, or which // otherwise accompanies this software in either electronic or hard copy form. // =========================================================================== // // // Creation Date: Jan. 10, 1997 // // Description: // global proc ikSplineHandlePropCallback(string $parent, string $whichCallback) // // Procedure Name: // ikSplineHandlePropCallback // // Description: // Callbacks for the IK Spline Handle Tool Property Sheet. // // Input Arguments: // Parent name, and // current callback name. // // Return Value: // None. // { setParent $parent; string $whichCtx = `currentCtx`; switch ($whichCallback) { case "rootOnCurveOn": ikSplineHandleCtx -e -rootOnCurve true $whichCtx; break; case "rootOnCurveOff": ikSplineHandleCtx -e -rootOnCurve false $whichCtx; break; case "createRootAxisOn": ikSplineHandleCtx -e -createRootAxis true $whichCtx; break; case "createRootAxisOff": ikSplineHandleCtx -e -createRootAxis false $whichCtx; break; case "parentCurveOn": ikSplineHandleCtx -e -parentCurve true $whichCtx; break; case "parentCurveOff": ikSplineHandleCtx -e -parentCurve false $whichCtx; break; case "createCurveOn": ikSplineHandleCtx -e -createCurve true $whichCtx; break; case "createCurveOff": ikSplineHandleCtx -e -createCurve false $whichCtx; break; case "snapCurveOn": ikSplineHandleCtx -e -snapCurve true $whichCtx; break; case "snapCurveOff": ikSplineHandleCtx -e -snapCurve false $whichCtx; break; case "simplifyCurveOn": ikSplineHandleCtx -e -simplifyCurve true $whichCtx; break; case "simplifyCurveOff": ikSplineHandleCtx -e -simplifyCurve false $whichCtx; break; case "numSpansChange": int $numSpans = `radioButtonGrp -q -sl numSpansGrp`; switch ($numSpans) { case 1: ikSplineHandleCtx -e -numSpans 1 $whichCtx; break; case 2: ikSplineHandleCtx -e -numSpans 2 $whichCtx; break; case 3: ikSplineHandleCtx -e -numSpans 3 $whichCtx; break; case 4: ikSplineHandleCtx -e -numSpans 4 $whichCtx; break; } break; case "rootTwistModeOn": ikSplineHandleCtx -e -rootTwistMode true $whichCtx; break; case "rootTwistModeOff": ikSplineHandleCtx -e -rootTwistMode false $whichCtx; break; case "twistTypeOptionChange": int $option = `optionMenuGrp -q -sl twistTypeOptionMenu`; switch ($option) { case 1: ikSplineHandleCtx -e -twistType linear $whichCtx; break; case 2: ikSplineHandleCtx -e -twistType easeIn $whichCtx; break; case 3: ikSplineHandleCtx -e -twistType easeOut $whichCtx; break; case 4: ikSplineHandleCtx -e -twistType easeInOut $whichCtx; break; } break; default: break; } return; } global proc ikSplineHandleSetCallbacks(string $parent) // // Procedure Name: // ikSplineHandleSetCallbacks // // Description: // Definition of callbacks for the IK Spline Handle Tool Property Sheet. // // Input Arguments: // Parent name. // // Return Value: // None. // { setParent $parent; string $whichCtx = `currentCtx`; checkBoxGrp -e -on1 `CBG "ikSplineHandleProp" $parent "rootOnCurveOn"` -of1 `CBG "ikSplineHandleProp" $parent "rootOnCurveOff"` rootOnCurveGrp; checkBoxGrp -e -on1 `CBG "ikSplineHandleProp" $parent "createRootAxisOn"` -of1 `CBG "ikSplineHandleProp" $parent "createRootAxisOff"` createRootAxisGrp; checkBoxGrp -e -on1 `CBG "ikSplineHandleProp" $parent "parentCurveOn"` -of1 `CBG "ikSplineHandleProp" $parent "parentCurveOff"` parentCurveGrp; checkBoxGrp -e -on1 `CBG "ikSplineHandleProp" $parent "snapCurveOn"` -of1 `CBG "ikSplineHandleProp" $parent "snapCurveOff"` snapCurveGrp; checkBoxGrp -e -on1 `CBG "ikSplineHandleProp" $parent "createCurveOn"` -of1 `CBG "ikSplineHandleProp" $parent "createCurveOff"` createCurveGrp; checkBoxGrp -e -on1 `CBG "ikSplineHandleProp" $parent "simplifyCurveOn"` -of1 `CBG "ikSplineHandleProp" $parent "simplifyCurveOff"` simplifyCurveGrp; radioButtonGrp -e -cc `CBG "ikSplineHandleProp" $parent "numSpansChange"` numSpansGrp; checkBoxGrp -e -on1 `CBG "ikSplineHandleProp" $parent "rootTwistModeOn"` -of1 `CBG "ikSplineHandleProp" $parent "rootTwistModeOff"` rootTwistModeGrp; optionMenuGrp -e -cc `CBG "ikSplineHandleProp" $parent "twistTypeOptionChange"` twistTypeOptionMenu; return; } global proc ikSplineHandleProperties() // // Procedure Name: // ikSplineHandleProperties // // Description: // Layout of IK Spline Handle Tool Property Sheet. // // Input Arguments: // None. // // Return Value: // None. // { string $parent = `toolPropertyWindow -q -location`; setUITemplate -pushTemplate OptionsTemplate; setParent $parent; columnLayout ikSplineHandle; frameLayout -collapsable true -collapse false -label (uiRes("m_ikSplineHandleProperties.kIKSplineHandleSettings")) ikSplineHandleFrame; columnLayout ikSplineHandleOptions; $parent = `setParent -query`; separator -style "none"; checkBoxGrp -label "" -numberOfCheckBoxes 1 -label1 (uiRes("m_ikSplineHandleProperties.kRootOnCurve")) rootOnCurveGrp; checkBoxGrp -label "" -numberOfCheckBoxes 1 -label1 (uiRes("m_ikSplineHandleProperties.kAutoCreateRootAxis")) createRootAxisGrp; checkBoxGrp -label "" -numberOfCheckBoxes 1 -label1 (uiRes("m_ikSplineHandleProperties.kAutoParentCurve")) parentCurveGrp; checkBoxGrp -label "" -numberOfCheckBoxes 1 -label1 (uiRes("m_ikSplineHandleProperties.kSnapCurveToRoot")) snapCurveGrp; checkBoxGrp -label "" -numberOfCheckBoxes 1 -label1 (uiRes("m_ikSplineHandleProperties.kAutoCreateCurve")) createCurveGrp; checkBoxGrp -label "" -numberOfCheckBoxes 1 -label1 (uiRes("m_ikSplineHandleProperties.kAutoSimplifyCurve")) simplifyCurveGrp; radioButtonGrp -label (uiRes("m_ikSplineHandleProperties.kNumberOfSpans")) -numberOfRadioButtons 4 -label1 (uiRes("m_ikSplineHandleProperties.kOne")) -data1 1 -label2 (uiRes("m_ikSplineHandleProperties.kTwo")) -data2 2 -label3 (uiRes("m_ikSplineHandleProperties.kThree")) -data3 3 -label4 (uiRes("m_ikSplineHandleProperties.kFour")) -data4 4 -columnWidth 2 50 -columnWidth 3 50 -columnWidth 4 50 -columnWidth 5 50 numSpansGrp; checkBoxGrp -label "" -numberOfCheckBoxes 1 -label1 (uiRes("m_ikSplineHandleProperties.kRootTwistMode")) rootTwistModeGrp; separator ikSplineSeparator; optionMenuGrp -label (uiRes("m_ikSplineHandleProperties.kTwistType")) twistTypeOptionMenu; menuItem -label (uiRes("m_ikSplineHandleProperties.kLinear")) twistTypeLinear; menuItem -label (uiRes("m_ikSplineHandleProperties.kEaseIn")) twistTypeEaseIn; menuItem -label (uiRes("m_ikSplineHandleProperties.kEaseOut")) twistTypeEaseOut; menuItem -label (uiRes("m_ikSplineHandleProperties.kEaseInOut")) twistTypeEaseInOut; setParent ..; // ikSplineHandleOptions setParent ..; // ikSplineHandleFrame setParent ..; // ikSplineHandle setUITemplate -popTemplate; ikSplineHandleSetCallbacks $parent; return; }