def doOptions(input_width, input_divisionsType, input_divisions, input_divisionsPerUnit, input_taper, input_frontTwist, input_lengthTwist, input_upVector, input_uvScale, input_uvScaleType, input_uvPinLocation):
	"""This is the function called when the apply or create button is clicked"""
	try:
		utils.dg.validateSelection(type='transform', min=1)
		curves = utils.dg.getFilteredRelatives(cmds.ls(sl=True), 'nurbsCurve', False)
		if len(curves) is 0: raise Exception('None of the objects you have selected are NURBS curves.')
				
		# call the command
		if cmds.radioButtonGrp(input_divisionsType, q=True, select=True) == 1:
			cmds.am_ribbon(
				width = cmds.floatSliderGrp(input_width, q=True, v=True),
				divisions = cmds.floatSliderGrp(input_divisions, q=True, v=True),
				taper = cmds.floatSliderGrp(input_taper, q=True, v=True),
				twistBase = cmds.floatSliderGrp(input_frontTwist, q=True, v=True),
				twistLength = cmds.floatSliderGrp(input_lengthTwist, q=True, v=True),
				upVector = cmds.floatFieldGrp(input_upVector, q=True, v=True),
				uvScale = cmds.floatSliderGrp(input_uvScale, q=True, v=True),
				uvGroupScale = cmds.radioButtonGrp(input_uvScaleType, q=True, select=True) - 1,
				uvPin = cmds.radioButtonGrp(input_uvPinLocation, q=True, select=True) - 1)
		else:
			cmds.am_ribbon(
				width = cmds.floatSliderGrp(input_width, q=True, v=True),
				divisionsPerUnit = cmds.floatSliderGrp(input_divisionsPerUnit, q=True, v=True),
				taper = cmds.floatSliderGrp(input_taper, q=True, v=True),
				twistBase = cmds.floatSliderGrp(input_frontTwist, q=True, v=True),
				twistLength = cmds.floatSliderGrp(input_lengthTwist, q=True, v=True),
				upVector = cmds.floatFieldGrp(input_upVector, q=True, v=True),
				uvScale = cmds.floatSliderGrp(input_uvScale, q=True, v=True),
				uvGroupScale = cmds.radioButtonGrp(input_uvScaleType, q=True, select=True) - 1,
				uvPin = cmds.radioButtonGrp(input_uvPinLocation, q=True, select=True) - 1)
	except: raise
def unitTest():
	"""A simple unit test for the am_ribbon command"""
	curve = cmds.curve(d=3, 
		p=[[-3,0,-5], 
		[-2.75,0,-3.916667], 
		[-2.25,0,-1.75], 
		[0,0,0], 
		[2.25,0,1.75], 
		[2.75,0,3.916667], 
		[3,0,5]], 
		k=[0,0,0,1,2,3,4,4,4])
	
	# test create mode
	print '---TESTING CREATE---'
	ribbon = cmds.am_ribbon(curve)
	
	# test edit mode and query mode
	def compareVectors(listVec, tupleVec):
		"""Return test result comparing vectors"""
		return listVec[0]==tupleVec[0] and listVec[1]==tupleVec[1] and listVec[2]==tupleVec[2]
	def verifyValues(outNum, rNode, expWid, expTap, expTwb, expTwl, expUpv, expUvs, expUvp):
		"""Print test results"""
		print '%s (test %i):'%(rNode, outNum)
		print'\twidth: %s'%(expWid == cmds.am_ribbon(rNode, q=True, w=True))
		print'\ttaper: %s'%(expTap == cmds.am_ribbon(rNode, q=True, t=True))
		print'\ttwBa:  %s'%(expTwb == cmds.am_ribbon(rNode, q=True, tb=True))
		print'\ttwLen: %s'%(expTwl == cmds.am_ribbon(rNode, q=True, tl=True))
		print'\tupVec: %s'%(compareVectors(expUpv, cmds.am_ribbon(rNode, q=True, up=True)))
		print'\tuvSca: %s'%(expUvs == cmds.am_ribbon(rNode, q=True, uv=True))
		print'\tuvPin: %s'%(expUvp == cmds.am_ribbon(rNode, q=True, uvp=True))
	print '---TESTING EDIT AND QUERY---'
	wid = 0.5
	taper = 0.5
	twistBase = -45.0
	twistLength = 135.0
	upVec = [0,2,0]
	uvScale = 2.0
	uvPin = 1
	cmds.am_ribbon(ribbon, e=True, w=wid, t=taper, tb=twistBase, tl=twistLength, up=upVec, uv=uvScale, uvp=uvPin)
	verifyValues(0, ribbon, wid, taper, twistBase, twistLength, upVec, uvScale, uvPin)
	div = 15
	cmds.am_ribbon(ribbon, e=True, d=div)
	print'\tdivs:  %s'%(div == cmds.am_ribbon(ribbon, q=True, d=True))
	dpu = 2.5
	cmds.am_ribbon(ribbon, e=True, dp=dpu)
	print'\tdpu:   %s'%(dpu - cmds.am_ribbon(ribbon, q=True, dp=True) < 0.01)
	def verifyValues(outNum, rNode, expWid, expTap, expTwb, expTwl, expUpv, expUvs, expUvp):
		"""Print test results"""
		print '%s (test %i):'%(rNode, outNum)
		print'\twidth: %s'%(expWid == cmds.am_ribbon(rNode, q=True, w=True))
		print'\ttaper: %s'%(expTap == cmds.am_ribbon(rNode, q=True, t=True))
		print'\ttwBa:  %s'%(expTwb == cmds.am_ribbon(rNode, q=True, tb=True))
		print'\ttwLen: %s'%(expTwl == cmds.am_ribbon(rNode, q=True, tl=True))
		print'\tupVec: %s'%(compareVectors(expUpv, cmds.am_ribbon(rNode, q=True, up=True)))
		print'\tuvSca: %s'%(expUvs == cmds.am_ribbon(rNode, q=True, uv=True))
		print'\tuvPin: %s'%(expUvp == cmds.am_ribbon(rNode, q=True, uvp=True))
