public async void GenerateBitmap() { var observatorPosition = new Vector(0, 0, 2); var observator = new Observator(observatorPosition, new Frame(observatorPosition, 1, new Vector(0, 1, 0), 2, 1)); var matrix = new Matrix(observator, new List <IObject> { new Sphere(new Surface(0.8, new Colour(0x0, 0xA0, 0x8)), 2, new Vector(0, 10, 2)), new Sphere(new Surface(0.8, new Colour(0xA0, 0x8, 0x0)), 1, new Vector(-4, 10, 2)), new Plain(new Surface(0.5, new Colour(0x42, 0x42, 0x42)), new Vector(-10, 30, 0), new Vector(10, 30, 0), new Vector(10, 0, 0), new Vector(-10, 0, 0)), //new Cube (new Plain (new Surface (0.8, new Colour (0x0, 0x80, 0xFF)), // new Vector (3.3, 7.6, 3), new Vector (3.6, 7.6, 3), // new Vector (3.6, 7.3, 3), // new Vector (3.3, 7.3, 3))), //new Plain (new Surface (0.8, new Colour (0x0, 0x0, 0xF0)), // new Vector (3.3, 7.6, 3), new Vector (3.3, 7.3, 3), new Vector (3.3, 7.3, 3.3), // new Vector (3.3, 7.6, 3.3)) //new CubicalLightSource ( // new Plain (new Surface (0, new Colour (0xFF, 0xFF, 0xFF)), // new Vector (4, 4, 9), new Vector (6, 4, 9), // new Vector (6, 2, 9), // new Vector (4, 2, 9)), 200), //new SphericalLightSource (1, new Vector (5, 3, 10), new Colour (0xFF, 0xFF, 0xFF), 200), }.Concat( CubicalLightSource.GenerateLightSources( new Plain(new Surface(0, new Colour(0xFF, 0xFF, 0xFF)), new Vector(4, 4, 9), new Vector(6, 4, 9), new Vector(6, 2, 9), new Vector(4, 2, 9)), 4, 200)).ToArray() ); var width = 1000; ProgressMaximum = width * width / 2; await Task.Run(() => { var bmp = matrix.GenerateBitmap(3, width, i => Progress = i); using (var memory = new MemoryStream()) { bmp.Save(memory, System.Drawing.Imaging.ImageFormat.Bmp); memory.Position = 0; var bitmapimage = new BitmapImage(); bitmapimage.BeginInit(); bitmapimage.StreamSource = memory; bitmapimage.CacheOption = BitmapCacheOption.OnLoad; bitmapimage.EndInit(); bitmapimage.Freeze(); BitmapImage = bitmapimage; } bmp.Save(@"C:\Users\Meta Colon\Desktop\Rendered.bmp"); }); }
public Task <int> Handle(ImportObserversRequest message) { var pathToFile = message.FilePath; var counter = 0; var startId = GetMaxIdObserver(); using (var reader = File.OpenText(pathToFile)) { while (reader.Peek() >= 0) { var fileContent = reader.ReadLine(); var data = fileContent.Split('\t'); var hashed = _hashService.GetHash(data[1]); var observer = new Observator { IdObservator = startId + counter, IdOng = message.IdOng, NumarTelefon = data[0], NumeIntreg = data[message.NameIndexInFile], Pin = hashed }; _context.Observator.Add(observer); counter++; } _context.SaveChanges(); } return(Task.FromResult(counter)); }
private void onObservationRemoved(Observator observer, DirectObservation observation) { //Debug.Log("Schussskizze - Observation removed! Name: " + observation.Entity.Name + " (total: " + playerShip.GetObservationsDirect().Count + ")"); if (observations.Contains(observation)) { //Debug.Log("Observation in list removed!"); //Do nothing } }
public void RayCount() { var observator = new Observator(new Vector(1, 2, 3), new Frame(new Vector(2, 3, 4), new Vector(4, 4, 2))); var pixelsHorizontal = 10; var pixelsVertical = 10; var expected = 100; var actual = observator.GetRays(pixelsHorizontal, pixelsVertical).Count; Assert.AreEqual(expected, actual); }
public Task <int> Handle(NewObserverRequest message) { var id = GetMaxIdObserver(); var observer = new Observator { IdObservator = id, IdOng = message.IdOng, NumarTelefon = message.NumarTelefon, NumeIntreg = message.Nume, Pin = _hashService.GetHash(message.PIN) }; _context.Observator.Add(observer); return(_context.SaveChangesAsync()); }
private void onObservationAdded(Observator observer, DirectObservation observation) { var cat = observation.Entity.Category; // ignore aircraft for now if (cat == "Aircraft" || cat == "Carrier-Borne Aircraft") { return; } if (observation.Entity.Country.GetRelationWith(playerShip.Country) == Country.Relation.Enemy) { observation.Changed += onObservationChanded; observations.Add(observation); determineMostDistance(observation.Entity); if (OnObservationAdded != null) { OnObservationAdded(observation); } } }