public void InsertBoundingBox() { var line = new DxfLine(new DxfPoint(1.0, 1.0, 0.0), new DxfPoint(2.0, 3.0, 0.0)); var offset = new DxfVector(2.0, 2.0, 0.0); var block = new DxfBlock(); block.Name = "some-block"; block.Entities.Add(line); var insert = new DxfInsert(); insert.Name = "some-block"; insert.Location = offset; insert.XScaleFactor = 2.0; var file = new DxfFile(); file.Blocks.Add(block); file.Entities.Add(insert); var boundingBox = file.GetBoundingBox(); Assert.Equal(new DxfPoint(4.0, 3.0, 0.0), boundingBox.MinimumPoint); Assert.Equal(new DxfPoint(6.0, 5.0, 0.0), boundingBox.MaximumPoint); }
public (float centerX, float centerY) GetCenter(DxfFile dxfFile) { var dxfBoundingBox = dxfFile.GetBoundingBox(); float centerX = (float)(dxfBoundingBox.MinimumPoint.X + (dxfBoundingBox.MaximumPoint.X - dxfBoundingBox.MinimumPoint.X) / 2); float centerY = (float)(dxfBoundingBox.MinimumPoint.Y + (dxfBoundingBox.MaximumPoint.Y - dxfBoundingBox.MinimumPoint.Y) / 2); return(centerX, centerY); }
public void FileBoundingBoxTest() { var file = new DxfFile(); var line = new DxfLine(new DxfPoint(0.0, 1.0, 0.0), new DxfPoint(1.0, 0.0, 0.0)); file.Entities.Add(line); Assert.Equal(new DxfBoundingBox(DxfPoint.Origin, new DxfVector(1.0, 1.0, 0.0)), file.GetBoundingBox()); }