Exemplo n.º 1
0
        public IEnumerable <BarDto> GetBars(string[] cityParts)
        {
            if (cityParts == null || cityParts.Length == 0)
            {
                return((from bar in db.PlanetOsmPoint
                        where (bar.Amenity == "bar" || bar.Amenity == "pub")
                        select new BarDto
                {
                    Name = bar.Name,
                    Id = Convert.ToInt32(bar.Id),
                    Lon = TransformationUtils.ParseLongtitudeToNormalFormat(bar.Way.X),
                    Lat = TransformationUtils.ParseLattitudeToNormalFormat(bar.Way.Y),
                    BarType = bar.Amenity
                }).ToList());
            }

            return((from bar in db.PlanetOsmPoint where bar.Amenity == "bar" || bar.Amenity == "pub"
                    from cityPart in db.PlanetOsmPolygon where cityParts.Contains(cityPart.Name)
                    where cityPart.Way.Contains(bar.Way)
                    select new BarDto
            {
                Name = bar.Name,
                Id = Convert.ToInt32(bar.Id),
                Lon = TransformationUtils.ParseLongtitudeToNormalFormat(bar.Way.X),
                Lat = TransformationUtils.ParseLattitudeToNormalFormat(bar.Way.Y),
                BarType = bar.Amenity
            }).ToList());
        }
Exemplo n.º 2
0
        public void EmptyEntity_LocalIdentity()
        {
            var entity = new Entity();
            var result = TransformationUtils.GetTransformation(entity);

            Assert.AreEqual(Matrix.Identity, result.LocalTransformMatrix);
        }
Exemplo n.º 3
0
        protected override void DoAction(Entity entity, TimeSpan gameTime)
        {
            base.DoAction(entity, gameTime);
            var sprite = entity.GetComponent <SpriteComponent>();
            var effect = entity.GetComponent <SpriteEffectsComponent>()?.SpriteEffects ?? SpriteEffects.None;
            var color  = entity.GetComponent <ColorComponent>()?.Color ?? Color.White;
            var depth  = entity.GetComponent <DepthLayerComponent>()?.Depth ?? 0;

            if (sprite.Drawable == null)
            {
                entity.RemoveComponent <FinalRenderComponent>();
                return;
            }

            var finalRender = entity.GetOrCreateComponent <FinalRenderComponent>();

            finalRender.Batch.Clear();

            sprite.Drawable.DrawInto(color, depth, finalRender.Batch);
            var transformation = TransformationUtils.GetTransformation(entity).LocalTransformMatrix;

            foreach (var mesh in finalRender.Batch.Meshes)
            {
                mesh.ApplyEffectToMesh(effect);
                mesh.ApplyTransformMesh(transformation);
            }
        }
Exemplo n.º 4
0
        public IActionResult UploadImage()
        {
            try
            {
                var    file       = Request.Form.Files[0];
                string localId    = Request.Form["localId"].ToString();
                int    fileLength = Convert.ToInt32(file.Length);

                Stream stream = file.OpenReadStream();
                byte[] buffer = TransformationUtils.ConvertStreamToByteArray(stream, fileLength);

                ImagemDto imagem = new ImagemDto()
                {
                    file     = buffer,
                    fileName = file.Name,
                    localId  = localId
                };

                _localService.UploadImagem(imagem, file.Name, file.FileName, fileLength);

                return(Ok());
            }
            catch (Exception e)
            {
                return(BadRequest(new ErrorResponse()
                {
                    Status = 400,
                    Message = e.Message
                }));
            }
        }
Exemplo n.º 5
0
        public void HaveSelfValues_LocalMatrixFilled()
        {
            var entity = new Entity();

            entity.AddComponent(new PositionComponent(2, 3));
            entity.AddComponent(new ScaleComponent(4, 5));
            var result = TransformationUtils.GetTransformation(entity);

            Assert.AreEqual(
                new Matrix
            {
                M11 = 4,
                M12 = 0,
                M13 = 0,
                M14 = 0,
                M21 = 0,
                M22 = 5,
                M23 = 0,
                M24 = 0,
                M31 = 0,
                M32 = 0,
                M33 = 1,
                M34 = 0,
                M41 = 2,
                M42 = 3,
                M43 = 0,
                M44 = 1
            },
                result.LocalTransformMatrix);
        }
Exemplo n.º 6
0
        private void UpdateFollow(Entity entity)
        {
            var follow = entity.GetComponent <FollowCameraComponent>();

            follow.DesiredPosition.X = follow.DesiredPosition.Y = 0;

            var transform = TransformationUtils.GetTransformation(entity);

            follow.DesiredPosition.X = transform.Position.X;
            follow.DesiredPosition.Y = transform.Position.Y;
        }
