def test_transform_creation(self): """ Test node creation via noca-convenience function """ name = "test" node = noca.create_node("transform", name=name) # Make sure noca-node refers to the correct Maya-node self.assertEqual(node.node, name) # Make sure transform was correctly created transform_exists = cmds.objExists(name) self.assertTrue(transform_exists) transform_type = cmds.objectType(name) self.assertEqual(transform_type, "transform") # Make sure transform has no children transform_children = cmds.listRelatives(name) self.assertIsNone(transform_children)
print(add_result.attrs) print(add_result.attrs_list) print(add_result.plugs) noca_list = noca.Node([a.tx, c.tx, b.tz]) print(noca_list.nodes) # Tab2 # CONVENIENT EXTRAS import node_calculator.core as noca # Create nodes as NcNode instances my_transform = noca.transform("myTransform") my_locator = noca.locator("myLocator") my_xy = noca.create_node("nurbsCurve", "myCurve") # Add attributes my_transform.add_separator() offset = my_transform.add_float("offsetValue", min=0, max=3) space_switch = my_transform.add_enum("spaceSwitch", cases=["local", "world"]) my_locator.t = noca.Op.condition(space_switch == 0, my_transform.ty * 2 - offset, 0) # Tab3 # CONVENIENT EXTRAS import node_calculator.core as noca # NcNodes as iterables some_node = noca.Node("A_geo", ["tx", "ty"])
print('Type of noca.Node([1, 2, 3]):', type(_list)) # Tab2 # UNDER THE HOOD # NcNode vs NcAttrs nc_node = noca.Node("A_geo.translateX") nc_attr = nc_node.scaleY nc_attr.extra # or: nc_node.scaleY.extra plus_minus = noca.create_node("plusMinusAverage", "test") plus_minus = noca.Node(plus_minus, "input3D[0]") plus_minus.attrs.input3Dx = 8 # Tab3 # UNDER THE HOOD # NcValues # This does NOT work: normal_int = 1 normal_int.marco = "polo" # This works: noca_int = noca.Node(1) noca_int.marco = "polo"
def setUp(self): super(TestOperators, self).setUp() # Create standard nodes on which to perform the operations on. # Transform test nodes self.tf_out_a = noca.create_node("transform", name="transform_out_A") self.tf_out_b = noca.create_node("transform", name="transform_out_B") self.tf_in_a = noca.create_node("transform", name="transform_in_A") self.tf_in_b = noca.create_node("transform", name="transform_in_B") # Matrix test nodes self.mat_out_a = noca.create_node("holdMatrix", name="matrix_out_A") self.mat_out_b = noca.create_node("holdMatrix", name="matrix_out_B") self.mat_in_a = noca.create_node("holdMatrix", name="matrix_in_A") # Quaternion test nodes self.quat_out_a = noca.create_node("eulerToQuat", name="quaternion_out_A") self.quat_out_b = noca.create_node("eulerToQuat", name="quaternion_out_B") self.quat_in_a = noca.create_node("quatNormalize", name="quaternion_in_A") # Mesh, curve and nurbsSurface test nodes self.mesh_out_a = noca.create_node("mesh", name="mesh_out_A") self.mesh_shape_out_a = noca.Node("mesh_out_AShape") self.curve_out_a = noca.create_node("nurbsCurve", name="curve_out_A") self.curve_shape_out_a = noca.Node("curve_out_AShape") self.surface_out_a = noca.create_node("nurbsSurface", name="surface_out_A") self.surface_shape_out_a = noca.Node("surface_out_AShape")