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")); }
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); }
//-------------------------------------------------------------------------------------------------- #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")); }