org.jfree.chart.renderer.category

## Class LineRenderer3D

- java.lang.Object
- - org.jfree.chart.renderer.AbstractRenderer
  - - org.jfree.chart.renderer.category.AbstractCategoryItemRenderer
    - - org.jfree.chart.renderer.category.LineAndShapeRenderer
      - - org.jfree.chart.renderer.category.LineRenderer3D

All Implemented Interfaces:
  java.io.Serializable, java.lang.Cloneable, Effect3D, LegendItemSource, CategoryItemRenderer, org.jfree.util.PublicCloneable

    public class LineRenderer3D
    extends LineAndShapeRenderer
    implements Effect3D, java.io.Serializable

A line renderer with a 3D effect. The example shown here is generated by the `LineChart3DDemo1.java` program included in the JFreeChart Demo Collection:

See Also:
  Serialized Form

### Field Summary

Fields
`static java.awt.Paint` `DEFAULT_WALL_PAINT` The default wall paint.
`static double` `DEFAULT_X_OFFSET` The default x-offset for the 3D effect.
`static double` `DEFAULT_Y_OFFSET` The default y-offset for the 3D effect.

### Fields inherited from class org.jfree.chart.renderer.AbstractRenderer

`DEFAULT_OUTLINE_PAINT, DEFAULT_OUTLINE_STROKE, DEFAULT_PAINT, DEFAULT_SHAPE, DEFAULT_STROKE, DEFAULT_VALUE_LABEL_FONT, DEFAULT_VALUE_LABEL_PAINT, ZERO`

### Constructor Summary

Constructors
Constructor and Description
`LineRenderer3D()` Creates a new renderer.

### Method Summary

Methods
`void` `drawBackground(java.awt.Graphics2D g2, CategoryPlot plot, java.awt.geom.Rectangle2D dataArea)` Draws the background for the plot.
`void` `drawDomainGridline(java.awt.Graphics2D g2, CategoryPlot plot, java.awt.geom.Rectangle2D dataArea, double value)` Draws a grid line against the domain axis.
`void` `drawItem(java.awt.Graphics2D g2, CategoryItemRendererState state, java.awt.geom.Rectangle2D dataArea, CategoryPlot plot, CategoryAxis domainAxis, ValueAxis rangeAxis, CategoryDataset dataset, int row, int column, int pass)` Draw a single data item.
`void` `drawOutline(java.awt.Graphics2D g2, CategoryPlot plot, java.awt.geom.Rectangle2D dataArea)` Draws the outline for the plot.
`void` `drawRangeGridline(java.awt.Graphics2D g2, CategoryPlot plot, ValueAxis axis, java.awt.geom.Rectangle2D dataArea, double value)` Draws a grid line against the range axis.
`void` `drawRangeMarker(java.awt.Graphics2D g2, CategoryPlot plot, ValueAxis axis, Marker marker, java.awt.geom.Rectangle2D dataArea)` Draws a range marker.
`boolean` `equals(java.lang.Object obj)` Checks this renderer for equality with an arbitrary object.
`java.awt.Paint` `getWallPaint()` Returns the paint used to highlight the left and bottom wall in the plot background.
`double` `getXOffset()` Returns the x-offset for the 3D effect.
`double` `getYOffset()` Returns the y-offset for the 3D effect.
`void` `setWallPaint(java.awt.Paint paint)` Sets the paint used to highlight the left and bottom walls in the plot background, and sends a `RendererChangeEvent` to all registered listeners.
`void` `setXOffset(double xOffset)` Sets the x-offset and sends a `RendererChangeEvent` to all registered listeners.
`void` `setYOffset(double yOffset)` Sets the y-offset and sends a `RendererChangeEvent` to all registered listeners.

### Methods inherited from class org.jfree.chart.renderer.category.LineAndShapeRenderer

