From b7a543680349dfc7fefbe878e42462d1995e45c3 Mon Sep 17 00:00:00 2001 From: Lars Brubaker Date: Wed, 28 Dec 2022 14:14:38 -0800 Subject: [PATCH] refactoring --- .../ApplicationView/ApplicationController.cs | 2 +- .../Library/ContentProviders/ImageContentProvider.cs | 6 +++--- .../PartPreviewWindow/View3D/CameraFittingUtil.cs | 12 ++++++------ .../View3D/TrackballTumbleWidgetExtended.cs | 10 +++++----- Program.cs | 2 -- Submodules/agg-sharp | 2 +- 6 files changed, 16 insertions(+), 18 deletions(-) diff --git a/MatterControlLib/ApplicationView/ApplicationController.cs b/MatterControlLib/ApplicationView/ApplicationController.cs index de4e91a32..10676da47 100644 --- a/MatterControlLib/ApplicationView/ApplicationController.cs +++ b/MatterControlLib/ApplicationView/ApplicationController.cs @@ -1103,7 +1103,7 @@ namespace MatterHackers.MatterControl else { // If there are no printers setup show the export dialog but have the gcode option disabled - if (ProfileManager.Instance.ActiveProfiles.Count() == 0 + if (!ProfileManager.Instance.ActiveProfiles.Any() || ProfileManager.Instance.ActiveProfiles.Count() > 1) { DialogWindow.Show(new ExportPrintItemPage(libraryItems, centerOnBed, null)); diff --git a/MatterControlLib/Library/ContentProviders/ImageContentProvider.cs b/MatterControlLib/Library/ContentProviders/ImageContentProvider.cs index edbe5bac5..b02913480 100644 --- a/MatterControlLib/Library/ContentProviders/ImageContentProvider.cs +++ b/MatterControlLib/Library/ContentProviders/ImageContentProvider.cs @@ -44,9 +44,9 @@ namespace MatterHackers.MatterControl.DesignTools /// public class ImageContentProvider : ISceneContentProvider { - public Task CreateItem(ILibraryItem item, Action reporter) + public async Task CreateItem(ILibraryItem item, Action reporter) { - return Task.Run(async () => + return await Task.Run(async () => { var imageBuffer = await this.LoadImage(item); if (imageBuffer != null) @@ -61,7 +61,7 @@ namespace MatterHackers.MatterControl.DesignTools { using (var streamAndLength = await streamInterface.GetStream(null)) { - assetPath = AssetObject3D.AssetManager.StoreStream(streamAndLength.Stream, Path.GetExtension(streamInterface.FileName), false, CancellationToken.None, null).Result; + assetPath = await AssetObject3D.AssetManager.StoreStream(streamAndLength.Stream, Path.GetExtension(streamInterface.FileName), false, CancellationToken.None, null); } } diff --git a/MatterControlLib/PartPreviewWindow/View3D/CameraFittingUtil.cs b/MatterControlLib/PartPreviewWindow/View3D/CameraFittingUtil.cs index 348da3146..494cda11b 100644 --- a/MatterControlLib/PartPreviewWindow/View3D/CameraFittingUtil.cs +++ b/MatterControlLib/PartPreviewWindow/View3D/CameraFittingUtil.cs @@ -79,13 +79,13 @@ namespace MatterHackers const double OrthographicLargeZRangeScaledDistanceBetweenNearAndObject = 1.0; #endif - public struct Result + public struct FitResult { public Vector3 CameraPosition; public double OrthographicViewspaceHeight; } - public static Result ComputeOrthographicCameraFit(WorldView world, double centerOffsetX, double zNear, double zFar, AxisAlignedBoundingBox worldspaceAABB) + public static FitResult ComputeOrthographicCameraFit(WorldView world, double centerOffsetX, double zNear, double zFar, AxisAlignedBoundingBox worldspaceAABB) { Vector3[] worldspacePoints = worldspaceAABB.GetCorners(); Vector3[] viewspacePoints = worldspacePoints.Select(x => x.TransformPosition(world.ModelviewMatrix)).ToArray(); @@ -138,10 +138,10 @@ namespace MatterHackers #endif Vector3 worldspaceCameraPosition = viewspaceCameraPosition.TransformPosition(world.InverseModelviewMatrix); - return new Result { CameraPosition = worldspaceCameraPosition, OrthographicViewspaceHeight = targetViewspaceSize.Y }; + return new FitResult { CameraPosition = worldspaceCameraPosition, OrthographicViewspaceHeight = targetViewspaceSize.Y }; } - public static Result ComputePerspectiveCameraFit(WorldView world, double centerOffsetX, AxisAlignedBoundingBox worldspaceAABB) + public static FitResult ComputePerspectiveCameraFit(WorldView world, double centerOffsetX, AxisAlignedBoundingBox worldspaceAABB) { System.Diagnostics.Debug.Assert(!world.IsOrthographic); @@ -169,7 +169,7 @@ namespace MatterHackers switch (PerspectiveFittingAlgorithm) { case EPerspectiveFittingAlgorithm.TrialAndError: - return new Result { CameraPosition = TryPerspectiveCameraFitByIterativeAdjust(world, centerOffsetX, worldspaceAABB) }; + return new FitResult { CameraPosition = TryPerspectiveCameraFitByIterativeAdjust(world, centerOffsetX, worldspaceAABB) }; case EPerspectiveFittingAlgorithm.Sphere: default: viewspaceCameraPosition = PerspectiveCameraFitToSphere(reducedWorld, viewspaceCenter, viewspacePoints); @@ -188,7 +188,7 @@ namespace MatterHackers break; } - return new Result { CameraPosition = viewspaceCameraPosition.TransformPosition(world.InverseModelviewMatrix) }; + return new FitResult { CameraPosition = viewspaceCameraPosition.TransformPosition(world.InverseModelviewMatrix) }; } static bool NeedsToBeSmaller(RectangleDouble partScreenBounds, RectangleDouble goalBounds) diff --git a/MatterControlLib/PartPreviewWindow/View3D/TrackballTumbleWidgetExtended.cs b/MatterControlLib/PartPreviewWindow/View3D/TrackballTumbleWidgetExtended.cs index 22bf75643..569e78b07 100644 --- a/MatterControlLib/PartPreviewWindow/View3D/TrackballTumbleWidgetExtended.cs +++ b/MatterControlLib/PartPreviewWindow/View3D/TrackballTumbleWidgetExtended.cs @@ -551,22 +551,22 @@ namespace MatterHackers.MatterControl.PartPreviewWindow // Using fake values for near/far. // ComputeOrthographicCameraFit may move the camera to wherever as long as the scene is centered, then // GetNearFar will figure out the near/far planes in the next projection update. - CameraFittingUtil.Result result = CameraFittingUtil.ComputeOrthographicCameraFit(world, CenterOffsetX, 0, 1, box); + CameraFittingUtil.FitResult fitResult = CameraFittingUtil.ComputeOrthographicCameraFit(world, CenterOffsetX, 0, 1, box); WorldView tempWorld = new WorldView(world.Width, world.Height); - tempWorld.CalculateOrthogrphicMatrixOffCenterWithViewspaceHeight(world.Width, world.Height, CenterOffsetX, result.OrthographicViewspaceHeight, 0, 1); + tempWorld.CalculateOrthogrphicMatrixOffCenterWithViewspaceHeight(world.Width, world.Height, CenterOffsetX, fitResult.OrthographicViewspaceHeight, 0, 1); double endViewspaceHeight = tempWorld.NearPlaneHeightInViewspace; double startViewspaceHeight = world.NearPlaneHeightInViewspace; AnimateOrthographicTranslationAndHeight( world.EyePosition, startViewspaceHeight, - result.CameraPosition, endViewspaceHeight + fitResult.CameraPosition, endViewspaceHeight ); } else { - CameraFittingUtil.Result result = CameraFittingUtil.ComputePerspectiveCameraFit(world, CenterOffsetX, box); - AnimateTranslation(result.CameraPosition, world.EyePosition); + CameraFittingUtil.FitResult fitResult = CameraFittingUtil.ComputePerspectiveCameraFit(world, CenterOffsetX, box); + AnimateTranslation(fitResult.CameraPosition, world.EyePosition); } } diff --git a/Program.cs b/Program.cs index 2993eac33..b586f5cb0 100644 --- a/Program.cs +++ b/Program.cs @@ -69,8 +69,6 @@ namespace MatterHackers.MatterControl private static RaygunClient _raygunClient; - - [DllImport("Shcore.dll")] static extern int SetProcessDpiAwareness(int PROCESS_DPI_AWARENESS); diff --git a/Submodules/agg-sharp b/Submodules/agg-sharp index 90fc0d026..2b3175da4 160000 --- a/Submodules/agg-sharp +++ b/Submodules/agg-sharp @@ -1 +1 @@ -Subproject commit 90fc0d026d710888e4ed65adc57c28f239334f09 +Subproject commit 2b3175da4640913781a8b41e782199bb10c8448b