/*
* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
* its licensors.
*
* For complete copyright and license terms please see the LICENSE at the root of this
* distribution (the "License"). All use of this software is governed by the License,
* or, if provided, by the license below or the license accompanying this file. Do not
* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*
*/
// Original file Copyright Crytek GMBH or its affiliates, used under license.

// "Prepare Materials for Alembic Export" 
// "import cryAlembic\ncryAlembic.renameShadingEngines()\ncryAlembic.enforcePerFaceAssignment()"
// 
// "Export Alembic for Lumberyard" 
// "from maya import cmds\nimport cryAlembic\n\ncryAlembic.exportAlembicForGeomCache(cmds.ls(sl = 1))"

proc preparePyEnv()
{
    string $pycmd = "try:\n" +
        "    import cryAlembic\n" +
        "except:\n" +
        "    import sys\n" +
        "    print('could not import cry maya tools! trying to setup environment...')\n" +
        "    paths = [p for p in os.environ['MAYA_SCRIPT_PATH'].split(';') if p.lower().endswith('/tools/melscript')]\n" +
        "    crypath = ''\n" +
        "    for p in paths:\n" +
        "        if os.path.exists('%s/%s' % (p, 'cryAlembic.py')):\n" +
        "            print('found \"/Tools/melScript\" path')\n" +
        "            crypath = p\n" +
        "            break\n" +
        "    if crypath not in [p.replace('\\\\','/').lower() for p in sys.path]:\n" +
        "        sys.path.append(crypath)\n" +
        "        print('added \"/Tools/melScript\" path to py paths')\n";
    python($pycmd);
}

global proc cryAlembic_prepareMaterials()
{
    preparePyEnv();
    python("import cryAlembic\ncryAlembic.renameShadingEngines()\ncryAlembic.enforcePerFaceAssignment()");
}

global proc cryAlembic_export()
{
    preparePyEnv();
    python("import cryAlembic\ncryAlembic.exportAlembicForGeomCache()");
}