def test_create_heirarchy(self): # Test on object with parent jnts = [] jnts.append(pm.joint(p=(1, 1, 1))) jnts.append(pm.joint(p=(2, 2, 2))) crv = pm.circle()[0] pm.delete(pm.parentConstraint(jnts[-1], crv, mo=0)) pm.parent(crv, jnts[-1]) grps = control.create_heirarchy('temp', crv, 5) count = 0 for g in grps: self.assertTrue( transforms.assertLocationsMatch(g, crv)) self.assertTrue( transforms.assertDefaultScale(g)) if count > 0: self.assertTrue( transforms.assertAllZero(g)) self.assertTrue( transforms.assertParentIs(g, grps[count-1])) count += 1 self.assertEqual(grps[0].name(), 'temp_top_node') self.assertEqual(grps[-1].name(), 'temp_btm_node') self.assertTrue(transforms.assertParentIs(crv, grps[-1])) self.assertTrue(transforms.assertParentIs(grps[0], jnts[-1])) self.assertTrue(transforms.assertAllZero(crv)) self.assertTrue(transforms.assertDefaultScale(crv))
def test_assertAllZero(self): self.assertTrue(transforms.assertAllZero(self.joints[0])) self.joints[0].rx.set(5) self.assertFalse(transforms.assertAllZero(self.joints[0])) self.joints[0].rx.set(0) self.joints[0].sx.set(5) self.assertFalse(transforms.assertAllZero(self.joints[0])) self.assertFalse(transforms.assertAllZero(self.joints[1]))
def test_make_control(self): controls = [] reg_node = None for i in range(5): if i == 0: reg_node, control = fk_rig.make_control(name='temp%s' % str(i + 1), obj=self.jnts[i], buffers=2, color='light_blue', scale=3.0, typ='cube') else: reg_node, control = fk_rig.make_control(name='temp%s' % str(i + 1), obj=self.jnts[i], buffers=2, color='light_blue', scale=3.0, typ='cube', reg_node=reg_node) controls.append(control) self.assertEqual(len(controls), 5) count = 0 for cnt, jnt in zip(controls, self.jnts): name = 'temp%s' % (count + 1) for s in cnt.getShapes(): self.assertEqual(s.overrideColor.get(), 6) self.assertTrue(transforms.assertOrientationMatches(cnt, jnt)) attr = getattr(reg_node, cnt.name()) self.assertEqual(attr.listConnections()[0], cnt) self.assertEqual(cnt.name().split('_')[0], name) self.assertTrue(transforms.assertLocationsMatch(cnt, jnt)) self.assertTrue(transforms.assertAllZero(cnt)) # Check that joint is under curve pm.select(cnt, hi=True, r=True) sel = pm.ls(sl=1) self.assertIn(jnt, sel) pm.select(clear=True) # Check heirarchy try: p1 = cnt.getParent() p2 = p1.getParent() if count > 0: prnt = p2.getParent() self.assertEqual(prnt, self.jnts[count - 1]) self.assertTrue(transforms.assertAllZero(p1)) self.assertEqual(p1.name(), '%s_btm_node' % name) self.assertEqual(p2.name(), '%s_top_node' % name) except Exception as e: str_1 = 'Heirarchy check failed: Error: ', str(e) self.fail(str_1) count += 1
def test_make_control(self): controls = [] reg_node = None for i in range(5): if i == 0: reg_node, control = fk_rig.make_control(name='temp%s' % str(i+1), obj=self.jnts[i], buffers=2, color='light_blue', scale=3.0, typ='cube') else: reg_node, control = fk_rig.make_control(name='temp%s' % str(i+1), obj=self.jnts[i], buffers=2, color='light_blue', scale=3.0, typ='cube', reg_node=reg_node) controls.append(control) self.assertEqual(len(controls), 5) count = 0 for cnt, jnt in zip(controls, self.jnts): name = 'temp%s' % (count+1) for s in cnt.getShapes(): self.assertEqual(s.overrideColor.get(), 6) self.assertTrue(transforms.assertOrientationMatches(cnt, jnt)) attr = getattr(reg_node, cnt.name()) self.assertEqual(attr.listConnections()[0], cnt) self.assertEqual(cnt.name().split('_')[0], name) self.assertTrue(transforms.assertLocationsMatch(cnt, jnt)) self.assertTrue(transforms.assertAllZero(cnt)) # Check that joint is under curve pm.select(cnt, hi=True, r=True) sel = pm.ls(sl=1) self.assertIn(jnt, sel) pm.select(clear=True) # Check heirarchy try: p1 = cnt.getParent() p2 = p1.getParent() if count > 0: prnt = p2.getParent() self.assertEqual(prnt, self.jnts[count-1]) self.assertTrue(transforms.assertAllZero(p1)) self.assertEqual(p1.name(), '%s_btm_node' % name) self.assertEqual(p2.name(), '%s_top_node' % name) except Exception as e: str_1 = 'Heirarchy check failed: Error: ', str(e) self.fail(str_1) count += 1