diff --git a/OSCADSharp/OSCADSharp.ConsoleTests/Program.cs b/OSCADSharp/OSCADSharp.ConsoleTests/Program.cs index 7d1ff28..1516b69 100644 --- a/OSCADSharp/OSCADSharp.ConsoleTests/Program.cs +++ b/OSCADSharp/OSCADSharp.ConsoleTests/Program.cs @@ -16,7 +16,6 @@ namespace OSCADSharp.ConsoleTests var obj = new Cube(5, 10, 20).Mirror(0, 0, 1).Mirror(0, 1, 0) .Rotate(15, -45, 120).Translate(-20, 10, 15).Rotate(90, 15, 25) .Translate(-10, -20, -20).Rotate(-90, -90, -45); - obj = obj.Minkowski(new Cube(1, 1, 5)); var pos = obj.Position(); var cyl1 = new Cylinder(1, 100, true).Translate(pos); diff --git a/OSCADSharp/OSCADSharp.UnitTests/InterpolationTests.cs b/OSCADSharp/OSCADSharp.UnitTests/InterpolationTests.cs index 396369a..f64e3d8 100644 --- a/OSCADSharp/OSCADSharp.UnitTests/InterpolationTests.cs +++ b/OSCADSharp/OSCADSharp.UnitTests/InterpolationTests.cs @@ -115,5 +115,16 @@ namespace OSCADSharp.UnitTests Assert.AreEqual(new Vector3(-9.11374600044971, 6.5, 1.19984742333634), cube.Position()); } + + [TestMethod] + public void Interpolation_PositionAfterLotsOfOperations() + { + var obj = new Cube(5, 10, 20).Mirror(0, 0, 1).Mirror(0, 1, 0) + .Rotate(15, -45, 120).Translate(-20, 10, 15).Rotate(90, 15, 25) + .Translate(-10, -20, -20).Rotate(-90, -90, -45); + + var position = obj.Position(); + Assert.AreEqual(new Vector3(-21.7567866493247, 28.2686425980997, -21.6189570529939), position); + } } }