private void FindLargestBoundingBox() { BoundingBox = new CLIRectangle( Layers.Min(x => x.BoundingBox.X1), Layers.Min(x => x.BoundingBox.Y1), Layers.Max(x => x.BoundingBox.X2), Layers.Max(x => x.BoundingBox.Y2)); }
public Boolean Intersects(CLIRectangle that) { if ((that.X2 >= X1 + (Program.West * -1) && that.X1 <= X2 + Program.East) && (that.Y2 >= Y1 + (Program.South * -1) && that.Y1 <= Y2)) { return(true); } return(false); }
public Layer(List <string> data) { RawData = data; SetZHeight(); Skirt = new List <string>(); InnerPerimeter = new List <string>(); OuterPerimeter = new List <string>(); InternalSingleExtrusion = new List <string>(); Support = new List <string>(); Infill = new List <string>(); SolidLayer = new List <string>(); ExternalSingleExtrusion = new List <string>(); Bridge = new List <string>(); DenseSupport = new List <string>(); int recordValue = 0; foreach (var line in data) { if (line.StartsWith(";")) { if (line == "; skirt") { recordValue = 1; } else if (line == "; inner perimeter") { recordValue = 2; } else if (line == "; outer perimeter") { recordValue = 3; } else if (line == "; internal single extrusion") { recordValue = 4; } else if (line == "; support") { recordValue = 5; } else if (line == "; infill") { recordValue = 6; } else if (line == "; solid layer") { recordValue = 7; } else if (line == "; external single extrusion") { recordValue = 8; } else if (line == "; bridge") { recordValue = 9; } else if (line == "; dense support") { recordValue = 10; } } switch (recordValue) { case 1: Skirt.Add(line); break; case 2: InnerPerimeter.Add(line); break; case 3: OuterPerimeter.Add(line); break; case 4: InternalSingleExtrusion.Add(line); break; case 5: Support.Add(line); break; case 6: Infill.Add(line); break; case 7: SolidLayer.Add(line); break; case 8: ExternalSingleExtrusion.Add(line); break; case 9: Bridge.Add(line); break; case 10: DenseSupport.Add(line); break; case 0: break; } } BoundingBox = new CLIRectangle(OuterPerimeter); }