fixed snapping indicators

fixing warnings
fixing scaling issues
This commit is contained in:
LarsBrubaker 2020-09-13 08:32:43 -07:00
parent a35347df4a
commit b1c79e88c6
8 changed files with 64 additions and 68 deletions

View file

@ -54,8 +54,8 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
private readonly Mesh upArrowMesh;
private AxisAlignedBoundingBox mouseDownSelectedBounds;
private Matrix4X4 transformOnMouseDown = Matrix4X4.Identity;
private readonly double distToStart = 5;
private readonly double lineLength = 55;
private readonly double distToStart = 5 * GuiWidget.DeviceScale;
private readonly double lineLength = 55 * GuiWidget.DeviceScale;
private readonly List<Vector2> lines = new List<Vector2>();
private readonly double upArrowSize = 7 * GuiWidget.DeviceScale;
private readonly InlineEditControl zHeightDisplayInfo;

View file

@ -38,11 +38,11 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
{
public class SelectionShadow : Object3DControl
{
static Mesh normalShadowMesh;
private static Mesh normalShadowMesh;
private Color shadowColor;
private ThemeConfig theme;
private readonly ThemeConfig theme;
public SelectionShadow(IObject3DControlContext context)
: base(context)
@ -59,7 +59,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
TotalTransform = Matrix4X4.CreateTranslation(new Vector3(boundsCenter.X, boundsCenter.Y, 0.1));
}
Mesh GetNormalShadowMesh()
private Mesh GetNormalShadowMesh()
{
if (normalShadowMesh == null)
{

View file

@ -37,9 +37,9 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
{
public class SnappingIndicators : Object3DControl
{
private double distToStart = 10;
private double lineLength = 15;
private Vector2[] lines = new Vector2[4];
private readonly double distToStart = 10 * GuiWidget.DeviceScale;
private readonly double lineLength = 15 * GuiWidget.DeviceScale;
private readonly Vector2[] lines = new Vector2[4];
public SnappingIndicators(IObject3DControlContext context)
: base(context)
@ -52,7 +52,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
public override void Dispose()
{
// no objects need to be removed
Object3DControlContext.GuiSurface.AfterDraw -= Object3DControl_AfterDraw;
}
public override void SetPosition(IObject3D selectedItem, MeshSelectInfo meshSelectInfo)
@ -68,7 +68,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
{
case HitQuadrant.LB:
{
Vector3 cornerPoint = new Vector3(selectedBounds.MinXYZ.X, selectedBounds.MinXYZ.Y, 0);
var cornerPoint = new Vector3(selectedBounds.MinXYZ.X, selectedBounds.MinXYZ.Y, 0);
double distBetweenPixelsWorldSpace = world.GetWorldUnitsPerScreenPixelAtPosition(cornerPoint);
lines[0] = world.GetScreenPosition(cornerPoint - new Vector3(distToStart * distBetweenPixelsWorldSpace, 0, 0));
@ -82,7 +82,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
case HitQuadrant.LT:
{
Vector3 cornerPoint = new Vector3(selectedBounds.MinXYZ.X, selectedBounds.MaxXYZ.Y, 0);
var cornerPoint = new Vector3(selectedBounds.MinXYZ.X, selectedBounds.MaxXYZ.Y, 0);
double distBetweenPixelsWorldSpace = world.GetWorldUnitsPerScreenPixelAtPosition(cornerPoint);
lines[0] = world.GetScreenPosition(cornerPoint - new Vector3(distToStart * distBetweenPixelsWorldSpace, 0, 0));
@ -96,7 +96,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
case HitQuadrant.RB:
{
Vector3 cornerPoint = new Vector3(selectedBounds.MaxXYZ.X, selectedBounds.MinXYZ.Y, 0);
var cornerPoint = new Vector3(selectedBounds.MaxXYZ.X, selectedBounds.MinXYZ.Y, 0);
double distBetweenPixelsWorldSpace = world.GetWorldUnitsPerScreenPixelAtPosition(cornerPoint);
lines[0] = world.GetScreenPosition(cornerPoint + new Vector3(distToStart * distBetweenPixelsWorldSpace, 0, 0));
@ -110,7 +110,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
case HitQuadrant.RT:
{
Vector3 cornerPoint = new Vector3(selectedBounds.MaxXYZ.X, selectedBounds.MaxXYZ.Y, 0);
var cornerPoint = new Vector3(selectedBounds.MaxXYZ.X, selectedBounds.MaxXYZ.Y, 0);
double distBetweenPixelsWorldSpace = world.GetWorldUnitsPerScreenPixelAtPosition(cornerPoint);
lines[0] = world.GetScreenPosition(cornerPoint + new Vector3(distToStart * distBetweenPixelsWorldSpace, 0, 0));