Package org.opensourcephysics.display2d
Class BinaryLattice
java.lang.Object
org.opensourcephysics.display.MeasuredImage
org.opensourcephysics.display2d.BinaryLattice
- All Implemented Interfaces:
Drawable
,Measurable
,ByteLattice
A BinaryLattice is an array where each array element has a value of 0 or 1.
The lattice is drawn as an array of rectangles to distinguish between the two possible values.
- Version:
- 1.0
- Author:
- Wolfgang Christian
-
Field Summary
-
Constructor Summary
ConstructorsConstructorDescriptionBinaryLattice
(int _nx, int _ny) Constructs a binary lattice with the given size. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Creates the default palette.void
draw
(DrawingPanel panel, Graphics g) Draws the lattice and the grid.int
getNx()
Gets the number of x entries.int
getNy()
Gets the number of y entries.byte
getValue
(int ix, int iy) Gets a value from the given location.int
indexFromPoint
(double x, double y) Determines the lattice index (row-major order) from given x and y world coordinates Returns -1 if the world coordinates are outside the lattice.void
Randomizes the lattice values.void
resizeLattice
(int _nx, int _ny) Resize the lattice.void
setAll
(byte[][] val) Sets a block of data to new values.void
setAll
(byte[][] val, double xmin, double xmax, double ymin, double ymax) Sets the lattice values and scale.void
setBlock
(byte[][] val) Sets a block of data starting at (0,0) to new values.void
setBlock
(int ix_offset, int iy_offset, byte[][] val) Sets a block of cells to new values.void
setBlock
(int x_offset, int y_offset, int[][] val) Sets a block of cells to new values.void
setCol
(int ix, int iy_offset, byte[] val) Sets a column of cells to new values.void
setCol
(int ix, int iy_offset, int[] val) Sets a column of cells to new values.void
setColorPalette
(Color[] colors) Sets color palette.void
setGridLineColor
(Color color) Sets the grid color.void
setIndexedColor
(int i, Color color) Sets the color for a single index.void
setMinMax
(double xmin, double xmax, double ymin, double ymax) Scales the grid to the given values in world units.void
setRow
(int iy, int ix_offset, byte[] val) Sets a row of cells to new values starting at the given column.void
setRow
(int iy, int ix_offset, int[] val) Sets a row of cells to new values starting at the given column.void
setShowGrid
(boolean showGrid) Sets the show grid option.void
setShowGridLines
(boolean showGridLines) Outlines the lattice boundaries with a grid.void
setValue
(int ix, int iy, byte val) Sets the given x,y location to a value.void
setValue
(int ix, int iy, int val) Sets a cell at the given location to a new value.void
setXMax
(double _value) Sets xmax.void
setXMin
(double _value) Sets xmin.void
setYMax
(double _value) Sets ymax.void
setYMin
(double _value) Sets ymin.Shows the color associated with each value.int
xToIndex
(double x) Gets closest index from the given x world coordinate.int
yToIndex
(double y) Gets closest index from the given y world coordinate.Methods inherited from class org.opensourcephysics.display.MeasuredImage
getImage, getXMax, getXMin, getYMax, getYMin, isMeasured, setImage, setVisible
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.opensourcephysics.display2d.ByteLattice
setVisible
Methods inherited from interface org.opensourcephysics.display.Drawable
isInteractive
Methods inherited from interface org.opensourcephysics.display.Measurable
getXMax, getXMin, getYMax, getYMin, isMeasured
-
Constructor Details
-
BinaryLattice
public BinaryLattice(int _nx, int _ny) Constructs a binary lattice with the given size.- Parameters:
_nx
- the number of values in x direction_ny
- the number of values in y direction
-
-
Method Details
-
createDefaultColors
public void createDefaultColors()Creates the default palette.- Specified by:
createDefaultColors
in interfaceByteLattice
-
resizeLattice
public void resizeLattice(int _nx, int _ny) Resize the lattice.- Specified by:
resizeLattice
in interfaceByteLattice
- Parameters:
_nx
- number of x sites_ny
- number of y sites
-
setXMin
public void setXMin(double _value) Description copied from interface:ByteLattice
Sets xmin.- Specified by:
setXMin
in interfaceByteLattice
- Overrides:
setXMin
in classMeasuredImage
- Parameters:
_value
- double
-
setXMax
public void setXMax(double _value) Description copied from interface:ByteLattice
Sets xmax.- Specified by:
setXMax
in interfaceByteLattice
- Overrides:
setXMax
in classMeasuredImage
- Parameters:
_value
- double
-
setYMin
public void setYMin(double _value) Description copied from interface:ByteLattice
Sets ymin.- Specified by:
setYMin
in interfaceByteLattice
- Overrides:
setYMin
in classMeasuredImage
- Parameters:
_value
- double
-
setYMax
public void setYMax(double _value) Description copied from interface:ByteLattice
Sets ymax.- Specified by:
setYMax
in interfaceByteLattice
- Overrides:
setYMax
in classMeasuredImage
- Parameters:
_value
- double
-
randomize
public void randomize()Randomizes the lattice values.- Specified by:
randomize
in interfaceByteLattice
-
draw
Draws the lattice and the grid.- Specified by:
draw
in interfaceDrawable
- Overrides:
draw
in classMeasuredImage
- Parameters:
panel
-g
-
-
setAll
public void setAll(byte[][] val) Sets a block of data to new values. The lattice is resized to fit the new data if needed.- Parameters:
val
-
-
setAll
public void setAll(byte[][] val, double xmin, double xmax, double ymin, double ymax) Sets the lattice values and scale. The lattice is resized to fit the new data if needed.- Specified by:
setAll
in interfaceByteLattice
- Parameters:
val
- int[][] the new valuesxmin
- doublexmax
- doubleymin
- doubleymax
- double
-
setMinMax
public void setMinMax(double xmin, double xmax, double ymin, double ymax) Scales the grid to the given values in world units.- Specified by:
setMinMax
in interfaceByteLattice
- Overrides:
setMinMax
in classMeasuredImage
- Parameters:
xmin
-xmax
-ymin
-ymax
-
-
setBlock
public void setBlock(int x_offset, int y_offset, int[][] val) Sets a block of cells to new values. A cell is set to 1 if the value is >0; the cell is set to zero otherwise- Parameters:
x_offset
- inty_offset
- intval
- int[][]
-
setBlock
public void setBlock(int ix_offset, int iy_offset, byte[][] val) Sets a block of cells to new values. A cell is set to 1 if the value is >0; the cell is set to zero otherwise- Specified by:
setBlock
in interfaceByteLattice
- Parameters:
ix_offset
-iy_offset
-val
- the value array
-
setBlock
public void setBlock(byte[][] val) Sets a block of data starting at (0,0) to new values.- Specified by:
setBlock
in interfaceByteLattice
- Parameters:
val
-
-
setCol
public void setCol(int ix, int iy_offset, int[] val) Sets a column of cells to new values. A cell is set to 1 if the value is >0; the cell is set to zero otherwise- Parameters:
ix
-iy_offset
-val
- the array of values
-
setCol
public void setCol(int ix, int iy_offset, byte[] val) Sets a column of cells to new values. A cell is set to 1 if the value is >0; the cell is set to zero otherwise- Specified by:
setCol
in interfaceByteLattice
- Parameters:
ix
-iy_offset
-val
- the array of values
-
setRow
public void setRow(int iy, int ix_offset, int[] val) Sets a row of cells to new values starting at the given column. A cell is set to 1 if the value is >0; the cell is set to zero otherwise- Parameters:
iy
-ix_offset
- the x offsetval
- the value array
-
setRow
public void setRow(int iy, int ix_offset, byte[] val) Sets a row of cells to new values starting at the given column. A cell is set to 1 if the value is >0; the cell is set to zero otherwise- Specified by:
setRow
in interfaceByteLattice
- Parameters:
iy
-ix_offset
- the x offsetval
- the value array
-
setValue
public void setValue(int ix, int iy, int val) Sets a cell at the given location to a new value. A cell should take on a value of 0 or 1.- Parameters:
ix
-iy
-val
-
-
setValue
public void setValue(int ix, int iy, byte val) Description copied from interface:ByteLattice
Sets the given x,y location to a value.- Specified by:
setValue
in interfaceByteLattice
-
getValue
public byte getValue(int ix, int iy) Gets a value from the given location. Cell values are zero or one.- Specified by:
getValue
in interfaceByteLattice
- Parameters:
ix
-iy
-- Returns:
- the cell value.
-
getNx
public int getNx()Gets the number of x entries.- Specified by:
getNx
in interfaceByteLattice
- Returns:
- nx
-
getNy
public int getNy()Gets the number of y entries.- Specified by:
getNy
in interfaceByteLattice
- Returns:
- ny
-
setShowGrid
public void setShowGrid(boolean showGrid) Sets the show grid option.- Parameters:
showGrid
-
-
setColorPalette
Sets color palette.- Specified by:
setColorPalette
in interfaceByteLattice
- Parameters:
colors
-
-
setIndexedColor
Sets the color for a single index.- Specified by:
setIndexedColor
in interfaceByteLattice
- Parameters:
i
-color
-
-
setGridLineColor
Sets the grid color.- Specified by:
setGridLineColor
in interfaceByteLattice
- Parameters:
color
-
-
setShowGridLines
public void setShowGridLines(boolean showGridLines) Description copied from interface:ByteLattice
Outlines the lattice boundaries with a grid.- Specified by:
setShowGridLines
in interfaceByteLattice
-
xToIndex
public int xToIndex(double x) Gets closest index from the given x world coordinate.- Specified by:
xToIndex
in interfaceByteLattice
- Parameters:
x
- double the coordinate- Returns:
- int the index
-
yToIndex
public int yToIndex(double y) Gets closest index from the given y world coordinate.- Specified by:
yToIndex
in interfaceByteLattice
- Parameters:
y
- double the coordinate- Returns:
- int the index
-
indexFromPoint
public int indexFromPoint(double x, double y) Determines the lattice index (row-major order) from given x and y world coordinates Returns -1 if the world coordinates are outside the lattice.- Specified by:
indexFromPoint
in interfaceByteLattice
- Parameters:
x
-y
-- Returns:
- index
-
showLegend
Description copied from interface:ByteLattice
Shows the color associated with each value.- Specified by:
showLegend
in interfaceByteLattice
- Returns:
- the JFrame containing the legend
-