`clone, getBaseLinesVisible, getBaseShapesFilled, getBaseShapesVisible, getDrawOutlines, getItemLineVisible, getItemMargin, getItemShapeFilled, getItemShapeVisible, getLegendItem, getLinesVisible, getPassCount, getSeriesLinesVisible, getSeriesShapesFilled, getSeriesShapesVisible, getShapesFilled, getShapesVisible, getUseFillPaint, getUseOutlinePaint, getUseSeriesOffset, setBaseLinesVisible, setBaseShapesFilled, setBaseShapesVisible, setDrawOutlines, setItemMargin, setLinesVisible, setLinesVisible, setSeriesLinesVisible, setSeriesLinesVisible, setSeriesShapesFilled, setSeriesShapesFilled, setSeriesShapesVisible, setSeriesShapesVisible, setShapesFilled, setShapesFilled, setShapesVisible, setShapesVisible, setUseFillPaint, setUseOutlinePaint, setUseSeriesOffset`

### Methods inherited from class org.jfree.chart.renderer.category.AbstractCategoryItemRenderer

`addEntity, addItemEntity, calculateDomainMarkerTextAnchorPoint, calculateRangeMarkerTextAnchorPoint, createState, drawDomainMarker, drawItemLabel, drawRangeLine, findRangeBounds, findRangeBounds, getBaseItemLabelGenerator, getBaseItemURLGenerator, getBaseToolTipGenerator, getColumnCount, getDomainAxis, getDrawingSupplier, getItemLabelGenerator, getItemMiddle, getItemURLGenerator, getLegendItemLabelGenerator, getLegendItems, getLegendItemToolTipGenerator, getLegendItemURLGenerator, getPlot, getRangeAxis, getRowCount, getSeriesItemLabelGenerator, getSeriesItemURLGenerator, getSeriesToolTipGenerator, getToolTipGenerator, getToolTipGenerator, hashCode, initialise, setBaseItemLabelGenerator, setBaseItemURLGenerator, setBaseToolTipGenerator, setItemLabelGenerator, setItemURLGenerator, setLegendItemLabelGenerator, setLegendItemToolTipGenerator, setLegendItemURLGenerator, setPlot, setSeriesItemLabelGenerator, setSeriesItemURLGenerator, setSeriesToolTipGenerator, setToolTipGenerator, updateCrosshairValues`

### Methods inherited from class org.jfree.chart.renderer.AbstractRenderer

