Package icyllis.arc3d.granite.geom

# Class BoundsManager

java.lang.Object
icyllis.arc3d.granite.geom.BoundsManager

Direct Known Subclasses:
  `FullBoundsManager`, `GridBoundsManager`, `HybridBoundsManager`, `SimpleBoundsManager`

public abstract class BoundsManager extends Object
BoundsManager is an acceleration structure for device-space related pixel bounds queries. The BoundsManager tracks a single ordinal value per bounds: the CompressedPaintersOrder of a draw The CompressedPaintersOrder enforces a specific submission order of draws to the GPU but can re-arrange draws out of their original painter's order if the GREATER depth test and the draw's Z value resolve out-of-order rendering.

It supports querying the most recent draw intersecting a bounding rect (represented as a CompressedPaintersOrder value), and recording a (bounds, CompressedPaintersOrder) pair.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `BoundsManager()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `abstract void`
  `clear()`
  `abstract int`
  `getMostRecentDraw(Rect2fc bounds)`
  `abstract void`
  `recordDraw(Rect2fc bounds, int order)`

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

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

- ## Constructor Details

  - ### BoundsManager

    public BoundsManager()

- ## Method Details

  - ### getMostRecentDraw

    public abstract int getMostRecentDraw(Rect2fc bounds)

  - ### recordDraw

    public abstract void recordDraw(Rect2fc bounds, int order)

  - ### clear

    public abstract void clear()