Example #1
0
        public void SplitPeriodicSegment()
        {
            var ctx = Context.Current;

            var sketch = TestSketchGenerator.CreateSketch(TestSketchGenerator.SketchType.Circle);
            var body   = TestGeomGenerator.CreateBody(sketch);

            ctx.ViewportController.ZoomFitAll();

            var tool = new SketchEditorTool(sketch);

            ctx.WorkspaceController.StartTool(tool);

            Assert.Multiple(() =>
            {
                // Select Segment
                ctx.ClickAt(140, 90);

                // Start split tool
                var splitTool = new SplitElementSketchTool();
                tool.StartTool(splitTool);
                ctx.MoveTo(184, 103);
                AssertHelper.IsSameViewport(Path.Combine(_BasePath, "SplitPeriodicSegment01"), 1.0);
                ctx.ClickAt(184, 103);

                // Cleanup
                tool.StopTool();
                AssertHelper.IsSameViewport(Path.Combine(_BasePath, "SplitPeriodicSegment02"), 1.0);
            });

            tool.Stop();
        }
Example #2
0
        public void SplitSegmentUndo()
        {
            var ctx = Context.Current;

            var sketch = TestSketchGenerator.CreateSketch(TestSketchGenerator.SketchType.Rectangle);
            var body   = TestGeomGenerator.CreateBody(sketch);

            ctx.ViewportController.ZoomFitAll();

            Assert.IsFalse(ctx.UndoHandler.CanUndo);
            Assert.IsFalse(ctx.UndoHandler.CanRedo);

            var tool = new SketchEditorTool(sketch);

            ctx.WorkspaceController.StartTool(tool);

            Assert.Multiple(() =>
            {
                // Select Segment
                ctx.ClickAt(140, 90);

                // Start split tool
                var splitTool = new SplitElementSketchTool();
                tool.StartTool(splitTool);

                // Split
                ctx.ClickAt(150, 88);
                Assert.AreEqual(5, tool.Sketch.Segments.Count);
                Assert.IsTrue(ctx.UndoHandler.CanUndo);
                Assert.IsFalse(ctx.UndoHandler.CanRedo);

                // Undo
                ctx.UndoHandler.DoUndo(1);
                Assert.AreEqual(4, tool.Sketch.Segments.Count);
                Assert.IsFalse(ctx.UndoHandler.CanUndo);
                Assert.IsTrue(ctx.UndoHandler.CanRedo);

                // Redo
                ctx.UndoHandler.DoRedo(1);
                Assert.AreEqual(5, tool.Sketch.Segments.Count);
                Assert.IsTrue(ctx.UndoHandler.CanUndo);
                Assert.IsFalse(ctx.UndoHandler.CanRedo);

                // Cleanup
                tool.StopTool();
            });

            tool.Stop();
        }
Example #3
0
        public void SplitPoint()
        {
            var ctx = Context.Current;

            var sketch = TestGeomGenerator.CreateSketch(TestGeomGenerator.SketchType.Rectangle);
            var body   = TestGeomGenerator.CreateBody(sketch);

            ctx.ViewportController.ZoomFitAll();

            var tool = new SketchEditorTool(sketch);

            ctx.WorkspaceController.StartTool(tool);

            Assert.Multiple(() =>
            {
                // Select Segment
                ctx.ClickAt(140, 90);

                // Start split tool
                var splitTool = new SplitElementSketchTool();
                tool.StartTool(splitTool);
                ctx.MoveTo(88, 88);
                AssertHelper.IsSameViewport(Path.Combine(_BasePath, "SplitPoint01"));
                ctx.ClickAt(88, 88);

                // Cleanup
                tool.StopTool();
                AssertHelper.IsSameViewport(Path.Combine(_BasePath, "SplitPoint02"));

                // Move
                ctx.ClickAt(88, 88);
                ctx.MoveTo(95, 80);
                ctx.ViewportController.MouseDown();
                ctx.MoveTo(150, 40);
                ctx.ViewportController.MouseUp(false);
                AssertHelper.IsSameViewport(Path.Combine(_BasePath, "SplitPoint03"));
            });

            tool.Stop();
        }