`addChangeListener, calculateLabelAnchorPoint, clearSeriesPaints, clearSeriesStrokes, fireChangeEvent, getAutoPopulateSeriesFillPaint, getAutoPopulateSeriesOutlinePaint, getAutoPopulateSeriesOutlineStroke, getAutoPopulateSeriesPaint, getAutoPopulateSeriesShape, getAutoPopulateSeriesStroke, getBaseCreateEntities, getBaseFillPaint, getBaseItemLabelFont, getBaseItemLabelPaint, getBaseItemLabelsVisible, getBaseLegendShape, getBaseLegendTextFont, getBaseLegendTextPaint, getBaseNegativeItemLabelPosition, getBaseOutlinePaint, getBaseOutlineStroke, getBasePaint, getBasePositiveItemLabelPosition, getBaseSeriesVisible, getBaseSeriesVisibleInLegend, getBaseShape, getBaseStroke, getCreateEntities, getDataBoundsIncludesVisibleSeriesOnly, getDefaultEntityRadius, getItemCreateEntity, getItemFillPaint, getItemLabelAnchorOffset, getItemLabelFont, getItemLabelFont, getItemLabelPaint, getItemLabelPaint, getItemOutlinePaint, getItemOutlineStroke, getItemPaint, getItemShape, getItemStroke, getItemVisible, getLegendShape, getLegendTextFont, getLegendTextPaint, getNegativeItemLabelPosition, getNegativeItemLabelPosition, getPositiveItemLabelPosition, getPositiveItemLabelPosition, getSeriesCreateEntities, getSeriesFillPaint, getSeriesItemLabelFont, getSeriesItemLabelPaint, getSeriesNegativeItemLabelPosition, getSeriesOutlinePaint, getSeriesOutlineStroke, getSeriesPaint, getSeriesPositiveItemLabelPosition, getSeriesShape, getSeriesStroke, getSeriesVisible, getSeriesVisible, getSeriesVisibleInLegend, getSeriesVisibleInLegend, getTreatLegendShapeAsLine, hasListener, isItemLabelVisible, isSeriesItemLabelsVisible, isSeriesVisible, isSeriesVisibleInLegend, lookupLegendShape, lookupLegendTextFont, lookupLegendTextPaint, lookupSeriesFillPaint, lookupSeriesOutlinePaint, lookupSeriesOutlineStroke, lookupSeriesPaint, lookupSeriesShape, lookupSeriesStroke, notifyListeners, removeChangeListener, setAutoPopulateSeriesFillPaint, setAutoPopulateSeriesOutlinePaint, setAutoPopulateSeriesOutlineStroke, setAutoPopulateSeriesPaint, setAutoPopulateSeriesShape, setAutoPopulateSeriesStroke, setBaseCreateEntities, setBaseCreateEntities, setBaseFillPaint, setBaseFillPaint, setBaseItemLabelFont, setBaseItemLabelFont, setBaseItemLabelPaint, setBaseItemLabelPaint, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseLegendShape, setBaseLegendTextFont, setBaseLegendTextPaint, setBaseNegativeItemLabelPosition, setBaseNegativeItemLabelPosition, setBaseOutlinePaint, setBaseOutlinePaint, setBaseOutlineStroke, setBaseOutlineStroke, setBasePaint, setBasePaint, setBasePositiveItemLabelPosition, setBasePositiveItemLabelPosition, setBaseSeriesVisible, setBaseSeriesVisible, setBaseSeriesVisibleInLegend, setBaseSeriesVisibleInLegend, setBaseShape, setBaseShape, setBaseStroke, setBaseStroke, setCreateEntities, setCreateEntities, setDataBoundsIncludesVisibleSeriesOnly, setDefaultEntityRadius, setFillPaint, setFillPaint, setItemLabelAnchorOffset, setItemLabelFont, setItemLabelFont, setItemLabelPaint, setItemLabelPaint, setItemLabelsVisible, setItemLabelsVisible, setItemLabelsVisible, setLegendShape, setLegendTextFont, setLegendTextPaint, setNegativeItemLabelPosition, setNegativeItemLabelPosition, setOutlinePaint, setOutlinePaint, setOutlineStroke, setOutlineStroke, setPaint, setPaint, setPositiveItemLabelPosition, setPositiveItemLabelPosition, setSeriesCreateEntities, setSeriesCreateEntities, setSeriesFillPaint, setSeriesFillPaint, setSeriesItemLabelFont, setSeriesItemLabelFont, setSeriesItemLabelPaint, setSeriesItemLabelPaint, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesNegativeItemLabelPosition, setSeriesNegativeItemLabelPosition, setSeriesOutlinePaint, setSeriesOutlinePaint, setSeriesOutlineStroke, setSeriesOutlineStroke, setSeriesPaint, setSeriesPaint, setSeriesPositiveItemLabelPosition, setSeriesPositiveItemLabelPosition, setSeriesShape, setSeriesShape, setSeriesStroke, setSeriesStroke, setSeriesVisible, setSeriesVisible, setSeriesVisible, setSeriesVisible, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setShape, setShape, setStroke, setStroke, setTreatLegendShapeAsLine`

### Methods inherited from class java.lang.Object

`finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.jfree.chart.renderer.category.CategoryItemRenderer

`addChangeListener, getBaseItemLabelFont, getBaseItemLabelPaint, getBaseItemLabelsVisible, getBaseNegativeItemLabelPosition, getBaseOutlinePaint, getBaseOutlineStroke, getBasePaint, getBasePositiveItemLabelPosition, getBaseSeriesVisible, getBaseSeriesVisibleInLegend, getBaseShape, getBaseStroke, getItemLabelFont, getItemLabelFont, getItemLabelPaint, getItemLabelPaint, getItemOutlinePaint, getItemOutlineStroke, getItemPaint, getItemShape, getItemStroke, getItemVisible, getNegativeItemLabelPosition, getNegativeItemLabelPosition, getPositiveItemLabelPosition, getPositiveItemLabelPosition, getSeriesItemLabelFont, getSeriesItemLabelPaint, getSeriesNegativeItemLabelPosition, getSeriesOutlinePaint, getSeriesOutlineStroke, getSeriesPaint, getSeriesPositiveItemLabelPosition, getSeriesShape, getSeriesStroke, getSeriesVisible, getSeriesVisible, getSeriesVisibleInLegend, getSeriesVisibleInLegend, isItemLabelVisible, isSeriesItemLabelsVisible, isSeriesVisible, isSeriesVisibleInLegend, removeChangeListener, setBaseItemLabelFont, setBaseItemLabelPaint, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseItemLabelsVisible, setBaseNegativeItemLabelPosition, setBaseNegativeItemLabelPosition, setBaseOutlinePaint, setBaseOutlineStroke, setBasePaint, setBasePositiveItemLabelPosition, setBasePositiveItemLabelPosition, setBaseSeriesVisible, setBaseSeriesVisible, setBaseSeriesVisibleInLegend, setBaseSeriesVisibleInLegend, setBaseShape, setBaseStroke, setItemLabelFont, setItemLabelPaint, setItemLabelsVisible, setItemLabelsVisible, setItemLabelsVisible, setNegativeItemLabelPosition, setNegativeItemLabelPosition, setOutlinePaint, setOutlineStroke, setPaint, setPositiveItemLabelPosition, setPositiveItemLabelPosition, setSeriesItemLabelFont, setSeriesItemLabelPaint, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesItemLabelsVisible, setSeriesNegativeItemLabelPosition, setSeriesNegativeItemLabelPosition, setSeriesOutlinePaint, setSeriesOutlineStroke, setSeriesPaint, setSeriesPositiveItemLabelPosition, setSeriesPositiveItemLabelPosition, setSeriesShape, setSeriesStroke, setSeriesVisible, setSeriesVisible, setSeriesVisible, setSeriesVisible, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setSeriesVisibleInLegend, setShape, setStroke`

### Field Detail

#### DEFAULT_X_OFFSET

    public static final double DEFAULT_X_OFFSET

The default x-offset for the 3D effect.

See Also:
  Constant Field Values

#### DEFAULT_Y_OFFSET

    public static final double DEFAULT_Y_OFFSET

The default y-offset for the 3D effect.

See Also:
  Constant Field Values

#### DEFAULT_WALL_PAINT

    public static final java.awt.Paint DEFAULT_WALL_PAINT

The default wall paint.

### Constructor Detail

#### LineRenderer3D

    public LineRenderer3D()

Creates a new renderer.

### Method Detail

#### getXOffset

    public double getXOffset()

Returns the x-offset for the 3D effect.

Specified by:
  `getXOffset` in interface `Effect3D`
Returns:
  The x-offset.
See Also:
  `setXOffset(double)`, `getYOffset()`

#### getYOffset

    public double getYOffset()

Returns the y-offset for the 3D effect.

Specified by:
  `getYOffset` in interface `Effect3D`
Returns:
  The y-offset.
See Also:
  `setYOffset(double)`, `getXOffset()`

#### setXOffset

    public void setXOffset(double xOffset)

Sets the x-offset and sends a `RendererChangeEvent` to all registered listeners.

Parameters:
  `xOffset` - the x-offset.
See Also:
  `getXOffset()`

#### setYOffset

    public void setYOffset(double yOffset)

Sets the y-offset and sends a `RendererChangeEvent` to all registered listeners.

Parameters:
  `yOffset` - the y-offset.
See Also:
  `getYOffset()`

#### getWallPaint

    public java.awt.Paint getWallPaint()

Returns the paint used to highlight the left and bottom wall in the plot background.

Returns:
  The paint.
See Also:
  `setWallPaint(Paint)`

#### setWallPaint

    public void setWallPaint(java.awt.Paint paint)

Sets the paint used to highlight the left and bottom walls in the plot background, and sends a `RendererChangeEvent` to all registered listeners.

Parameters:
  `paint` - the paint (`null` not permitted).
See Also:
  `getWallPaint()`

#### drawBackground

    public void drawBackground(java.awt.Graphics2D g2,
                      CategoryPlot plot,
                      java.awt.geom.Rectangle2D dataArea)

Draws the background for the plot.

Specified by:
  `drawBackground` in interface `CategoryItemRenderer`
Overrides:
  `drawBackground` in class `AbstractCategoryItemRenderer`
Parameters:
  `g2` - the graphics device.
  `plot` - the plot.
  `dataArea` - the area inside the axes.

#### drawOutline

    public void drawOutline(java.awt.Graphics2D g2,
                   CategoryPlot plot,
                   java.awt.geom.Rectangle2D dataArea)

Draws the outline for the plot.

Specified by:
  `drawOutline` in interface `CategoryItemRenderer`
Overrides:
  `drawOutline` in class `AbstractCategoryItemRenderer`
Parameters:
  `g2` - the graphics device.
  `plot` - the plot.
  `dataArea` - the area inside the axes.

#### drawDomainGridline

    public void drawDomainGridline(java.awt.Graphics2D g2,
                          CategoryPlot plot,
                          java.awt.geom.Rectangle2D dataArea,
                          double value)

Draws a grid line against the domain axis.

Specified by:
  `drawDomainGridline` in interface `CategoryItemRenderer`
Overrides:
  `drawDomainGridline` in class `AbstractCategoryItemRenderer`
Parameters:
  `g2` - the graphics device.
  `plot` - the plot.
  `dataArea` - the area for plotting data (not yet adjusted for any 3D effect).
  `value` - the Java2D value at which the grid line should be drawn.
See Also:
  `AbstractCategoryItemRenderer.drawRangeGridline(Graphics2D, CategoryPlot, ValueAxis, Rectangle2D, double)`

#### drawRangeGridline

    public void drawRangeGridline(java.awt.Graphics2D g2,
                         CategoryPlot plot,
                         ValueAxis axis,
                         java.awt.geom.Rectangle2D dataArea,
                         double value)

Draws a grid line against the range axis.

Specified by:
  `drawRangeGridline` in interface `CategoryItemRenderer`
Overrides:
  `drawRangeGridline` in class `AbstractCategoryItemRenderer`
Parameters:
  `g2` - the graphics device.
  `plot` - the plot.
  `axis` - the value axis.
  `dataArea` - the area for plotting data (not yet adjusted for any 3D effect).
  `value` - the value at which the grid line should be drawn.
See Also:
  `AbstractCategoryItemRenderer.drawDomainGridline(Graphics2D, CategoryPlot, Rectangle2D, double)`

#### drawRangeMarker

    public void drawRangeMarker(java.awt.Graphics2D g2,
                       CategoryPlot plot,
                       ValueAxis axis,
                       Marker marker,
                       java.awt.geom.Rectangle2D dataArea)

Draws a range marker.

Specified by:
  `drawRangeMarker` in interface `CategoryItemRenderer`
Overrides:
  `drawRangeMarker` in class `AbstractCategoryItemRenderer`
Parameters:
  `g2` - the graphics device.
  `plot` - the plot.
  `axis` - the value axis.
  `marker` - the marker.
  `dataArea` - the area for plotting data (not including 3D effect).
See Also:
  `AbstractCategoryItemRenderer.drawDomainMarker(Graphics2D, CategoryPlot, CategoryAxis, CategoryMarker, Rectangle2D)`

#### drawItem

    public void drawItem(java.awt.Graphics2D g2,
                CategoryItemRendererState state,
                java.awt.geom.Rectangle2D dataArea,
                CategoryPlot plot,
                CategoryAxis domainAxis,
                ValueAxis rangeAxis,
                CategoryDataset dataset,
                int row,
                int column,
                int pass)

Draw a single data item.

Specified by:
  `drawItem` in interface `CategoryItemRenderer`
Overrides:
  `drawItem` in class `LineAndShapeRenderer`
Parameters:
  `g2` - the graphics device.
  `state` - the renderer state.
  `dataArea` - the area in which the data is drawn.
  `plot` - the plot.
  `domainAxis` - the domain axis.
  `rangeAxis` - the range axis.
  `dataset` - the dataset.
  `row` - the row index (zero-based).
  `column` - the column index (zero-based).
  `pass` - the pass index.

#### equals

    public boolean equals(java.lang.Object obj)

Checks this renderer for equality with an arbitrary object.

Overrides:
  `equals` in class `LineAndShapeRenderer`
Parameters:
  `obj` - the object (`null` permitted).
Returns:
  A boolean.