Refactor DCCsi to work better with O3DE changes (#4226)
* moving files in refactor/re-org Signed-off-by: Jonny Gallowy <gallowj@amazon.com> * dev env refactor/re-org Signed-off-by: Jonny Gallowy <gallowj@amazon.com> * moving/re-org so we can deprate the SDK nomiclature Signed-off-by: Jonny Gallowy <gallowj@amazon.com> * moving/re-org so we can deprate the SDK nomiclature Signed-off-by: Jonny Gallowy <gallowj@amazon.com> * Refactoring env so I can replace SDK with Tools folder Signed-off-by: Jonny Gallowy <gallowj@amazon.com> * re-org and prune, from SKD to Tools Signed-off-by: Jonny Gallowy <gallowj@amazon.com> * Removing old .bat files from SDK Signed-off-by: Jonny Gallowy <gallowj@amazon.com> * updated how to retreive PYTHONHOME Signed-off-by: Jonny Gallowy <gallowj@amazon.com> * Can't use/set PYTHONHOME with DCC Tools Signed-off-by: Jonny Gallowy <gallowj@amazon.com> * small refactor Signed-off-by: Jonny Gallowy <gallowj@amazon.com> * repaired a missed typo (causes error) Signed-off-by: Jonny Gallowy <gallowj@amazon.com> * Added missing EntityId.h include to FocusModeInterface.h Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com> * refactor additional LY to O3DE tags Signed-off-by: Jonny Gallowy <gallowj@amazon.com> * Some design scaffold file stubs Signed-off-by: Jonny Gallowy <gallowj@amazon.com> * stubbing in scaffold file pattern Signed-off-by: Jonny Gallowy <gallowj@amazon.com> * Removal of corrupted prefabs Signed-off-by: Benjamin Black <benblac@amazon.com> * refactored config_utils to maintain py2.7 support for maya 2020 Signed-off-by: Jonny Gallowy <gallowj@amazon.com> * refactored config_utils to maintain py2.7 support for maya 2020 Signed-off-by: Jonny Gallowy <gallowj@amazon.com> * pruning and cleanup Signed-off-by: Jonny Gallowy <gallowj@amazon.com> * .env is for local dev overrides Signed-off-by: Jonny Gallowy <gallowj@amazon.com> * .env is for local dev overrides Signed-off-by: Jonny Gallowy <gallowj@amazon.com> * clean up init and logging patterns Signed-off-by: Jonny Gallowy <gallowj@amazon.com> * Core refactoring, config.py functional standalone Signed-off-by: Jonny Gallowy <gallowj@amazon.com> * cleaned up some bad logging, fixed up boostrap Signed-off-by: Jonny Gallowy <gallowj@amazon.com> * fixed validation errors Signed-off-by: Jonny Gallowy <gallowj@amazon.com> * fix logging issue, tiddy up Signed-off-by: Jonny Gallowy <gallowj@amazon.com> * tiddy up maya for .bat bootstraping and launch Signed-off-by: Jonny Gallowy <gallowj@amazon.com> * name stub, fix validation Signed-off-by: Jonny Gallowy <gallowj@amazon.com> Co-authored-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com> Co-authored-by: Benjamin Black <benblac@amazon.com>
This commit is contained in:
+38
@@ -0,0 +1,38 @@
|
||||
# coding:utf-8
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# Copyright (c) Contributors to the Open 3D Engine Project.
|
||||
# For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
#
|
||||
#
|
||||
# --------------------------------------------------------------------------
|
||||
"""azpy.dcc.maya.toolbits.__init__"""
|
||||
|
||||
import logging as _logging
|
||||
|
||||
import azpy.env_bool as env_bool
|
||||
from azpy.constants import ENVAR_DCCSI_GDEBUG
|
||||
from azpy.constants import ENVAR_DCCSI_DEV_MODE
|
||||
from azpy.constants import FRMT_LOG_LONG
|
||||
|
||||
_DCCSI_GDEBUG = env_bool.env_bool(ENVAR_DCCSI_GDEBUG, False)
|
||||
_DCCSI_DEV_MODE = env_bool.env_bool(ENVAR_DCCSI_DEV_MODE, False)
|
||||
|
||||
_PACKAGENAME = __name__
|
||||
if _PACKAGENAME is '__main__':
|
||||
_PACKAGENAME = 'azpy.dcc.maya.toolbits'
|
||||
|
||||
# set up module logging
|
||||
for handler in _logging.root.handlers[:]:
|
||||
_logging.root.removeHandler(handler)
|
||||
_LOGGER = _logging.getLogger(_PACKAGENAME)
|
||||
_logging.basicConfig(format=FRMT_LOG_LONG)
|
||||
_LOGGER.debug('Initializing: {0}.'.format({_PACKAGENAME}))
|
||||
|
||||
__all__ = ['detach']
|
||||
|
||||
del _LOGGER
|
||||
#--------------------------------------------------------------------------
|
||||
|
||||
+121
@@ -0,0 +1,121 @@
|
||||
# coding:utf-8
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# Copyright (c) Contributors to the Open 3D Engine Project.
|
||||
# For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
#
|
||||
#
|
||||
# -- This line is 75 characters -------------------------------------------
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# -------------------------------------------------------------------------
|
||||
# <DCCsi>\\azpy\\maya\\\toolbits\\detach.py
|
||||
# Maya event callback handler
|
||||
# -------------------------------------------------------------------------
|
||||
# -------------------------------------------------------------------------
|
||||
'''
|
||||
Module Documentation:
|
||||
DccScriptingInterface\\azpy\\maya\\\toolbits\\detach.py
|
||||
|
||||
Implements a clean detach in maya
|
||||
'''
|
||||
# -------------------------------------------------------------------------
|
||||
# built in's
|
||||
# none
|
||||
|
||||
# 3rd Party
|
||||
# none
|
||||
|
||||
# Lumberyard extensions
|
||||
import azpy
|
||||
import azpy.helpers.decorators.wrapper
|
||||
#from azpy.helpers.decorators.wrapper import wrapper
|
||||
|
||||
|
||||
# Maya Imports
|
||||
import maya.mc as mc
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# global space debug flag
|
||||
from azpy import env_bool
|
||||
from azpy.constants import ENVAR_DCCSI_GDEBUG
|
||||
from azpy.constants import ENVAR_DCCSI_DEV_MODE
|
||||
|
||||
# global space
|
||||
_DCCSI_GDEBUG = env_bool(ENVAR_DCCSI_GDEBUG, False)
|
||||
_DCCSI_DEV_MODE = env_bool(ENVAR_DCCSI_DEV_MODE, False)
|
||||
|
||||
_PACKAGENAME = __name__
|
||||
if _PACKAGENAME is '__main__':
|
||||
_PACKAGENAME = 'azpy.dcc.maya.toolbits.detatch'
|
||||
|
||||
import azpy
|
||||
_LOGGER = azpy.initialize_logger(_PACKAGENAME)
|
||||
_LOGGER.debug('Invoking __init__.py for {0}.'.format({_PACKAGENAME}))
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
#@wrapper
|
||||
def clean_detach(detachType=0, args=None, name=None,
|
||||
deletHistoyIn=False, deleteHistoryOut=True):
|
||||
'''
|
||||
Helper Function to aid in detaching faces from any obj
|
||||
or duplicating those faces without harming the orignal
|
||||
'''
|
||||
|
||||
sel = azpy.dcc.maya.helpers.utils.Selection()
|
||||
|
||||
for obj in sel.selection.keys():
|
||||
print("~ cleanDetach:: Working on: {0}".format(obj))
|
||||
|
||||
# set up / open the maya undo context
|
||||
with azpy.dcc.maya.helpers.UndoContext():
|
||||
|
||||
if deletHistoyIn:
|
||||
mc.delete( obj, constructionHistory = True)
|
||||
|
||||
obShortName = mc.ls( obj, shortNames = True)[0]
|
||||
fubName = '{0}_detWrk0'.format(obShortName)
|
||||
|
||||
#newObj = mc.duplicate( obj, renameChildren = True, name = fubName)[0]
|
||||
newObj = mc.duplicate( obj, name = fubName)[0]
|
||||
|
||||
mc.makeIdentity( newObj, apply = True, translate = True,
|
||||
rotate = True, scale = True)
|
||||
|
||||
mc.delete( newObj, constructionHistory = True)
|
||||
|
||||
newObj = mc.parent(newObj, obj)
|
||||
|
||||
newObj = mc.ls( newObj, long = True)[0]
|
||||
|
||||
if sel.selection[obj][2] == None:
|
||||
continue
|
||||
|
||||
# Continue detachin
|
||||
faceList = []
|
||||
for faceNum in sel.get_inverse_component_index(obj,2):
|
||||
faceList.append( '{0}.f[{1}]'.format( newObj, str(faceNum) ) )
|
||||
mc.delete(faceList)
|
||||
|
||||
if detachType == 0 :
|
||||
mc.delete( sel.selection[obj][2] )
|
||||
|
||||
if name:
|
||||
newObj = mc.rename( newObj, name )
|
||||
|
||||
#mc.delete(obj, constructionHistory = True)
|
||||
|
||||
if deleteHistoryOut:
|
||||
mc.delete(newObj, constructionHistory = True)
|
||||
|
||||
mc.select( clear = True )
|
||||
mc.select( newObj, toggle = True )
|
||||
|
||||
obj = mc.ls( obj, long = True)[0]
|
||||
newObj = mc.ls( newObj, long = True)[0]
|
||||
|
||||
return obj, newObj
|
||||
# -------------------------------------------------------------------------
|
||||
Reference in New Issue
Block a user