Example #1
0
        public Dictionary <Feature, VectorLayer> AllHitTest(Geometry.Extent2D extent)
        {
            Dictionary <Feature, VectorLayer> multiResult = new Dictionary <Feature, VectorLayer>();

            if (LayerData.GeoType == "1")
            {
                foreach (Feature f in LayerData.Features)
                {
                    Geometry.Point2D p = new Geometry.Point2D(f.GeoData);
                    if (extent.IsPointIn(p))
                    {
                        multiResult.Add(f, LayerData);
                    }
                }
            }
            else if (LayerData.GeoType == "2")
            {
                foreach (Feature f in LayerData.Features)
                {
                    Geometry.Polyline poly = new Geometry.Polyline(f.GeoData);
                    if (extent.IsPointIn(poly.GetExtent().max) && extent.IsPointIn(poly.GetExtent().min))
                    {
                        multiResult.Add(f, LayerData);
                    }
                }
            }
            else if (LayerData.GeoType == "4")
            {
                foreach (Feature f in LayerData.Features)
                {
                    Geometry.Polygon poly = new Geometry.Polygon(f.GeoData);
                    if (extent.IsPointIn(poly.GetExtent().max) && extent.IsPointIn(poly.GetExtent().min))
                    {
                        multiResult.Add(f, LayerData);
                    }
                }
            }

            return(multiResult);
        }