public WarpCorrectionPostSlicer() { this.HasInitializeMethod = false; this.HasPostSliceMethod = true; this.HasMenuStripIcon = false; this.HasStatusStripIcon = false; this.PostSliceActionType = PluginTypes.PostSliceActionType.WarpCorrection; }
public AdvancedPostSlicer() { this.HasInitializeMethod = false; this.HasPostSliceMethod = true; this.HasMenuStripIcon = false; this.HasStatusStripIcon = false; this.PostSliceActionType = PluginTypes.PostSliceActionType.Bleeding | PluginTypes.PostSliceActionType.AntiAliasOffset; }
public void PostSlice(Slices.Slice renderSlice, AtumPrinter selectedPrinter, PluginTypes.PostSliceActionType postSliceActions) { ////apply warp correction to polynode //if (renderSlice.ModelPolyTrees.Length > 0 && renderSlice.ModelPolyTrees[0].Count > 0) //{ // foreach (var modelPolynode in renderSlice.ModelPolyTrees[0][0]._allPolys) // { // LensWarpCorrection.CalculateByContour(modelPolynode, selectedPrinter); // } //} }
public void PostSlice(byte[] pixelValues, int antiAliasColor, int materialSmoothingOffset, DAL.Print.PrintJob.AntiAliasType antiAliasSide, PluginTypes.PostSliceActionType postSliceAction, int printerResolutionX) { }
public List <SlicePolyLine3D> PostSlice(STLModel3D stlModel, float sliceHeight, PluginTypes.PostSliceActionType postSliceAction) { switch (postSliceAction) { case PluginTypes.PostSliceActionType.WarpCorrection: return(Engines.RenderEngine.GetZIntersections(Engines.RenderEngine.GetZPolys(stlModel, stlModel.SliceIndexes, sliceHeight), sliceHeight)); } return(new List <SlicePolyLine3D>()); }
public void PostSlice(byte[] pixelValues, int antiAliasColor, int materialSmoothingOffset, DAL.Print.PrintJob.AntiAliasType antiAliasSide, PluginTypes.PostSliceActionType postSliceAction, int printerResolutionX) { var pixelLength = pixelValues.Length; switch (postSliceAction) { case PluginTypes.PostSliceActionType.AntiAliasOffset: var antiAliasFactor = antiAliasColor; var antiAliasType = antiAliasSide; var smoothingOffset = materialSmoothingOffset; if (antiAliasType != DAL.Print.PrintJob.AntiAliasType.None && antiAliasFactor > 1 && antiAliasFactor <= 255 && smoothingOffset > 0) { for (var pixelIndex = 0; pixelIndex < pixelLength; pixelIndex += 3) { var currentPixelWhite = pixelValues[pixelIndex] == 255 && pixelValues[pixelIndex + 1] == 255 && pixelValues[pixelIndex + 2] == 255; if (currentPixelWhite) { DrawSmoothing(pixelValues, pixelIndex, pixelLength, currentPixelWhite, printerResolutionX, antiAliasFactor, antiAliasType, smoothingOffset); if (smoothingOffset == 2) { //above var rowAbovePixelIndex = pixelIndex - (printerResolutionX * 3); if (rowAbovePixelIndex > 0) { DrawSmoothing(pixelValues, rowAbovePixelIndex, pixelLength, currentPixelWhite, printerResolutionX, antiAliasFactor, antiAliasType, smoothingOffset); } //below var rowBelowPixelIndex = pixelIndex + (printerResolutionX * 3); if (rowBelowPixelIndex > 0) { DrawSmoothing(pixelValues, rowBelowPixelIndex, pixelLength, currentPixelWhite, printerResolutionX, antiAliasFactor, antiAliasType, smoothingOffset); } //left var pixelLeft = pixelIndex - 3; if (pixelLeft > 0) { DrawSmoothing(pixelValues, pixelLeft, pixelLength, currentPixelWhite, printerResolutionX, antiAliasFactor, antiAliasType, smoothingOffset); } //Right var pixelRight = pixelIndex + 3; if (pixelRight < pixelLength) { DrawSmoothing(pixelValues, pixelRight, pixelLength, currentPixelWhite, printerResolutionX, antiAliasFactor, antiAliasType, smoothingOffset); } } } } } break; } }
public void PostSlice(Slices.Slice renderSlice, DAL.Hardware.AtumPrinter selectedPrinter, PluginTypes.PostSliceActionType postSliceActions) { }