// =========================================================================== // 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. // =========================================================================== // // Description: // // Input Arguments: // None. // // Return Value: // None. // proc updateLiveConstraintValues(string $tool) { int $overlayAppend = `nexOpt -q overlayAppendMesh`; int $snapToBackfaces = `nexOpt -q snapToBackfaces`; float $rgbOverlay[] = `nexOpt -q appendMeshColor`; int $useMeshAlpha = `nexOpt -q useMeshAlpha`; float $meshAlpha = `nexOpt -q meshAlpha`; int $useMeshOffset = `nexOpt -q useMeshOffset`; float $meshOffset = `nexOpt -q meshOffset`; int $useOverride = `nexOpt -q useMeshColorOverride`; float $rgbOverride[] = `nexOpt -q meshColorOverride`; checkBoxGrp -edit -value1 $overlayAppend ($tool + "_OverlayAppend_CBG"); colorSliderGrp -edit -rgbValue $rgbOverlay[0] $rgbOverlay[1] $rgbOverlay[2] ($tool + "_OverlayAppendColor_CSG"); checkBoxGrp -edit -value1 $useOverride ($tool + "_MeshColorOverride_CBG"); colorSliderGrp -edit -rgbValue $rgbOverride[0] $rgbOverride[1] $rgbOverride[2] ($tool + "_MeshColorOverride_CSG"); checkBoxGrp -edit -value1 $useMeshAlpha ($tool + "_MeshAlpha_CBG"); floatSliderGrp -edit -value $meshAlpha -en $useMeshAlpha ($tool + "_MeshAlpha_FSG"); checkBoxGrp -edit -value1 $useMeshOffset ($tool + "_MeshOffset_CBG"); floatSliderGrp -edit -value $meshOffset -en $useMeshOffset ($tool + "_MeshOffset_FSG"); checkBoxGrp -edit -value1 $snapToBackfaces ($tool + "_SnapToBackfaces_CBG"); } proc updateMultiCutValues() { tabLayout -edit -selectTabIndex 1 MTKToolPropertiesTabs; int $sna = `nexOpt -q cutSnapAngle`; int $sma = `nexOpt -q cutSmoothingAngle`; int $uef = `nexOpt -q useEdgeFlow`; float $efv = `nexOpt -q edgeFlowValue`; int $sub = `nexOpt -q cutSubdivisions`; int $if = `nexOpt -q sliceIgnoreBackfaces`; int $df = `nexOpt -q useDeleteFaces`; int $ef = `nexOpt -q useExtractFaces`; float $efx = `nexOpt -q extractFacesX`; float $efy = `nexOpt -q extractFacesY`; float $efz = `nexOpt -q extractFacesZ`; float $l[] = `nexOpt -q hiliteColorCutLine`; float $v[] = `nexOpt -q hiliteColorCutVert`; float $e[] = `nexOpt -q hiliteColorCutEdge`; float $f[] = `nexOpt -q hiliteColorCutFace`; string $liveList[] = `ls -live`; int $live = (size($liveList) > 0); intSliderGrp -e -value $sna MultiCut_SnapStep_ISG; intSliderGrp -e -value $sma MultiCut_SmoothAngle_ISG; checkBoxGrp -e -value1 $uef -en (!$live) MultiCut_EdgeFlow_CBG; floatSliderGrp -e -value $efv -enable $uef MultiCut_EdgeFlowTolerance_FSG; intSliderGrp -e -value $sub MultiCut_Subds_ISG; checkBoxGrp -e -value1 $if MultiCut_IgnoreBackfaces_CBG; checkBoxGrp -e -value1 $df MultiCut_DeleteFaces_CBG; checkBoxGrp -e -value1 $ef MultiCut_ExtractFaces_CBG; floatFieldGrp -e -value1 $efx -value2 $efy -value3 $efz -enable $ef MultiCut_ExtractFacesValues_FFG; colorSliderGrp -e -rgb $l[0] $l[1] $l[2] MultiCut_LineColor_CSG; colorSliderGrp -e -rgb $e[0] $e[1] $e[2] MultiCut_EdgeColor_CSG; colorSliderGrp -e -rgb $v[0] $v[1] $v[2] MultiCut_VertexColor_CSG; colorSliderGrp -e -rgb $f[0] $f[1] $f[2] MultiCut_FaceColor_CSG; updateLiveConstraintValues("MultiCut"); } proc updateQuadDrawValues() { tabLayout -edit -selectTabIndex 2 MTKToolPropertiesTabs; int $autoWeld = `nexOpt -q useAutoWeld`; int $weldTolerance = `nexOpt -q autoWeldTolerance `; int $relaxAffects = `nexOpt -q relaxAffects`; int $extendType = `nexOpt -q extendType`; int $stripSize = `nexOpt -q quaDrawStripSize`; checkBoxGrp -edit -value1 $autoWeld QuadDraw_AutoWeld_CBG; intSliderGrp -edit -value $weldTolerance QuadDraw_AutoWeldTolerance_ISG; intSliderGrp -edit -value $stripSize QuadDraw_StripSize_ISG; switch ($relaxAffects) { case 3: textField -edit -text (uiRes("m_modelingToolkitProperties.kAutoLockLbl")) RelaxEditField; break; case 1: textField -edit -text (uiRes("m_modelingToolkitProperties.kInteriorVerticesLbl")) RelaxEditField; break; case 2: textField -edit -text (uiRes("m_modelingToolkitProperties.kBorderVerticesLbl")) RelaxEditField; break; case 0: default: textField -edit -text (uiRes("m_modelingToolkitProperties.kAllVerticesLbl")) RelaxEditField; break; } switch ($extendType) { case 0: textField -edit -text (uiRes("m_modelingToolkitProperties.kEdgeLbl")) ExtendEditField; break; case 1: textField -edit -text (uiRes("m_modelingToolkitProperties.kLoopLbl")) ExtendEditField; break; case 2: default: textField -edit -text (uiRes("m_modelingToolkitProperties.kBorderLbl")) ExtendEditField; break; } updateLiveConstraintValues("QuadDraw"); } proc updateConnectValues() { tabLayout -edit -selectTabIndex 3 MTKToolPropertiesTabs; float $slide = `nexCtx -getManipVal connect slide`; int $segments = `nexCtx -getManipVal connect segments`; float $pinch = `nexCtx -getManipVal connect pinch`; string $lmb = `nexOpt -q connectCurLmbMap`; if ($lmb == "segments") radioButton -edit -select Connect_Segments_RB; else if ($lmb == "slide") radioButton -edit -select Connect_Slide_RB; else radioButton -edit -select Connect_Pinch_RB; floatField -edit -value $slide Connect_Slide_FF; intField -edit -value $segments Connect_Segments_IF; floatField -edit -value $pinch Connect_Pinch_FF; } proc updateEmptyMTKValues() { tabLayout -edit -selectTabIndex 4 MTKToolPropertiesTabs; } global proc modelingToolkitValues( string $toolName ) { string $name = "modelingToolkit"; string $parent = (`toolPropertyWindow -q -location` + "|" + $name); setParent $parent; string $reset = `toolPropertyWindow -query -resetButton`; string $helpTag = "ModelingToolkit"; toolPropertySelect $name; string $tool = `nexCtx -q -sm`; //string $tool = "default"; switch ($tool) { case "cut": updateMultiCutValues(); $helpTag = "ModelingToolkit_cut"; break; case "quadraw": updateQuadDrawValues(); $helpTag = "ModelingToolkit_quadraw"; break; case "connect": updateConnectValues(); $helpTag = "ModelingToolkit_connect"; break; default: updateEmptyMTKValues(); break; } toolPropertySetCommon $toolName `contextInfo -query -image1 $toolName` $helpTag; button -edit -command("mtk_initToolOptions(1, \"" + $tool + "\"); nexCtx -resetManip;") $reset; dR_updateCommandPanel; }