Ejemplo n.º 1
0
        private void LoadModelThread(object state)
        {
            var asyncModelLoadData = state as ModelLoadingManager.AsyncModelLoadData;
            var model = (M3D.Graphics.Ext3D.ModelRendering.Model)null;

            ModelLoadingManager.Result result = ModelLoadingManager.Result.Success;
            try
            {
                model          = ModelLoadingManager.LoadModelFromFile(asyncModelLoadData.filename);
                model.fileName = asyncModelLoadData.filename;
            }
            catch (Exception ex)
            {
                result = ModelLoadingManager.Result.Failed;
            }
            if (model == null || result == ModelLoadingManager.Result.Failed)
            {
                ShowFileLoadingExeption(new Exception("load failure"), asyncModelLoadData.filename, asyncModelLoadData.onFailCallback);
                DecFilesLoading();
            }
            else
            {
                if (asyncModelLoadData.loadedCallback == null)
                {
                    return;
                }

                asyncModelLoadData.loadedCallback(result, model, asyncModelLoadData.objectDetails);
            }
        }
Ejemplo n.º 2
0
 private void OnModelLoadedCallback(ModelLoadingManager.Result result, M3D.Graphics.Ext3D.ModelRendering.Model model, PrintDetails.ObjectDetails details)
 {
     if (result == ModelLoadingManager.Result.Success)
     {
         IncFilesOptimizing();
         modelLoadedQueue.Enqueue(new ModelLoadingManager.ModelLoadDetails(model, details));
     }
     else
     {
         DecFilesLoading();
         informationbox.AddMessageToQueue("Unable to load model.");
     }
 }