Пример #1
0
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
Пример #2
0
         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)     
Пример #3
0
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)