Exemplo n.º 7
0
        private byte[] GetImage1(string fullPath)
        {
            byte[] buffer;
            //Open the stream and read it back.
            using (FileStream fs = File.OpenRead(fullPath))
            {
                buffer = TransformationUtils.ConvertStreamToByteArray(fs, Convert.ToInt32(fs.Length));
            }

            return(buffer);
        }
Exemplo n.º 8
0
        private Point GetPoint(double lon, double lat)
        {
            var coordinates = new Coordinate
            {
                X = TransformationUtils.ParseLongtitudeToGisFormat(lon),
                Y = TransformationUtils.ParseLattitudeToGisFormat(lat)
            };

            return(new Point(coordinates)
            {
                SRID = 3857
            });
        }
Exemplo n.º 9
0
        protected override void DoAction(Entity entity, TimeSpan gameTime)
        {
            base.DoAction(entity, gameTime);
            var field       = entity.GetComponent <FieldComponent>();
            var finalRender = entity.GetOrCreateComponent <FinalRenderComponent>();
            var effect      = entity.GetComponent <SpriteEffectsComponent>()?.SpriteEffects ?? SpriteEffects.None;
            var depth       = entity.GetComponent <DepthLayerComponent>()?.Depth ?? 0;

            if (finalRender.Batch.Meshes.Count != field.Map.GetLength(0) * field.Map.GetLength(1))
            {
                finalRender.Batch.Clear();

                var texture = field.Texture;

                for (var x = 0; x < field.Map.GetLength(0); x++)
                {
                    for (var y = 0; y < field.Map.GetLength(1); y++)
                    {
                        finalRender.Batch.Draw(
                            texture,
                            new RectangleF(
                                x * (field.BlockSize + field.BlockInterval),
                                y * (field.BlockSize + field.BlockInterval),
                                field.BlockSize,
                                field.BlockSize),
                            texture.Bounds,
                            this.ConvertMapToColor(field.Map[x, y]),
                            depth);
                    }
                }

                var transformation = TransformationUtils.GetTransformation(entity).LocalTransformMatrix;
                foreach (var mesh in finalRender.Batch.Meshes)
                {
                    mesh.ApplyEffectToMesh(effect);
                    mesh.ApplyTransformMesh(transformation);
                }
            }
            else
            {
                for (var x = 0; x < field.Map.GetLength(0); x++)
                {
                    for (var y = 0; y < field.Map.GetLength(1); y++)
                    {
                        finalRender.Batch.Meshes[x * field.Map.GetLength(1) + y].SetColor(this.ConvertMapToColor(field.Map[x, y]));
                    }
                }
            }
        }
Exemplo n.º 10
0
        public IEnumerable <BarDto> GetBars(double centerLat, double centerLon, double radius)
        {
            var centerPoint = GetPoint(centerLon, centerLat);

            return((from bar in db.PlanetOsmPoint
                    where (bar.Amenity == "bar" || bar.Amenity == "pub") && bar.Way.Distance(centerPoint) < radius
                    select new BarDto
            {
                Name = bar.Name,
                Id = Convert.ToInt32(bar.Id),
                Lon = TransformationUtils.ParseLongtitudeToNormalFormat(bar.Way.X),
                Lat = TransformationUtils.ParseLattitudeToNormalFormat(bar.Way.Y),
                BarType = bar.Amenity
            }).ToList());
        }
Exemplo n.º 11
0
        public IEnumerable <ShopDto> GetNearbyShops(int parkId, double radius)
        {
            var toReturn = (from park in db.PlanetOsmPolygon where park.Id == parkId
                            from shop in db.PlanetOsmPoint where shop.Shop == "alcohol" || shop.Shop == "wine" || shop.Shop == "supermarket" || shop.Shop == "tobacco" || shop.Shop == "coffe"
                            where shop.Way.Distance(park.Way) < radius
                            select new ShopDto
            {
                Name = shop.Name,
                Id = Convert.ToInt32(shop.Id),
                Lon = TransformationUtils.ParseLongtitudeToNormalFormat(shop.Way.X),
                Lat = TransformationUtils.ParseLattitudeToNormalFormat(shop.Way.Y),
                ShopType = shop.Shop
            }).ToList();

            return(toReturn);
        }
Exemplo n.º 12
0
        public IEnumerable <StreetDto> GetStreetMapProperties(string[] streets)
        {
            var toReturn = (from street in db.PlanetOsmLine
                            where streets.Contains(street.Name)
                            select new StreetDto
            {
                Name = street.Name,
                Id = Convert.ToInt32(street.Id),
                Location = street.Way.Coordinates.Select(y => new double[]
                {
                    TransformationUtils.ParseLongtitudeToNormalFormat(y.X),
                    TransformationUtils.ParseLattitudeToNormalFormat(y.Y)
                }).ToList()
            }).ToList();

            return(toReturn);
        }
