Example usage for org.jfree.chart.entity XYItemEntity getArea

List of usage examples for org.jfree.chart.entity XYItemEntity getArea

Introduction

In this page you can find the example usage for org.jfree.chart.entity XYItemEntity getArea.

Prototype

public Shape getArea() 

Source Link

Document

Returns the area occupied by the entity (in Java 2D space).

Usage

From source file:net.sf.maltcms.common.charts.api.selection.DefaultSelectionShapeFactory.java

/**
 *
 * @param entity
 * @return
 */
@Override
public Shape createSelectionShape(XYItemEntity entity) {
    return entity.getArea();
}

From source file:org.locationtech.udig.processingtoolbox.tools.ChartComposite2.java

@SuppressWarnings("rawtypes")
@Override//from   w  w w .  ja v a  2 s .  c om
public void zoom(Rectangle selection) {
    if (map == null || layer == null) {
        return;
    }
    Set<FeatureId> selected = new HashSet<FeatureId>();
    try {
        XYSeriesCollection ds = (XYSeriesCollection) getChart().getXYPlot().getDataset(2);
        XYSeries selectionSeries = ds.getSeries(0);
        selectionSeries.clear();

        EntityCollection entities = this.getChartRenderingInfo().getEntityCollection();
        Iterator iter = entities.iterator();
        while (iter.hasNext()) {
            ChartEntity entity = (ChartEntity) iter.next();
            if (entity instanceof XYItemEntity) {
                XYItemEntity item = (XYItemEntity) entity;
                if (item.getSeriesIndex() != 0) {
                    continue;
                }

                java.awt.Rectangle bound = item.getArea().getBounds();
                if (selection.intersects(bound.x, bound.y, bound.width, bound.height)) {
                    XYSeriesCollection dataSet = (XYSeriesCollection) item.getDataset();
                    XYSeries xySeries = dataSet.getSeries(item.getSeriesIndex());
                    XYDataItem xyDataItem = xySeries.getDataItem(item.getItem());
                    if (xyDataItem instanceof XYDataItem2) {
                        XYDataItem2 dataItem = (XYDataItem2) xyDataItem;
                        selectionSeries.add(dataItem);
                        selected.add(ff.featureId(dataItem.getFeature().getID()));
                    }
                }
            }
        }
    } catch (Exception e) {
        // skip
    } finally {
        if (selected.size() > 0) {
            map.select(ff.id(selected), layer);
        } else {
            map.select(Filter.EXCLUDE, layer);
        }
        this.forceRedraw();
    }
}

From source file:org.n52.server.io.EESGenerator.java

/**
 * Creates the image entities.//ww w .ja  v  a 2s  .c  o m
 * 
 * @param entities
 *            the entities
 * @return the array list
 */
private ImageEntity[] createImageEntities(EntityCollection entities) {
    ArrayList<ImageEntity> imageEntities = new ArrayList<ImageEntity>();

    if (!this.isOverview) {
        // reducer
        int xyItemCount = 0;
        for (Iterator<?> iter = entities.iterator(); iter.hasNext();) {
            Object o = iter.next();
            if (o instanceof XYItemEntity) {
                xyItemCount++;
            }
        }
        int reducer = 1;
        if (xyItemCount > TOOLTIP_MIN_COUNT) {
            reducer = xyItemCount / TOOLTIP_MIN_COUNT;
        }
        LOGGER.debug("Reduce " + xyItemCount + " Entities to " + (xyItemCount / reducer) + " Tooltips");

        int counter = 0;
        for (Iterator<?> iter = entities.iterator(); iter.hasNext();) {
            counter++;
            Object o = iter.next();
            if ((counter % reducer) == 0) {
                if (o instanceof XYItemEntity) {
                    XYItemEntity e = (XYItemEntity) o;

                    ImageEntity imageEntity = new ImageEntity(
                            new Bounds(e.getArea().getBounds2D().getMinX(), e.getArea().getBounds2D().getMaxX(),
                                    e.getArea().getBounds2D().getMinY(), e.getArea().getBounds2D().getMaxY()),
                            e.getDataset().getGroup().getID());

                    double time = e.getDataset().getXValue(e.getSeriesIndex(), e.getItem());
                    double value = e.getDataset().getYValue(e.getSeriesIndex(), e.getItem());
                    String uom = e.getURLText().split(";")[0];
                    String color = e.getURLText().split(";")[1];
                    imageEntity.putHoverHtmlFragment(createHoverHtmlString(color, time, value, uom));
                    imageEntities.add(imageEntity);
                }
            }
        }
    }
    return imageEntities.toArray(new ImageEntity[imageEntities.size()]);
}

From source file:net.sf.maltcms.chromaui.charts.events.XYAnnotationAdder.java

/**
 *
 * @param xyie//w  w w  . j  a va 2  s .  co m
 */
public void addAnnotation(final XYItemEntity xyie) {
    Shape s = xyie.getArea();
    Point2D center = getCenter(s);
    final double xd = center.getX();
    final double yd = center.getY();
    addXYPeakAnnotation(xd, yd, null, true);
}