private static ArrayList<LiteFeatureTypeStyle> createLiteFeatureTypeStyles(Layer layer, List<FeatureTypeStyle> featureStyles, FeatureType ftype, double scaleDenominator, Rectangle screenSize) throws IOException { ArrayList<LiteFeatureTypeStyle> result = new ArrayList<LiteFeatureTypeStyle>(); LiteFeatureTypeStyle lfts; for (FeatureTypeStyle fts : featureStyles) { if (isFeatureTypeStyleActive(ftype, fts)) { // DJB: this FTS is compatible with this FT. // get applicable rules at the current scale List<Rule>[] splittedRules = splitRules(fts, scaleDenominator); List<Rule> ruleList = splittedRules[0]; List<Rule> elseRuleList = splittedRules[1]; // if none, skip it if ((ruleList.isEmpty()) && (elseRuleList.isEmpty())) continue; // we can optimize this one and draw directly on the graphics, assuming // there is no composition Graphics2D graphics = null; lfts = new LiteFeatureTypeStyle(layer, graphics, ruleList, elseRuleList, fts.getTransformation()); result.add(lfts); } } return result; }
static ArrayList<LiteFeatureTypeStyle> createLiteFeatureTypeStyles( Layer layer, List<FeatureTypeStyle> featureStyles, FeatureType ftype, double scaleDenominator, Rectangle screenSize) throws IOException { ArrayList<LiteFeatureTypeStyle> result = new ArrayList<LiteFeatureTypeStyle>(); LiteFeatureTypeStyle lfts; for (FeatureTypeStyle fts : featureStyles) { if (isFeatureTypeStyleActive(ftype, fts)) { // DJB: this FTS is compatible with this FT. // get applicable rules at the current scale List<Rule>[] splittedRules = splitRules(fts, scaleDenominator); List<Rule> ruleList = splittedRules[0]; List<Rule> elseRuleList = splittedRules[1]; // if none, skip it if ((ruleList.isEmpty()) && (elseRuleList.isEmpty())) continue; // we can optimize this one and draw directly on the graphics, assuming // there is no composition Graphics2D graphics = null; lfts = new LiteFeatureTypeStyle( layer, graphics, ruleList, elseRuleList, fts.getTransformation()); result.add(lfts); } } return result; }