inpro.gui.pentomino
Class PentoTile

java.lang.Object
  extended by inpro.gui.Tile
      extended by inpro.gui.pentomino.PentoTile
All Implemented Interfaces:
edu.cmu.sphinx.instrumentation.Resetable
Direct Known Subclasses:
PentoIcon

public class PentoTile
extends Tile

implements pentomino tiles. a tile is represented by 5 @see{Box}es.


Field Summary
private static int BOX_COUNT
           
private  Box[] boxes
           
static java.lang.String CCW_ROTATE_COMMAND
           
(package private)  Point clipCorner
           
(package private)  Point clipDim
           
(package private)  Point clipOffset
           
protected  java.awt.Color color
           
static java.lang.String CW_ROTATE_COMMAND
           
protected  java.awt.Color defaultColor
           
protected  int[][] defVectors
           
static java.lang.String HORIZONTAL_FLIP_COMMAND
           
private  TargetPattern myGrid
           
(package private) static java.awt.Color normalColor
           
(package private)  int scale
           
(package private) static java.awt.Color selectedColor
           
protected static int[][][] TILE_BITMAPS
          the outermost array contains for each kind of pentomino tile (12) an array with two entries (X and Y) each of these containing five positions.
protected  char type
          the kind of pentomino tile this object represents
static java.lang.String VERTICAL_FLIP_COMMAND
           
 
Fields inherited from class inpro.gui.Tile
defaultRefPoint, isPlaced, label, name, refPoint
 
Constructor Summary
PentoTile(int scale, java.awt.Color c, int x0, int y0, char type)
           
PentoTile(int scale, java.awt.Color c, int x0, int y0, char type, java.lang.String name, java.lang.String label)
           
 
Method Summary
 void ccwRotate()
           
 void cwRotate()
           
 void doCommand(java.lang.String command)
           
 void draw(java.awt.Graphics g, boolean l)
           
protected  void generate()
           
 java.awt.Rectangle getBoundingBox()
           
protected static int[][] getDefVectors(char name)
           
 void hFlip()
           
static boolean isValidTile(char c)
           
 boolean matchesPosition(java.awt.Point p)
           
 void place(java.lang.Object[][] tray, Point dim, Point index0, java.awt.Color[] c)
           
 void reset()
           
 void select()
           
 void setColor(java.awt.Color c)
           
 void setMyGrid(TargetPattern myGrid)
           
 void setPos(Point p)
           
 boolean test(java.lang.Object[][] tray, Point dim, Point index0)
           
 java.lang.String toString()
           
 void unplace()
           
 void unplace(java.lang.Object[][] tray, Point index0)
           
 void unselect()
           
 void vFlip()
           
 
Methods inherited from class inpro.gui.Tile
draw, getLabel, getName, isPlaced, isSelected, place, setLabel
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

CCW_ROTATE_COMMAND

public static final java.lang.String CCW_ROTATE_COMMAND
See Also:
Constant Field Values

CW_ROTATE_COMMAND

public static final java.lang.String CW_ROTATE_COMMAND
See Also:
Constant Field Values

HORIZONTAL_FLIP_COMMAND

public static final java.lang.String HORIZONTAL_FLIP_COMMAND
See Also:
Constant Field Values

VERTICAL_FLIP_COMMAND

public static final java.lang.String VERTICAL_FLIP_COMMAND
See Also:
Constant Field Values

scale

final int scale

clipOffset

Point clipOffset

clipCorner

Point clipCorner

clipDim

Point clipDim

color

protected java.awt.Color color

defaultColor

protected java.awt.Color defaultColor

selectedColor

static final java.awt.Color selectedColor

normalColor

static final java.awt.Color normalColor

BOX_COUNT

private static final int BOX_COUNT
See Also:
Constant Field Values

boxes

private Box[] boxes

defVectors

protected int[][] defVectors

myGrid

private TargetPattern myGrid

type

protected char type
the kind of pentomino tile this object represents


TILE_BITMAPS

protected static int[][][] TILE_BITMAPS
the outermost array contains for each kind of pentomino tile (12) an array with two entries (X and Y) each of these containing five positions. FIXME: ordering is obviously wrong: it should be 12 -> 5 -> 2 instead.

Constructor Detail

PentoTile

public PentoTile(int scale,
                 java.awt.Color c,
                 int x0,
                 int y0,
                 char type)

PentoTile

public PentoTile(int scale,
                 java.awt.Color c,
                 int x0,
                 int y0,
                 char type,
                 java.lang.String name,
                 java.lang.String label)
Method Detail

isValidTile

public static boolean isValidTile(char c)

getDefVectors

protected static int[][] getDefVectors(char name)

generate

protected void generate()

reset

public void reset()
Specified by:
reset in interface edu.cmu.sphinx.instrumentation.Resetable
Overrides:
reset in class Tile

matchesPosition

public boolean matchesPosition(java.awt.Point p)
Specified by:
matchesPosition in class Tile

setPos

public void setPos(Point p)
Overrides:
setPos in class Tile

setColor

public void setColor(java.awt.Color c)

draw

public void draw(java.awt.Graphics g,
                 boolean l)
Specified by:
draw in class Tile

doCommand

public void doCommand(java.lang.String command)
Overrides:
doCommand in class Tile

hFlip

public void hFlip()

vFlip

public void vFlip()

cwRotate

public void cwRotate()

ccwRotate

public void ccwRotate()

test

public boolean test(java.lang.Object[][] tray,
                    Point dim,
                    Point index0)

place

public void place(java.lang.Object[][] tray,
                  Point dim,
                  Point index0,
                  java.awt.Color[] c)

unplace

public void unplace()
Specified by:
unplace in class Tile

unplace

public void unplace(java.lang.Object[][] tray,
                    Point index0)

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

setMyGrid

public void setMyGrid(TargetPattern myGrid)

select

public void select()
Overrides:
select in class Tile

unselect

public void unselect()
Overrides:
unselect in class Tile

getBoundingBox

public java.awt.Rectangle getBoundingBox()