Ejemplo n.º 1
0
 /**
  * Gets the layer extent that this compiler will use. If this is set
  * to GeoExtent.Infinite, that compiler will query the feature layer
  * for its full extent and use that as the AOI.
  */
 public GeoExtent getAreaOfInterest(FeatureLayer layer)
 {
     if (aoi_xmin < aoi_xmax && aoi_ymin < aoi_ymax)
     {
         return(new GeoExtent(aoi_xmin, aoi_ymin, aoi_xmax, aoi_ymax, layer.getSRS()));
     }
     else
     {
         return(layer.getExtent());
     }
 }
Ejemplo n.º 2
0
        /**
         * Pushes source data onto the level of detail queue. Levels of detail are
         * interpreted from front to back.
         *
         * @param layer
         *      Feature layer from which to read source data
         * @param graph
         *      Filter graph to use to build scene graph
         * @param min_range
         *      Minimum visibility range of this level of detail
         * @param max_range
         *      Maximum visibility range of this level of detail
         * @param replace
         *      If true, this detail level will replace the ones before it. If false, it
         *      will join the scene graph without removing the previous levels.
         * @param depth
         *      Level of detail depth (0 = top level)
         * @param user_data
         *      User-defined data to pass to the cell compiler
         */
        public void push(FeatureLayer layer,
            FilterGraph graph,
            Properties env_props,
            ResourcePackager packager,
            float min_range,
            float max_range,
            bool replace,
            uint depth,
            object user_data)
        {
            if (layer != null)
            {
                // update the automatic AOI:
                if (!aoi_auto.isValid())
                    aoi_auto = layer.getExtent();
                else
                    aoi_auto.expandToInclude(layer.getExtent());

                // store the LOD definition:
                levels.Add(new MapLayerLevelOfDetail(
                    layer, graph, env_props, packager, min_range, max_range, replace, depth, user_data));

                grid_valid = false;
            }
        }