com.orsoncharts.plot

## Interface Plot3D

- All Superinterfaces:
    ChartElement
  All Known Implementing Classes:
    AbstractPlot3D, CategoryPlot3D, PiePlot3D, XYZPlot

      public interface Plot3D
      extends ChartElement

  A plot for a `Chart3D`. In Orson Charts, the `Chart3D` is the umbrella object for all charts, but it is the `Plot3D` instance that determines the real structure of the chart. Built-in implementations include `PiePlot3D`, `CategoryPlot3D` and `XYZPlot`.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addChangeListener(Plot3DChangeListener listener)` Registers a listener to receive notification of changes to the plot.
    `void` | `compose(World world, double xOffset, double yOffset, double zOffset)` Adds 3D objects representing the current data for the plot to the specified world.
    `java.lang.String` | `generateToolTipText(ItemKey itemKey)` Returns the tool tip text for the specified data item, or `null` if no tool tip is required.
    `Chart3D` | `getChart()` Returns the chart that the plot is assigned to, if any.
    `Dimension3D` | `getDimensions()` Returns the dimensions for the plot in the 3D world in which it will be composed.
    `java.util.List<LegendItemInfo>` | `getLegendInfo()` Returns a list containing legend item info, typically one item for each series in the chart.
    `void` | `removeChangeListener(Plot3DChangeListener listener)` De-registers a listener so that it no longer receives notification of changes to the plot.
    `void` | `setChart(Chart3D chart)` Sets the chart that the plot is assigned to.

    - ### Methods inherited from interface com.orsoncharts.ChartElement

      `receive`

- - ### Method Detail

    - #### getChart

          Chart3D getChart()

      Returns the chart that the plot is assigned to, if any.
      Returns:
        The chart (possibly `null`).
      Since:
        1.2

    - #### setChart

          void setChart(Chart3D chart)

      Sets the chart that the plot is assigned to. This method is intended for use by the framework, you should not need to call it yourself.
      Parameters:
        `chart` - the chart (`null` permitted).
      Since:
        1.2

    - #### getDimensions

          Dimension3D getDimensions()

      Returns the dimensions for the plot in the 3D world in which it will be composed.
      Returns:
        The dimensions (never `null`).

    - #### compose

          void compose(World world,
                       double xOffset,
                       double yOffset,
                       double zOffset)

      Adds 3D objects representing the current data for the plot to the specified world. After the world has been populated (or constructed) in this way, it is ready for rendering.
      Parameters:
        `world` - the world (`null` not permitted).
        `xOffset` - the x-offset.
        `yOffset` - the y-offset.
        `zOffset` - the z-offset.

    - #### getLegendInfo

          java.util.List<LegendItemInfo> getLegendInfo()

      Returns a list containing legend item info, typically one item for each series in the chart. This is intended for use in the construction of a chart legend.
      If you are implementing a new plot type that does not require a legend, return an empty list.
      Returns:
        A list containing legend item info (never `null`).

    - #### generateToolTipText

          java.lang.String generateToolTipText(ItemKey itemKey)

      Returns the tool tip text for the specified data item, or `null` if no tool tip is required.
      Parameters:
        `itemKey` - the item key (`null` not permitted).
      Returns:
        The tool tip text (possibly `null`).
      Since:
        1.3

    - #### addChangeListener

          void addChangeListener(Plot3DChangeListener listener)

      Registers a listener to receive notification of changes to the plot.
      Parameters:
        `listener` - the listener (`null` not permitted).

    - #### removeChangeListener

          void removeChangeListener(Plot3DChangeListener listener)

      De-registers a listener so that it no longer receives notification of changes to the plot.
      Parameters:
        `listener` - the listener (`null` not permitted).