Exemplo n.º 4
0
 def verifyValues(outNum, rNode, expWid, expTap, expTwb, expTwl, expUpv,
                  expUvs, expUvp):
     """Print test results"""
     print '%s (test %i):' % (rNode, outNum)
     print '\twidth: %s' % (expWid == cmds.am_ribbon(rNode, q=True, w=True))
     print '\ttaper: %s' % (expTap == cmds.am_ribbon(rNode, q=True, t=True))
     print '\ttwBa:  %s' % (expTwb == cmds.am_ribbon(rNode, q=True,
                                                     tb=True))
     print '\ttwLen: %s' % (expTwl == cmds.am_ribbon(rNode, q=True,
                                                     tl=True))
     print '\tupVec: %s' % (compareVectors(
         expUpv, cmds.am_ribbon(rNode, q=True, up=True)))
     print '\tuvSca: %s' % (expUvs == cmds.am_ribbon(rNode, q=True,
                                                     uv=True))
     print '\tuvPin: %s' % (expUvp == cmds.am_ribbon(
         rNode, q=True, uvp=True))
Exemplo n.º 5
0
def unitTest():
    """A simple unit test for the am_ribbon command"""
    curve = cmds.curve(d=3,
                       p=[[-3, 0, -5], [-2.75, 0, -3.916667],
                          [-2.25, 0, -1.75], [0, 0, 0], [2.25, 0, 1.75],
                          [2.75, 0, 3.916667], [3, 0, 5]],
                       k=[0, 0, 0, 1, 2, 3, 4, 4, 4])

    # test create mode
    print '---TESTING CREATE---'
    ribbon = cmds.am_ribbon(curve)

    # test edit mode and query mode
    def compareVectors(listVec, tupleVec):
        """Return test result comparing vectors"""
        return listVec[0] == tupleVec[0] and listVec[1] == tupleVec[
            1] and listVec[2] == tupleVec[2]

    def verifyValues(outNum, rNode, expWid, expTap, expTwb, expTwl, expUpv,
                     expUvs, expUvp):
        """Print test results"""
        print '%s (test %i):' % (rNode, outNum)
        print '\twidth: %s' % (expWid == cmds.am_ribbon(rNode, q=True, w=True))
        print '\ttaper: %s' % (expTap == cmds.am_ribbon(rNode, q=True, t=True))
        print '\ttwBa:  %s' % (expTwb == cmds.am_ribbon(rNode, q=True,
                                                        tb=True))
        print '\ttwLen: %s' % (expTwl == cmds.am_ribbon(rNode, q=True,
                                                        tl=True))
        print '\tupVec: %s' % (compareVectors(
            expUpv, cmds.am_ribbon(rNode, q=True, up=True)))
        print '\tuvSca: %s' % (expUvs == cmds.am_ribbon(rNode, q=True,
                                                        uv=True))
        print '\tuvPin: %s' % (expUvp == cmds.am_ribbon(
            rNode, q=True, uvp=True))

    print '---TESTING EDIT AND QUERY---'
    wid = 0.5
    taper = 0.5
    twistBase = -45.0
    twistLength = 135.0
    upVec = [0, 2, 0]
    uvScale = 2.0
    uvPin = 1
    cmds.am_ribbon(ribbon,
                   e=True,
                   w=wid,
                   t=taper,
                   tb=twistBase,
                   tl=twistLength,
                   up=upVec,
                   uv=uvScale,
                   uvp=uvPin)
    verifyValues(0, ribbon, wid, taper, twistBase, twistLength, upVec, uvScale,
                 uvPin)
    div = 15
    cmds.am_ribbon(ribbon, e=True, d=div)
    print '\tdivs:  %s' % (div == cmds.am_ribbon(ribbon, q=True, d=True))
    dpu = 2.5
    cmds.am_ribbon(ribbon, e=True, dp=dpu)
    print '\tdpu:   %s' % (dpu - cmds.am_ribbon(ribbon, q=True, dp=True) <
                           0.01)
