org.j3d.geom.overlay
Class OverlayUtilities

public class OverlayUtilities
Utility functionality for creating parts of the overlay system.

Although designed mainly for internal use, this could be useful for end users too.

Version:
$Revision: 1.4 $
Author:
David Yazel
Field Detail

BITS_3COMP

private static final int[] BITS_3COMP
bit definitions for 3-component images

BITS_4COMP

private static final int[] BITS_4COMP
bit definitions for 4-component images

Method Detail

createBufferedImage

public static java.awt.image.BufferedImage createBufferedImage(java.awt.Dimension size,
                                                               boolean hasAlpha)
Create a buffered image that uses a 3 component colour model with the option of adding an alpha component.
Parameters:
size - The overall size of the image in pixels
hasAlpha - true if the image should contain an alpha channel
Returns:
A matching image instance

subdivide

public static java.util.List subdivide(java.awt.Dimension dimension,
                                       int threshhold,
                                       int max)
Subdivides an area into a closest fit set of Rectangle with sides that are powers of 2. All elements will be less than max and greater than the minimum value by threshhold.
Parameters:
dimension - The required total size
threshold - The minimum required size
max - The maximum required size
Returns:
A collection of the rectangles needed to construct the total size

components

public static java.util.List components(int value,
                                        int threshhold,
                                        int max)
Breaks an integer into powers of 2. The returned list contains a set of Integers that if summed would be a closest fit to to value. Each returned Integer is not greater than a power of 2 by more than threshhold and is not greater than max.
Parameters:
value - The target value to achieve
threshold - The minimum required size of the component total
max - The maximum required size
Returns:
A list, in order of the component values

optimalPower

public static int optimalPower(int value,
                               int threshhold,
                               int max)
Returns an optimal power of two for the value given. return the largest power of 2 which is less than or equal to the value, OR it will return a larger power of two as long as the difference between that and the value is not greater than the threshhold.

smallestPower

public static int smallestPower(int value)
Return the smallest power of 2 greater than value