Class PixOutliner
- java.lang.Object
-
- uk.ac.starlink.ttools.plot2.layer.PixOutliner
-
- All Implemented Interfaces:
Outliner
- Direct Known Subclasses:
PolygonOutliner
,SizeForm.SizeOutliner
,SizeXyForm.SizeXyOutliner
public abstract class PixOutliner extends java.lang.Object implements Outliner
Partial Outliner implementation which calculates its bin plan simply by using thecreate2DPainter
method. If no clever shortcut presents itself, this is a reasonable way to do it.- Since:
- 26 Feb 2013
- Author:
- Mark Taylor
-
-
Constructor Summary
Constructors Constructor Description PixOutliner()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Object
calculateBinPlan(Surface surface, DataGeom geom, java.util.Map<AuxScale,Span> auxRanges, DataStore dataStore, DataSpec dataSpec, java.lang.Object[] knownPlans)
Calculates an opaque object which contains the drawing of this outliner represented as an array of bins, one per pixel.int[]
getBinCounts(java.lang.Object binPlan)
Returns the bin contents for a given bin plan produced by this object.long
getPointCount(java.lang.Object binPlan)
Returns the number of data positions which contributed to a BinPlan generated by this object.ReportMap
getReport(java.lang.Object binPlan)
Obtains information associated with the plot.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface uk.ac.starlink.ttools.plot2.layer.Outliner
canPaint, create2DPainter, create3DPainter, getAuxRangers, getLegendIcon
-
-
-
-
Method Detail
-
calculateBinPlan
public java.lang.Object calculateBinPlan(Surface surface, DataGeom geom, java.util.Map<AuxScale,Span> auxRanges, DataStore dataStore, DataSpec dataSpec, java.lang.Object[] knownPlans)
Description copied from interface:Outliner
Calculates an opaque object which contains the drawing of this outliner represented as an array of bins, one per pixel. To make sense of the returned object, use theOutliner.getBinCounts(java.lang.Object)
andOutliner.getPointCount(java.lang.Object)
methods.If one of the supplied knowPlans fits the bill, it will be returned without further calculation.
- Specified by:
calculateBinPlan
in interfaceOutliner
- Parameters:
surface
- plot surfacegeom
- coordinate geometryauxRanges
- map of scale information required for plotdataStore
- data storagedataSpec
- coordinate specificationknownPlans
- list of existing plans- Returns:
- bin plan, either newly calculated or taken from
knownPlans
-
getBinCounts
public int[] getBinCounts(java.lang.Object binPlan)
Description copied from interface:Outliner
Returns the bin contents for a given bin plan produced by this object.- Specified by:
getBinCounts
in interfaceOutliner
- Parameters:
binPlan
- bin plan returned fromcalculateBinPlan
- Returns:
- array of counts, one element per bin
-
getPointCount
public long getPointCount(java.lang.Object binPlan)
Description copied from interface:Outliner
Returns the number of data positions which contributed to a BinPlan generated by this object. This may or may not be the same as the sum of the pixel counts in the binCounts array; if each data position might contribute multiple pixel hits, the numbers will not be the same.- Specified by:
getPointCount
in interfaceOutliner
- Parameters:
binPlan
- bin plan returned fromcalculateBinPlan
- Returns:
- number of data positions in plan
-
getReport
public ReportMap getReport(java.lang.Object binPlan)
Description copied from interface:Outliner
Obtains information associated with the plot.- Specified by:
getReport
in interfaceOutliner
- Parameters:
binPlan
- bin plan returned fromcalculateBinPlan
- Returns:
- report map, or null for no reports
- See Also:
Drawing.getReport(java.lang.Object)
-
-