def uiFunc_valuesTweak(self, mode='+'): _str_func = 'uiFunc_valuesTweak' if mode == 'zero': log.info("|{0}| >> Zeroing ".format(_str_func)) for a in 'XYZ': self.__dict__['uiff_transformTweak{0}'.format(a)].setValue(0) for k, cb in self._d_transformCBs.iteritems(): cb.setValue(0) return _ml_targets = uiFunc_getTargets(self) if not _ml_targets: raise ValueError, "Must have targets" _l_toTweak = [] for k, cb in self._d_transformCBs.iteritems(): if cb.getValue(): _l_toTweak.append(k) _tweak = [] for a in 'XYZ': _tweak.append( self.__dict__['uiff_transformTweak{0}'.format(a)].getValue()) pprint.pprint([mode, _l_toTweak, _tweak]) if mode == '+': _tweak_call = MATH.list_add else: _tweak_call = MATH.list_subtract for mObj in _ml_targets: for attr in _l_toTweak: if attr in [ 'translate', 'rotate', 'scale', 'jointOrient', 'rotateAxis' ]: _v = ATTR.get(mObj.mNode, attr) log.info("|{0}| >> pre tweak: [{1}] ".format(_str_func, _v)) _v = _tweak_call(_v, _tweak) log.info("|{0}| >> post tweak: [{1}] ".format(_str_func, _v)) ATTR.set(mObj.mNode, attr, _v) elif attr == 'position': _v = TRANS.position_get(mObj.mNode) log.info("|{0}| >> pre tweak: [{1}] ".format(_str_func, _v)) _v = _tweak_call(_v, _tweak) log.info("|{0}| >> post tweak: [{1}] ".format(_str_func, _v)) TRANS.position_set(mObj.mNode, _v) elif attr == 'orient': _v = TRANS.orient_get(mObj.mNode) log.info("|{0}| >> pre tweak: [{1}] ".format(_str_func, _v)) _v = _tweak_call(_v, _tweak) log.info("|{0}| >> post tweak: [{1}] ".format(_str_func, _v)) TRANS.orient_set(mObj.mNode, _v) else: log.warning("|{0}| >> Haven't setup for {1}...".format( _str_func, _s)) pass
try: TRANS.position_set(mObj.mNode, pos) except Exception,err: log.error("|{0}| >> Failed to get set data. Object: {0} | section: {2}...".format(_str_func,mObj.mNode,_s)) log.error(err) elif _s == 'orient': for mObj in _ml_targets: log.info("|{0}| >> Trying Object: {1} | [{2}]... ".format(_str_func,mObj.mNode,_s)) val = TRANS.orient_get(mObj.mNode) log.info("|{0}| >> pre val: [{1}] ".format(_str_func,val)) for k,v in _d_fieldValues.iteritems(): val['XYZ'.index(k)] = v log.info("|{0}| >> post val: [{1}] ".format(_str_func,val)) try: TRANS.orient_set(mObj.mNode, val) except Exception,err: log.error("|{0}| >> Failed to get set data. Object: {0} | section: {2}...".format(_str_func,mObj.mNode,_s)) log.error(err) elif _s == 'scaleLossy': log.warning("|{0}| >> NOTE - Scale lossy is pushed to local scale on targets ".format(_str_func,mObj.mNode,_s)) for mObj in _ml_targets: log.info("|{0}| >> Trying Object: {1} | [{2}]... ".format(_str_func,mObj.mNode,_s)) scale = TRANS.scaleLossy_get(mObj.mNode) log.info("|{0}| >> pre scale: [{1}] ".format(_str_func,scale)) for k,v in _d_fieldValues.iteritems(): scale['XYZ'.index(k)] = v log.info("|{0}| >> post scale: [{1}] ".format(_str_func,scale)) try: TRANS.scaleLocal_set(mObj.mNode, scale)
def create_localAxisProxyBAK(obj=None): """ Make a local axis box around a given object so that you can then """ try: _str_func = 'create_localAxisProxy' _dag = VALID.getTransform(obj) if not _dag: raise ValueError, "Must have a dag node" l_shapes = TRANS.shapes_get(_dag) _dup = mc.duplicate(l_shapes, po=False, rc=True)[0] #_dup = TRANS.parent_set(_dup,False) #Get some values... t = ATTR.get(_dup, 'translate') r = ATTR.get(_dup, 'rotate') s = ATTR.get(_dup, 'scale') o = TRANS.orient_get(_dup) shear = ATTR.get(_dup, 'shear') _scaleLossy = TRANS.scaleLossy_get(_dag) #Reset our stuff before we make our bb... TRANS.orient_set(_dup, (0, 0, 0)) ATTR.set(_dup, 'scale', [1, 1, 1]) _size = POS.get_bb_size(_dup, True) import cgm.core.lib.math_utils as COREMATH reload(COREMATH) #_proxy = create_proxyGeo('cube',COREMATH.list_div(_scaleLossy,_size)) _proxy = create_proxyGeo('cube', _size) mc.makeIdentity(_proxy, apply=True, scale=True) return #mc.xform(_proxy, scale = _size, worldSpace = True, absolute = True) #Parent it to the dup... _proxy = TRANS.parent_set(_proxy, _dup) ATTR.reset(_proxy, ['t', 'r', 'shear']) #_dup = TRANS.parent_set(_dup, TRANS.parents_get(_dag)) SNAP.go(_dup, _dag) ATTR.set(_dup, 'shear', shear) #TRANS.scaleLocal_set(_dup, s) #mc.delete(_dup) #_scaleLossy = TRANS.scaleLossy_get(_dag) #import cgm.core.lib.math_utils as COREMATH #TRANS.scaleLocal_set(_dup, COREMATH.list_mult([-1.0,-1.0,-1.0],_scaleLossy,)) #proxy = TRANS.parent_set(_proxy, False) cgmGEN.func_snapShot(vars()) #ATTR.set(_dup,'translate',t) #ATTR.set(_dup,'rotate',r) #SNAP.go(_proxy[0],_dag) #ATTR.set(_proxy[0],'scale',_scaleLossy) #TRANS.scaleLocal_set(_dup,[1,1,1]) #ATTR.set(_dup,'shear',[0,0,0]) #_proxy = TRANS.parent_set(_proxy, False) #TRANS.scaleLocal_set(_proxy,_scaleLossy) #ATTR.set(_dup,'scale',s) return mc.rename(_proxy, "{0}_localAxisProxy".format(NAMES.get_base(_dag))) except Exception, err: cgmGEN.cgmExceptCB(Exception, err, msg=vars())
TRANS.orientObject_get(_root,_euclid) TRANS.rotateAxis_get(_root,_euclid) TRANS.worldMatrix_get(_root,_euclid) TRANS.scaleLocal_get(_root,_euclid) TRANS.scaleLossy_get(_root,_euclid) #...sets... _pos = [0,1,1] _rot = [10,66,80] _scale = [1,2,1] _rot = TRANS.rotate_get('NotBatman_master_block1',True) TRANS.translate_set(_root,_pos) TRANS.position_set(_root,_pos) TRANS.rotate_set(_root,_rot) TRANS.eulerAngles_set(_root,_rot) TRANS.orient_set(_root,_rot) TRANS.orientObject_set(_root,_rot) TRANS.rotateAxis_set(_root,_rot) TRANS.scaleLocal_set(_root,_scale) #...heirarchy _rootRoot = 'group2' TRANS.parent_get(_root) TRANS.parent_set(_root,TRANS.parent_get(_root)) TRANS.parents_get(_root) TRANS.children_get(_rootRoot) TRANS.descendents_get(_rootRoot) TRANS.is_childTo(_root,TRANS.parents_get(_root)[0]) TRANS.is_childTo(_root,None)