コード例 #1
0
    def test_scene_is_dirty(self):
        with Stub() as pymel.core.language:
            from pymel.core.language import mel

            mel.eval("file -q -mf") >> 0
        self.assertFalse(scene_is_dirty())

        with Stub() as pymel.core.language:
            from pymel.core.language import mel

            mel.eval("file -q -mf") >> 1
        self.assertTrue(scene_is_dirty())
コード例 #2
0
ファイル: spliner.py プロジェクト: xileflig/maya-scripts
    def on_createSplineIKSystemButton_clicked(self):
        self.bottomWidget.show()
        self.topWidget.setEnabled(False)

        dj_chains, output_curves = (), ()
        for root in selected():
            dj_chain = (root, )
            while dj_chain[-1].numChildren():
                dj_chain += (dj_chain[-1].getChildren()[0], )
            dj_chains += (dj_chain, )

            # Assign a hair system to the driver joint chain.
            output_curves += ( \
             curve(p=[dj.getTranslation(space='world').get() \
             for dj in dj_chain]),)

        select(output_curves)
        mel.eval('assignNewHairSystem')
        follicle_curves = selected()

        hs = follicle_curves[0].getParent().getShape().attr('outHair') \
         .outputs()[0]

        [hs.attr(x).set(0) for x in \
         ('drag', 'friction', 'mass', 'gravity', 'dynamicsWeight')]

        hs.attr('startCurveAttract').set(0.25)

        for i, dj_chain in enumerate(dj_chains):
            oc = output_curves[i]
            select(dj_chain + (oc, ))
            SmoothBindSkin()
            bjs = [dj.attr('rotate').outputs()[0].attr('constraintRotateZ') \
             .outputs()[0] for dj in (dj_chain[0], dj_chain[-1])]
            ikHandle(startJoint=bjs[0],
                     endEffector=bjs[1],
                     curve=oc,
                     solver='ikSplineSolver',
                     parentCurve=False,
                     createCurve=False)

        self.topWidget.setEnabled(True)
        self.bottomWidget.hide()
コード例 #3
0
ファイル: spliner.py プロジェクト: jedmao/maya-scripts
	def on_createSplineIKSystemButton_clicked(self):
		self.bottomWidget.show()
		self.topWidget.setEnabled(False)
		
		dj_chains, output_curves = (), ()
		for root in selected():
			dj_chain = (root,)
			while dj_chain[-1].numChildren():
				dj_chain += (dj_chain[-1].getChildren()[0],)
			dj_chains += (dj_chain,)
			
			# Assign a hair system to the driver joint chain.
			output_curves += ( \
				curve(p=[dj.getTranslation(space='world').get() \
				for dj in dj_chain]),)
		
		select(output_curves)
		mel.eval('assignNewHairSystem')
		follicle_curves = selected()
		
		hs = follicle_curves[0].getParent().getShape().attr('outHair') \
			.outputs()[0]
		
		[hs.attr(x).set(0) for x in \
			('drag', 'friction', 'mass', 'gravity', 'dynamicsWeight')]
		
		hs.attr('startCurveAttract').set(0.25)
		
		for i, dj_chain in enumerate(dj_chains):
			oc = output_curves[i]
			select(dj_chain + (oc,))
			SmoothBindSkin()
			bjs = [dj.attr('rotate').outputs()[0].attr('constraintRotateZ') \
				.outputs()[0] for dj in (dj_chain[0], dj_chain[-1])]
			ikHandle(startJoint=bjs[0], endEffector=bjs[1],
				curve=oc, solver='ikSplineSolver',
				parentCurve=False, createCurve=False)
		
		self.topWidget.setEnabled(True)
		self.bottomWidget.hide()
コード例 #4
0
def scene_is_dirty():
    """Checks to see if the scene has unsaved changes"""
    return bool(mel.eval('file -q -mf'))