# Copyright (c) Microsoft Corporation. 
# Licensed under the MIT license. 

import math
import os
import sys
import glob
import gc
import threading

from pathlib import Path
from simplygon import simplygon_loader
from simplygon import Simplygon


def ImportExportGLTF(sg: Simplygon.ISimplygon):
    sgSceneImporter = sg.CreateSceneImporter()
    sgSceneImporter.SetImportFilePath( "../Assets/FlightHelmet/FlightHelmet.gltf" )
    if not sgSceneImporter.RunImport():
        raise Exception("Failed to load FlightHelmet/FlightHelmet.gltf.")
    sgScene = sgSceneImporter.GetScene()

    sgSceneExporter = sg.CreateSceneExporter()
    sgSceneExporter.SetScene(sgScene)
    sgSceneExporter.SetExportFilePath( "GLTFOutput.glb" )
    if not sgSceneExporter.RunExport():
        raise Exception("Failed to save GLTFOutput.glb.")


if __name__ == '__main__':
    sg = simplygon_loader.init_simplygon()

    ImportExportGLTF(sg)

    sg = None
    gc.collect()

