/// <summary> /// Create streamer collection by given device params. /// </summary> public static StreamerCollection CreateStreamerCollection(IEnumerable <DeviceType> deviceTypes, IDictionary <DeviceType, IDevice> devices, IClock clock, out IDictionary <DeviceType, IStreamer> deviceStreamers) { deviceStreamers = new Dictionary <DeviceType, IStreamer>(); var streamers = new StreamerCollection(); foreach (var deviceType in deviceTypes) { // ReSharper disable once RedundantAssignment if (!devices.TryGetValue(deviceType, out var instance)) { instance = null; } if (deviceType.StreamerFactory == null) { continue; } if (deviceType.StreamerFactory.IsDeviceDependent && instance == null) { continue; } var streamer = deviceType.StreamerFactory.Create(instance, clock); System.Diagnostics.Debug.Assert(streamer != null); streamers.Add(deviceStreamers[deviceType] = streamer); } if (!deviceStreamers.TryGetValue(MarkerSourceDeviceType, out _)) { streamers.Add(deviceStreamers[MarkerSourceDeviceType] = new MarkerStreamer(null, clock)); } return(streamers); }
private void CreateMarkers( ) { // Create some markers MarkerStreamer.CreateDynamicMarker(MarkerTypes.MarkerTypeVerticalCylinder, new Vector3(-879.655f, -853.499f, 19.566f), new Vector3(1), color: new Rgba(125, 52, 21, 255)); MarkerStreamer.CreateDynamicMarker(MarkerTypes.MarkerTypePlaneModel, new Vector3(-869.655f, -853.499f, 19.566f), new Vector3(1), color: new Rgba(25, 231, 125, 255)); MarkerStreamer.CreateDynamicMarker(MarkerTypes.MarkerTypeChevronUpx2, new Vector3(-859.655f, -853.499f, 19.566f), new Vector3(1), color: new Rgba(125, 10, 250, 255)); }
public MarkerDisplayWindow(MarkerStreamer streamer, int maxRecordCount) { InitializeComponent(); MarkListView.ItemsSource = _marks; Loaded += Window_OnLoaded; Closed += Window_OnClosed; KeyUp += Window_OnKeyUp; _streamer = streamer; _streamer.Attach(this); _maxRecordCount = maxRecordCount; }
private async Task OnConsoleCommand(string name, string[] args) { // destroy all markers if (name == "dao") { MarkerStreamer.DestroyAllDynamicMarkers( ); Console.WriteLine($"all markers destroyed."); } // create all markers if (name == "cao") { MarkerStreamer.DestroyAllDynamicMarkers( ); CreateMarkers( ); } // destroy marker if (name == "do") { if (args.Length == 0) { return; } ulong markerId = Convert.ToUInt64(args[0]); if (MarkerStreamer.DestroyDynamicMarker(markerId)) { Console.WriteLine($"Marker with ID { markerId } deleted!"); } } // change rotation if (name == "cr") { if (args.Length == 0) { return; } ulong markerId = Convert.ToUInt64(args[0]); var marker = MarkerStreamer.GetDynamicMarker(markerId); if (marker != null) { Vector3 rot = marker.Rotation; marker.Rotation = new Vector3(rot.X, rot.Y, rot.Z + 5f); Console.WriteLine($"Marker rotation increased on Z with +5f"); } else { Console.WriteLine($"Couldnt find marker with ID { markerId }"); } } // change direction if (name == "cd") { if (args.Length == 0) { return; } ulong markerId = Convert.ToUInt64(args[0]); var marker = MarkerStreamer.GetDynamicMarker(markerId); if (marker != null) { Vector3 dir = marker.Direction; marker.Direction = new Vector3(dir.X, dir.Y, dir.Z + 5f); Console.WriteLine($"Marker direction increased on Z with +5f"); } else { Console.WriteLine($"Couldnt find marker with ID { markerId }"); } } // change type if (name == "ct") { if (args.Length == 0) { return; } ulong markerId = Convert.ToUInt64(args[0]); var marker = MarkerStreamer.GetDynamicMarker(markerId); if (marker != null) { var variations = Enum.GetValues(typeof(MarkerTypes)); marker.MarkerType = ( MarkerTypes )variations.GetValue(new Random( ).Next(variations.Length)); Console.WriteLine($"Marker type changed to a random type"); } else { Console.WriteLine($"Couldnt find marker with ID { markerId }"); } } // change pos if (name == "cp") { if (args.Length == 0) { return; } ulong markerId = Convert.ToUInt64(args[0]); var marker = MarkerStreamer.GetDynamicMarker(markerId); if (marker != null) { Console.WriteLine($"marker pos: { marker.Position.Z }"); marker.Position += new Vector3(0, 0, 5); Console.WriteLine($"Marker position increased on Z with +5f { marker.Position.Z }"); } else { Console.WriteLine($"Couldnt find marker with ID { markerId }"); } } // get marker by ID if (name == "go") { if (args.Length == 0) { return; } ulong markerId = Convert.ToUInt64(args[0]); var marker = MarkerStreamer.GetDynamicMarker(markerId); if (marker != null) { Console.WriteLine($"Marker found, data: { marker.MarkerType }, { marker.Rotation.X }, { marker.Rotation.Y }, { marker.Rotation.Z }, ...!"); } else { Console.WriteLine($"Couldnt find marker with ID { markerId }"); } } // count markers if (name == "countmarker") { Console.WriteLine($"total markers created: { MarkerStreamer.GetAllDynamicMarkers( ).Count }"); } }
public override void OnStop( ) { MarkerStreamer.DestroyAllDynamicMarkers( ); Console.WriteLine($"Server stopped."); }