diff --git a/CustomWidgets/PartThumbnailWidget.cs b/CustomWidgets/PartThumbnailWidget.cs
index a0a25c8b8..7563b3eb6 100644
--- a/CustomWidgets/PartThumbnailWidget.cs
+++ b/CustomWidgets/PartThumbnailWidget.cs
@@ -156,7 +156,7 @@ namespace MatterHackers.MatterControl
double maxSize = Math.Max(aabb.XSize, aabb.YSize);
double scale = thumbnailWidget.image.Width / (maxSize * 1.2);
RectangleDouble bounds2D = new RectangleDouble(aabb.minXYZ.x, aabb.minXYZ.y, aabb.maxXYZ.x, aabb.maxXYZ.y);
- PolygonMesh.Processors.OrthographicZProjection.DrawTo(partGraphics2D, loadedMesh,
+ PolygonMesh.Rendering.OrthographicZProjection.DrawTo(partGraphics2D, loadedMesh,
new Vector2((thumbnailWidget.image.Width / scale - bounds2D.Width) / 2 - bounds2D.Left,
(thumbnailWidget.image.Height / scale - bounds2D.Height) / 2 - bounds2D.Bottom),
scale,
diff --git a/MatterControl.csproj b/MatterControl.csproj
index 28b51b87e..2d009ad14 100644
--- a/MatterControl.csproj
+++ b/MatterControl.csproj
@@ -125,7 +125,6 @@
-
diff --git a/OrthographicZProjection.cs b/OrthographicZProjection.cs
deleted file mode 100644
index b8c3b9643..000000000
--- a/OrthographicZProjection.cs
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-Copyright (c) 2013, Lars Brubaker
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-1. Redistributions of source code must retain the above copyright notice, this
- list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-The views and conclusions contained in the software and documentation are those
-of the authors and should not be interpreted as representing official policies,
-either expressed or implied, of the FreeBSD Project.
-*/
-
-using System;
-using System.IO;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-
-using MatterHackers.PolygonMesh;
-using MatterHackers.VectorMath;
-using MatterHackers.Agg;
-using MatterHackers.Agg.Image;
-using MatterHackers.Agg.VertexSource;
-
-namespace MatterHackers.PolygonMesh.Processors
-{
- public static class OrthographicZProjection
- {
- public static void DrawTo(Graphics2D graphics2D, Mesh meshToDraw, Vector2 offset, double scale, RGBA_Bytes silhouetteColor)
- {
- graphics2D.Rasterizer.gamma(new gamma_power(.3));
- PathStorage polygonProjected = new PathStorage();
- foreach (Face face in meshToDraw.Faces)
- {
- if (face.normal.z > 0)
- {
- polygonProjected.remove_all();
- bool first = true;
- foreach (FaceEdge faceEdge in face.FaceEdgeIterator())
- {
- Vector2 position = new Vector2(faceEdge.vertex.Position.x, faceEdge.vertex.Position.y);
- position += offset;
- position *= scale;
- if (first)
- {
- polygonProjected.MoveTo(position.x, position.y);
- first = false;
- }
- else
- {
- polygonProjected.LineTo(position.x, position.y);
- }
- }
- graphics2D.Render(polygonProjected, silhouetteColor);
- }
- }
- graphics2D.Rasterizer.gamma(new gamma_none());
- }
- }
-}
diff --git a/PartPreviewWindow/CreateDiscreteMeshes.cs b/PartPreviewWindow/CreateDiscreteMeshes.cs
index 5d51de1b7..a6f966af8 100644
--- a/PartPreviewWindow/CreateDiscreteMeshes.cs
+++ b/PartPreviewWindow/CreateDiscreteMeshes.cs
@@ -39,7 +39,6 @@ using MatterHackers.Agg.ImageProcessing;
using MatterHackers.Agg.VertexSource;
using MatterHackers.MarchingSquares;
using MatterHackers.PolygonMesh;
-using MatterHackers.PolygonMesh.Processors;
using MatterHackers.VectorMath;
using ClipperLib;
@@ -67,7 +66,7 @@ namespace MatterHackers.MatterControl
double scaleFactor = 5;
ImageBuffer partPlate = new ImageBuffer((int)(buildVolume.x * scaleFactor), (int)(buildVolume.y * scaleFactor), 32, new BlenderBGRA());
Vector2 renderOffset = new Vector2(buildVolume.x / 2, buildVolume.y / 2) - new Vector2(partBounds.Center.x, partBounds.Center.y);
- PolygonMesh.Processors.OrthographicZProjection.DrawTo(partPlate.NewGraphics2D(), meshToSplit, renderOffset, scaleFactor, RGBA_Bytes.White);
+ PolygonMesh.Rendering.OrthographicZProjection.DrawTo(partPlate.NewGraphics2D(), meshToSplit, renderOffset, scaleFactor, RGBA_Bytes.White);
if (backgroundWorker != null)
{
diff --git a/PartsSheet.cs b/PartsSheet.cs
index 563f76b58..6a60b2c8a 100644
--- a/PartsSheet.cs
+++ b/PartsSheet.cs
@@ -182,7 +182,7 @@ namespace MatterHackers.MatterControl
Stroke rectOutline = new Stroke(rect, strokeWidth);
partGraphics2D.Render(rectOutline, RGBA_Bytes.DarkGray);
- PolygonMesh.Processors.OrthographicZProjection.DrawTo(partGraphics2D, loadedMesh, new Vector2(-bounds2D.Left + PartMarginMM, -bounds2D.Bottom + textSpaceMM + PartMarginMM), PixelPerMM, RGBA_Bytes.Black);
+ PolygonMesh.Rendering.OrthographicZProjection.DrawTo(partGraphics2D, loadedMesh, new Vector2(-bounds2D.Left + PartMarginMM, -bounds2D.Bottom + textSpaceMM + PartMarginMM), PixelPerMM, RGBA_Bytes.Black);
partGraphics2D.Render(typeFacePrinter, RGBA_Bytes.Black);
partImagesToPrint.Add(new PartImage(imageOfPart));
diff --git a/PrintLibrary/PrintLibraryListItem.cs b/PrintLibrary/PrintLibraryListItem.cs
index 2bf6cae49..9d361a1da 100644
--- a/PrintLibrary/PrintLibraryListItem.cs
+++ b/PrintLibrary/PrintLibraryListItem.cs
@@ -158,7 +158,7 @@ namespace MatterHackers.MatterControl.PrintLibrary
double maxSize = Math.Max(aabb.XSize, aabb.YSize);
double scale = thumbnailWidget.image.Width / (maxSize * 1.2);
RectangleDouble bounds2D = new RectangleDouble(aabb.minXYZ.x, aabb.minXYZ.y, aabb.maxXYZ.x, aabb.maxXYZ.y);
- PolygonMesh.Processors.OrthographicZProjection.DrawTo(partGraphics2D, loadedMesh,
+ PolygonMesh.Rendering.OrthographicZProjection.DrawTo(partGraphics2D, loadedMesh,
new Vector2((thumbnailWidget.image.Width / scale - bounds2D.Width) / 2 - bounds2D.Left,
(thumbnailWidget.image.Height / scale - bounds2D.Height) / 2 - bounds2D.Bottom),
scale,