public void LayerSwitch()
        {
            var ctx = Context.Current;

            var layer1 = new Layer {
                Name = "Red", Color = OcctColorUtils.Color(Quantity_NameOfColor.Quantity_NOC_RED)
            };

            ctx.Layers.Add(layer1);
            var body1 = TestData.GetBodyFromBRep(@"SourceData\BRep\ImprintRingFace.brep");

            body1.Layer = layer1;

            var layer2 = new Layer {
                Name = "Green", Color = OcctColorUtils.Color(Quantity_NameOfColor.Quantity_NOC_GREEN)
            };

            ctx.Layers.Add(layer2);

            ctx.ViewportController.ZoomFitAll();
            ctx.WorkspaceController.Invalidate(false, true);

            Assert.Multiple(() =>
            {
                // Switch layer of object, color should change
                body1.Layer = layer2;
                AssertHelper.IsSameViewport(Path.Combine(_BasePath, "LayerSwitch02"));
            });
        }
        public void Colors()
        {
            var ctx = Context.Current;

            var body = TestData.GetBodyFromBRep(@"SourceData\BRep\ImprintRingFace.brep");

            ctx.ViewportController.ZoomFitAll();

            body.Layer.Color = OcctColorUtils.Color(Quantity_NameOfColor.Quantity_NOC_GREEN);
            AssertHelper.IsSameViewport(Path.Combine(_BasePath, "Colors"));

            ctx.ViewportController.MouseMove(new Point(250, 250));
            AssertHelper.IsSameViewport(Path.Combine(_BasePath, "ColorsHilighted"));

            ctx.ViewportController.MouseDown();
            ctx.ViewportController.MouseUp(false);
            ctx.ViewportController.MouseMove(new Point(0, 0));
            AssertHelper.IsSameViewport(Path.Combine(_BasePath, "ColorsSelected"));
        }
Exemplo n.º 3
0
        public void Serialization()
        {
            var lc = Context.Current.Layers;

            Assert.IsNotNull(lc);

            lc.Default.Name = "MyDefault";
            var second = new Layer()
            {
                Name             = "Second",
                IsVisible        = false,
                IsLocked         = true,
                Color            = OcctColorUtils.Color(Quantity_NameOfColor.Quantity_NOC_GOLD),
                Transparency     = 0.4f,
                LineThickness    = LineThickness.Thin,
                LineStyle        = LineStyle.DotDash,
                PresentationMode = PresentationMode.Wireframe,
            };

            lc.Add(second);

            var s = Serializer.Serialize(lc, new SerializationContext());
            //Console.WriteLine(s);

            var newLc = Serializer.Deserialize <LayerCollection>(s, new SerializationContext());

            Assert.AreEqual("MyDefault", newLc.Default.Name);
            Assert.AreEqual("Second", newLc.Find(second.Guid).Name);

            var newSecond = newLc.Find(second.Guid);

            Assert.AreEqual(second.IsVisible, newSecond.IsVisible);
            Assert.AreEqual(second.IsLocked, newSecond.IsLocked);
            Assert.AreEqual(second.Color, newSecond.Color);
            Assert.AreEqual(second.Transparency, newSecond.Transparency);
            Assert.AreEqual(second.LineThickness, newSecond.LineThickness);
            Assert.AreEqual(second.LineStyle, newSecond.LineStyle);
            Assert.AreEqual(second.PresentationMode, newSecond.PresentationMode);
        }
Exemplo n.º 4
0
        //--------------------------------------------------------------------------------------------------

        #endregion

        public VisualStyle()
        {
            _Color        = OcctColorUtils.Color(Quantity_NameOfColor.Quantity_NOC_GOLDENROD2);
            _Transparency = 0;
        }
        public void LayerInteractions()
        {
            var ctx = Context.Current;

            var layer1 = new Layer {
                Color = OcctColorUtils.Color(Quantity_NameOfColor.Quantity_NOC_RED)
            };

            ctx.Layers.Add(layer1);
            var body1 = TestData.GetBodyFromBRep(@"SourceData\BRep\ImprintRingFace.brep");

            body1.Layer = layer1;

            var layer2 = new Layer {
                Color = OcctColorUtils.Color(Quantity_NameOfColor.Quantity_NOC_GREEN)
            };

            ctx.Layers.Add(layer2);
            var body2 = TestData.GetBodyFromBRep(@"SourceData\BRep\ImprintRingFace.brep");

            body2.Layer    = layer2;
            body2.Position = new Pnt(-20, 20, 0);

            ctx.ViewportController.ZoomFitAll();

            AssertHelper.IsSameViewport(Path.Combine(_BasePath, "LayerInteractions"));

            // Default settings
            // Expected: Both layers are selectable
            ctx.ViewportController.MouseMove(new Point(125, 250));
            ctx.ViewportController.MouseDown();
            ctx.ViewportController.MouseUp(false);
            Assert.That(ctx.WorkspaceController.Selection.SelectedEntities.Contains(body1));

            ctx.ViewportController.MouseMove(new Point(375, 250));
            ctx.ViewportController.MouseDown();
            ctx.ViewportController.MouseUp(false);
            Assert.That(ctx.WorkspaceController.Selection.SelectedEntities.Contains(body2));

            // Isolate Layer 2
            // Expected: only layer 2 is selectable
            ctx.Layers.ActiveLayer        = layer2;
            ctx.Layers.IsolateActiveLayer = true;

            ctx.ViewportController.MouseMove(new Point(125, 250));
            ctx.ViewportController.MouseDown();
            ctx.ViewportController.MouseUp(false);
            Assert.That(ctx.WorkspaceController.Selection.SelectedEntities.Contains(body1), Is.False);

            ctx.ViewportController.MouseMove(new Point(375, 250));
            ctx.ViewportController.MouseDown();
            ctx.ViewportController.MouseUp(false);
            Assert.That(ctx.WorkspaceController.Selection.SelectedEntities.Contains(body2));

            // De-Isolate layer 2, lock layer 2
            // Expected: only layer 1 is selectable
            ctx.Layers.IsolateActiveLayer = false;
            layer2.IsLocked = true;

            ctx.ViewportController.MouseMove(new Point(125, 250));
            ctx.ViewportController.MouseDown();
            ctx.ViewportController.MouseUp(false);
            Assert.That(ctx.WorkspaceController.Selection.SelectedEntities.Contains(body1));

            ctx.ViewportController.MouseMove(new Point(375, 250));
            ctx.ViewportController.MouseDown();
            ctx.ViewportController.MouseUp(false);
            Assert.That(ctx.WorkspaceController.Selection.SelectedEntities.Contains(body2), Is.False);

            // Hide layer 2
            layer2.IsVisible = false;
            AssertHelper.IsSameViewport(Path.Combine(_BasePath, "LayerInteractionsHide"));
        }