Migrate nozzle limits texture construction to drawable
- Construct and cache textures after use - Create placeholder textures for use before constructed - Remove bed texture construction from CreatePrintBedAndVolume - Issue MatterHackers/MCCentral#5325 Migrate to themed bed colors - Issue MatterHackers/MCCentral#5320 Cache per hotend bed textures
This commit is contained in:
parent
17eca3b36c
commit
60a1238f54
5 changed files with 180 additions and 139 deletions
|
|
@ -68,14 +68,17 @@ namespace MatterHackers.MatterControl
|
|||
return bedImage;
|
||||
}
|
||||
|
||||
public static (Mesh bed, Mesh volume, ImageBuffer bedImage) CreatePrintBedAndVolume(PrinterConfig printer)
|
||||
public static (Mesh bed, Mesh volume) CreatePrintBedAndVolume(PrinterConfig printer)
|
||||
{
|
||||
Mesh printerBed = null;
|
||||
Mesh buildVolume = null;
|
||||
|
||||
Vector3 displayVolumeToBuild = Vector3.ComponentMax(printer.Bed.ViewerVolume, new Vector3(1, 1, 1));
|
||||
|
||||
ImageBuffer bedplateImage = CreatePrintBedImage(printer);
|
||||
// Temporarily assign a placeholder image as the mesh texture. This will be replaced with a themed image by the view
|
||||
var placeHolderImage = new ImageBuffer(5, 5);
|
||||
var graphics = placeHolderImage.NewGraphics2D();
|
||||
graphics.Clear(Color.Gray.WithAlpha(40));
|
||||
|
||||
switch (printer.Bed.BedShape)
|
||||
{
|
||||
|
|
@ -87,12 +90,13 @@ namespace MatterHackers.MatterControl
|
|||
{
|
||||
buildVolume.Vertices[i] = buildVolume.Vertices[i] + new Vector3Float(0, 0, displayVolumeToBuild.Z / 2);
|
||||
}
|
||||
|
||||
var bspTree = FaceBspTree.Create(buildVolume);
|
||||
buildVolume.FaceBspTree = bspTree;
|
||||
}
|
||||
|
||||
printerBed = PlatonicSolids.CreateCube(displayVolumeToBuild.X, displayVolumeToBuild.Y, 1.8);
|
||||
printerBed.PlaceTextureOnFaces(0, bedplateImage);
|
||||
printerBed.PlaceTextureOnFaces(0, placeHolderImage);
|
||||
break;
|
||||
|
||||
case BedShape.Circular:
|
||||
|
|
@ -103,7 +107,7 @@ namespace MatterHackers.MatterControl
|
|||
}
|
||||
|
||||
printerBed = VertexSourceToMesh.Extrude(new Ellipse(new Vector2(), displayVolumeToBuild.X / 2, displayVolumeToBuild.Y / 2), 1.8);
|
||||
printerBed.PlaceTextureOnFaces(0, bedplateImage);
|
||||
printerBed.PlaceTextureOnFaces(0, placeHolderImage);
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
@ -125,7 +129,7 @@ namespace MatterHackers.MatterControl
|
|||
}
|
||||
}
|
||||
|
||||
return (printerBed, buildVolume, bedplateImage);
|
||||
return (printerBed, buildVolume);
|
||||
}
|
||||
|
||||
private static ImageBuffer CreateCircularBedGridImage(PrinterConfig printer)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue