node_calculator icon indicating copy to clipboard operation
node_calculator copied to clipboard

Avoid unnecessary setAttr-commands in Tracer

Open mischakolbe opened this issue 6 years ago • 0 comments

Currently

with noca.Tracer(pprint_trace=True):
    b.tx = noca.Op.set_range(a.tx)

results in

var1 = cmds.createNode('setRange', name='nc_SET_RANGE_translateX_0_1_0_1_setRange')
cmds.connectAttr('A.translateX', var1 + '.valueX', force=True)
cmds.setAttr(var1 + '.minX', 0)
cmds.setAttr(var1 + '.maxX', 1)
cmds.setAttr(var1 + '.oldMinX', 0)
cmds.setAttr(var1 + '.oldMaxX', 1)
cmds.connectAttr(var1 + '.outValueX', 'B.translateX', force=True)

If min/max/oldMin/oldMax values are not different to default values they should not be traced:

var1 = cmds.createNode('setRange', name='nc_SET_RANGE_translateX_0_1_0_1_setRange')
cmds.connectAttr('A.translateX', var1 + '.valueX', force=True)
cmds.connectAttr(var1 + '.outValueX', 'B.translateX', force=True)

mischakolbe avatar Jul 01 '18 04:07 mischakolbe