Exemplo n.º 13
0
        protected override void DoAction(Entity entity, TimeSpan gameTime)
        {
            base.DoAction(entity, gameTime);
            var map   = entity.GetComponent <TiledMapComponent>();
            var depth = entity.GetComponent <DepthLayerComponent>()?.Depth ?? 0;

            var finalRender = entity.GetComponent <FinalRenderComponent>();

            if (finalRender == null)
            {
                finalRender = entity.AddComponent <FinalRenderComponent>();
            }
            finalRender.Batch.Clear();

            var transformMatrix = TransformationUtils.GetTransformation(entity).LocalTransformMatrix;

            this.Draw(map, depth, finalRender.Batch, transformMatrix);
        }
Exemplo n.º 14
0
        public IEnumerable <ParkDto> GetParks(double centerLat, double centerLon, double radius)
        {
            var centerPoint = GetPoint(centerLon, centerLat);

            //return (from park in db.PlanetOsmPolygon where park.Leisure == "park" && park.Way.Distance(centerPoint) < radius
            var parksWithBenches = (from park in db.PlanetOsmPolygon where park.Leisure == "park" && park.Way.Distance(centerPoint) < radius
                                    from bench in db.PlanetOsmPoint where bench.Amenity == "bench"
                                    where park.Way.Contains(bench.Way)
                                    select new ParkDto
            {
                Name = park.Name,
                Id = Convert.ToInt32(park.Id),
                Location = park.Way.Boundary.Coordinates.Select(y => new double[]
                {
                    TransformationUtils.ParseLongtitudeToNormalFormat(y.X),
                    TransformationUtils.ParseLattitudeToNormalFormat(y.Y)
                }).ToList(),
                HasBenches = true
            }).GroupBy(x => x.Id).Select(x => x.FirstOrDefault()).ToList();

            var allParks = (from park in db.PlanetOsmPolygon where park.Leisure == "park" && park.Way.Distance(centerPoint) < radius
                            select new ParkDto
            {
                Name = park.Name,
                Id = Convert.ToInt32(park.Id),
                Location = park.Way.Boundary.Coordinates.Select(y => new double[]
                {
                    TransformationUtils.ParseLongtitudeToNormalFormat(y.X),
                    TransformationUtils.ParseLattitudeToNormalFormat(y.Y)
                }).ToList(),
                HasBenches = false
            }).ToList();

            var toReturn = parksWithBenches;

            foreach (var p in allParks)
            {
                if (toReturn.FirstOrDefault(x => x.Id == p.Id) == null)
                {
                    toReturn.Add(p);
                }
            }
            return(toReturn);
        }
        protected override void DoAction(Entity entity, TimeSpan gameTime)
        {
            base.DoAction(entity, gameTime);

            var mouse     = entity.GetComponent <InputMouseComponent>();
            var clickable = entity.GetComponent <CursorOverComponent>();

            var mousePosition  = this.scene.Camera.ScreenToWorldPoint(mouse.MousePosition);
            var entityPosition = TransformationUtils.GetTransformation(entity);

            var matrix = entityPosition.LocalTransformMatrix;

            Matrix.Invert(ref matrix, out matrix);
            Vector2.Transform(ref mousePosition, ref matrix, out mousePosition);

            var rect = clickable.OverRegion;

            clickable.IsMouseOver = rect.Contains(mousePosition);
        }
Exemplo n.º 16
0
        public IEnumerable <BarDto> GetBarsOnStreets(string[] streets)
        {
            if (streets == null || streets.Length == 0)
            {
                return(new List <BarDto>());
            }

            var toReturn = (from bar in db.PlanetOsmPoint where bar.Amenity == "bar" || bar.Amenity == "pub"
                            from street in db.PlanetOsmLine where streets.Contains(street.Name)
                            where street.Way.Distance(bar.Way) <= 25
                            select new BarDto
            {
                Name = bar.Name,
                Id = Convert.ToInt32(bar.Id),
                Lon = TransformationUtils.ParseLongtitudeToNormalFormat(bar.Way.X),
                Lat = TransformationUtils.ParseLattitudeToNormalFormat(bar.Way.Y),
                BarType = bar.Amenity
            }).ToList();

            return(toReturn);
        }
