Ejemplo n.º 1
0
    private IEnumerator ImportVariableRoutine(IDataLoader _loader, ITimeStepDataAssetBuilder _timestepDataAssetBuilder, string _projectFolder, List <TimeStepDataAsset> _timestepDataAssetList, Utils.BitDepth _bitDepth, IProgress <float> _progress)
    {
        // We assume every directory is a time stamp which contains the level tiffs
        string[] directories = Directory.GetDirectories(_projectFolder);

        Log.Info(this, "Start variable importing routine");

        for (int i = 0; i < directories.Length; i++)
        {
            string directory = directories[i];

            Log.Info(this, "Creating asset from image from " + directory);

            TimeStepDataAsset asset = _timestepDataAssetBuilder.BuildTimestepDataAssetFromData(_loader.ImportImageFiles(directory));

            _timestepDataAssetList.Add(asset);

            // Report progress
            float progression = (i + 1) / ( float )directories.Length;
            _progress.Report(progression);
            yield return(null);
        }

        yield return(null);
    }
Ejemplo n.º 2
0
    private IEnumerator LoadVariableRoutine(string _variableFolder, ITimeStepDataAssetBuilder _timestepDataAssetBuilder, List <TimeStepDataAsset> _timestepDataAssetList, IVariable variable, Utils.BitDepth _bitDepth, IProgress <float> _progress)
    {
        string assetPath = Path.Combine(_variableFolder, Globals.TEXTURE3D_FOLDER_NAME);

        Log.Info(this, "Look for assets at " + assetPath);

        string[] assets = Directory.GetFiles(assetPath);

        Log.Info(this, "Found " + assets.Length + " assets");

        Texture3D asset          = null;
        int       assetFileIndex = 0;

        foreach (string file in assets)
        {
            if (file.EndsWith(".asset"))
            {
                Log.Info(this, "Found " + file);

                asset = AssetDatabase.LoadAssetAtPath <Texture3D>(file);

                TimeStepDataAsset timestepAsset = _timestepDataAssetBuilder.BuildTimestepDataAssetFromTexture(asset);

                _timestepDataAssetList.Add(timestepAsset);

                assetFileIndex++;

                // Report progress
                _progress.Report(Utils.CalculateProgress(assetFileIndex, assets.Length));
                yield return(null);
            }
        }
        Log.Info(this, "Found " + assetFileIndex + " assets");

        yield return(null);
    }