protected void PostponedRender(object sender, EventArgs e) { Wait.SubStart(); Wait.Message = "Building Preview"; SimPe.Plugin.GeometryDataContainerExt ext = ((sender as PackageInfo).RenderData) as SimPe.Plugin.GeometryDataContainerExt; Ambertation.Scenes.Scene scn = ext.GetScene(new SimPe.Plugin.Gmdc.ElementOrder(SimPe.Plugin.Gmdc.ElementSorting.Preview)); nfo.RenderedImage = Get3dPreview(scn); scn.Dispose(); ext.Gmdc.Dispose(); ext.Dispose(); Wait.SubStop(); }
protected void PostponedRender(object sender, EventArgs e) { Wait.SubStart(); Wait.Message = "Building Preview"; PackageInfo nfo = sender as PackageInfo; object[] data = nfo.RenderData as object[]; tmppkg = SimPe.Packages.GeneratableFile.LoadFromFile(data[1].ToString()); if (tmppkg == null) { return; } SimPe.Interfaces.Scenegraph.IScenegraphFileIndex fii = SimPe.Plugin.DownloadsToolFactory.TeleportFileIndex.AddNewChild(); SimPe.Plugin.MmatWrapper mmat = data[0] as SimPe.Plugin.MmatWrapper; mmat.ProcessData(mmat.FileDescriptor, tmppkg); if (mmat != null) { fii.AddIndexFromPackage(mmat.Package, true); try { Ambertation.Scenes.Scene scn = SimPe.Plugin.PreviewForm.RenderScene(mmat); nfo.RenderedImage = Downloads.DefaultTypeHandler.Get3dPreview(scn); scn.Dispose(); mmat.Dispose(); } catch {} } fii.CloseAssignedPackages(); SimPe.Plugin.DownloadsToolFactory.TeleportFileIndex.RemoveChild(fii); this.DisposeTmpPkg(); Wait.SubStop(); }