Exemplo n.º 17
0
        public void HaveParentTranslation_LocalMatrixMoved()
        {
            var parent = new Entity();

            parent.AddComponent(new PositionComponent(2, 3));
            parent.AddComponent(new ScaleComponent(4, 5));

            var entity = new Entity();

            entity.AddComponent(new PositionComponent(2, 3));
            entity.AddComponent(new ScaleComponent(4, 5));
            entity.AddComponent(new ParentComponent(parent));
            var result = TransformationUtils.GetTransformation(entity);

            Assert.AreEqual(
                new Matrix
            {
                M11 = 16,
                M12 = 0,
                M13 = 0,
                M14 = 0,
                M21 = 0,
                M22 = 25,
                M23 = 0,
                M24 = 0,
                M31 = 0,
                M32 = 0,
                M33 = 1,
                M34 = 0,
                M41 = 10,
                M42 = 18,
                M43 = 0,
                M44 = 1
            },
                result.LocalTransformMatrix);
        }
Exemplo n.º 18
0
        public void EntityNull_NullResponse()
        {
            var result = TransformationUtils.GetTransformation(null);

            Assert.IsNull(result);
        }
Exemplo n.º 19
0
        public IEnumerable <ParkDto> GetParks(string[] cityParts)
        {
            var parksWithBenches = new List <ParkDto>();
            var allParks         = new List <ParkDto>();
            var toReturn         = new List <ParkDto>();

            if (cityParts == null || cityParts.Length == 0)
            {
                parksWithBenches = (from park in db.PlanetOsmPolygon where park.Leisure == "park"
                                    from bench in db.PlanetOsmPoint where bench.Amenity == "bench"
                                    where park.Way.Contains(bench.Way)
                                    select new ParkDto
                {
                    Name = park.Name,
                    Id = Convert.ToInt32(park.Id),
                    Location = park.Way.Boundary.Coordinates.Select(y => new double[]
                    {
                        TransformationUtils.ParseLongtitudeToNormalFormat(y.X),
                        TransformationUtils.ParseLattitudeToNormalFormat(y.Y)
                    }).ToList(),
                    HasBenches = true
                }).GroupBy(x => x.Id).Select(x => x.FirstOrDefault()).ToList();

                allParks = (from park in db.PlanetOsmPolygon where park.Leisure == "park"
                            select new ParkDto
                {
                    Name = park.Name,
                    Id = Convert.ToInt32(park.Id),
                    Location = park.Way.Boundary.Coordinates.Select(y => new double[]
                    {
                        TransformationUtils.ParseLongtitudeToNormalFormat(y.X),
                        TransformationUtils.ParseLattitudeToNormalFormat(y.Y)
                    }).ToList(),
                    HasBenches = false
                }).ToList();

                toReturn = parksWithBenches;
                foreach (var p in allParks)
                {
                    if (toReturn.FirstOrDefault(x => x.Id == p.Id) == null)
                    {
                        toReturn.Add(p);
                    }
                }
                return(toReturn);
            }
            parksWithBenches = (from park in db.PlanetOsmPolygon where park.Leisure == "park"
                                from cityPart in db.PlanetOsmPolygon where cityParts.Contains(cityPart.Name)
                                from bench in db.PlanetOsmPoint where bench.Amenity == "bench"
                                where park.Way.Within(cityPart.Way)
                                where park.Way.Contains(bench.Way)
                                select new ParkDto
            {
                Name = park.Name,
                Id = Convert.ToInt32(park.Id),
                Location = park.Way.Boundary.Coordinates.Select(y => new double[]
                {
                    TransformationUtils.ParseLongtitudeToNormalFormat(y.X),
                    TransformationUtils.ParseLattitudeToNormalFormat(y.Y)
                }).ToList(),
                HasBenches = true
            }).GroupBy(x => x.Id).Select(x => x.FirstOrDefault()).ToList();

            allParks = (from park in db.PlanetOsmPolygon where park.Leisure == "park"
                        from cityPart in db.PlanetOsmPolygon where cityParts.Contains(cityPart.Name)
                        where park.Way.Within(cityPart.Way)
                        select new ParkDto
            {
                Name = park.Name,
                Id = Convert.ToInt32(park.Id),
                Location = park.Way.Boundary.Coordinates.Select(y => new double[]
                {
                    TransformationUtils.ParseLongtitudeToNormalFormat(y.X),
                    TransformationUtils.ParseLattitudeToNormalFormat(y.Y)
                }).ToList(),
                HasBenches = false
            }).ToList();

            toReturn = parksWithBenches;
            foreach (var p in allParks)
            {
                if (toReturn.FirstOrDefault(x => x.Id == p.Id) == null)
                {
                    toReturn.Add(p);
                }
            }
            return(toReturn);
        }