# Class PixelStackPaperType3D

java.lang.Object
uk.ac.starlink.ttools.plot2.paper.RgbPaperType
uk.ac.starlink.ttools.plot2.paper.RgbPaperType3D
uk.ac.starlink.ttools.plot2.paper.PixelStackPaperType3D

All Implemented Interfaces:
  `PaperType, PaperType3D`

public class PixelStackPaperType3D extends RgbPaperType3D
Bitmapped 3d PaperType which can render any combination of coloured, opaque and transparent pixels.

At each XY position it stores a list of pixels which have been plotted there. Each element in the list contains Z-coordinate, RGB and alpha values, packed efficiently. When all the glyphs have been painted, the list at each XY position is examined, the pixels in that list are sorted by Z-coordinate, and compositing takes place from front to back.

Since:
  14 Feb 2013
Author:
  Mark Taylor

## Nested Class Summary

### Nested classes/interfaces inherited from class RgbPaperType3D

`RgbPaperType3D.RgbPaper3D`

### Nested classes/interfaces inherited from class RgbPaperType

`RgbPaperType.RgbPaper`

## Constructor Summary

Constructors
Constructor
Description
`PixelStackPaperType3D(Compositor compositor, float minAlpha)`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`protected RgbPaperType3D.RgbPaper3D`
`createPaper3D(Rectangle bounds)`
Creates a 3D paper object for given bounds.

### Methods inherited from class RgbPaperType3D

`createPaper, placeGlyph`

### Methods inherited from class RgbPaperType

`createDataIcon, isBitmap, placeDecal, toString`

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface PaperType

`createDataIcon, isBitmap, placeDecal`

## Constructor Details

### PixelStackPaperType3D

public PixelStackPaperType3D(Compositor compositor, float minAlpha)
Constructor.

Parameters:
  `compositor` - compositing strategy for combining transparent pixels
  `minAlpha` - the smallest alpha value that can be represented for glyphs

## Method Details

### createPaper3D

protected RgbPaperType3D.RgbPaper3D createPaper3D(Rectangle bounds)
Description copied from class: `RgbPaperType3D`
Creates a 3D paper object for given bounds.

Specified by:
  `createPaper3D` in class `RgbPaperType3D`
Parameters:
  `bounds` - plot bounds
Returns:
  new 3d paper instance