Exemplo n.º 6
0
def doOptions(input_width, input_divisionsType, input_divisions,
              input_divisionsPerUnit, input_taper, input_frontTwist,
              input_lengthTwist, input_upVector, input_uvScale,
              input_uvScaleType, input_uvPinLocation):
    """This is the function called when the apply or create button is clicked"""
    try:
        utils.dg.validateSelection(type='transform', min=1)
        curves = utils.dg.getFilteredRelatives(cmds.ls(sl=True), 'nurbsCurve',
                                               False)
        if len(curves) is 0:
            raise Exception(
                'None of the objects you have selected are NURBS curves.')

        # call the command
        if cmds.radioButtonGrp(input_divisionsType, q=True, select=True) == 1:
            cmds.am_ribbon(width=cmds.floatSliderGrp(input_width,
                                                     q=True,
                                                     v=True),
                           divisions=cmds.floatSliderGrp(input_divisions,
                                                         q=True,
                                                         v=True),
                           taper=cmds.floatSliderGrp(input_taper,
                                                     q=True,
                                                     v=True),
                           twistBase=cmds.floatSliderGrp(input_frontTwist,
                                                         q=True,
                                                         v=True),
                           twistLength=cmds.floatSliderGrp(input_lengthTwist,
                                                           q=True,
                                                           v=True),
                           upVector=cmds.floatFieldGrp(input_upVector,
                                                       q=True,
                                                       v=True),
                           uvScale=cmds.floatSliderGrp(input_uvScale,
                                                       q=True,
                                                       v=True),
                           uvGroupScale=cmds.radioButtonGrp(
                               input_uvScaleType, q=True, select=True) - 1,
                           uvPin=cmds.radioButtonGrp(
                               input_uvPinLocation, q=True, select=True) - 1)
        else:
            cmds.am_ribbon(width=cmds.floatSliderGrp(input_width,
                                                     q=True,
                                                     v=True),
                           divisionsPerUnit=cmds.floatSliderGrp(
                               input_divisionsPerUnit, q=True, v=True),
                           taper=cmds.floatSliderGrp(input_taper,
                                                     q=True,
                                                     v=True),
                           twistBase=cmds.floatSliderGrp(input_frontTwist,
                                                         q=True,
                                                         v=True),
                           twistLength=cmds.floatSliderGrp(input_lengthTwist,
                                                           q=True,
                                                           v=True),
                           upVector=cmds.floatFieldGrp(input_upVector,
                                                       q=True,
                                                       v=True),
                           uvScale=cmds.floatSliderGrp(input_uvScale,
                                                       q=True,
                                                       v=True),
                           uvGroupScale=cmds.radioButtonGrp(
                               input_uvScaleType, q=True, select=True) - 1,
                           uvPin=cmds.radioButtonGrp(
                               input_uvPinLocation, q=True, select=True) - 1)
    except:
        raise