Package org.opensourcephysics.display2d
Class SiteLattice
java.lang.Object
org.opensourcephysics.display.Grid
org.opensourcephysics.display2d.SiteLattice
- All Implemented Interfaces:
Drawable
,Measurable
,ByteLattice
A SiteLattice displays an array where each array element can assume one of 256
values. Array values are drawn as non-overlapping circles.
Values can be set between -128 and 127. Because byte values larger
than 127 overflow to negative, values can also be set between 0 and 255. The
lattice is drawn as an array of rectangles to distinguish between the two
possible values.
- Version:
- 1.0
- Author:
- Wolfgang Christian, Joshua Gould
-
Field Summary
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionCreates a new CellLattice containing the same data as this lattice.void
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 col, int row) Gets a lattice site value.double
getXMax()
Method getXMaxdouble
getXMin()
Method getXMindouble
getYMax()
Method getYMaxdouble
getYMin()
Method getYMinint
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.boolean
Method isMeasuredvoid
Randomizes the lattice values.void
resizeLattice
(int _nx, int _ny) Resizes 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 cells to new values.void
setBlock
(int ix_offset, int iy_offset, byte[][] val) Sets a block of cells using byte values.void
setBlock
(int ix_offset, int iy_offset, int[][] val) Sets a block of cells using integer values.void
setCol
(int ix, int iy_offset, byte[] val) Sets a column to new values.void
setColorPalette
(Color[] _colors) Sets the color palette.void
setGridLineColor
(Color _color) Sets the grid line color.void
setIndexedColor
(int i, Color color) Sets the color for a single index.void
setRow
(int iy, int ix_offset, byte[] val) Sets a row to new values.void
setShowGridLines
(boolean showGridLines) Sets the visibility of the grid connecting the sites.void
setShowVisible
(boolean isVisible) Sets the visibility of the sites.void
setValue
(int ix, int iy, byte val) Sets the given x,y location to a new value.void
setVisible
(boolean isVisible) Sets the visibility of the lattice.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.Grid
getCellPoint, getClosestGridPoint, getColor, getDx, getDy, isVisible, setColor, setMinMax
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
setMinMax
Methods inherited from interface org.opensourcephysics.display.Drawable
isInteractive
-
Constructor Details
-
SiteLattice
public SiteLattice(int sx, int sy) Constructs a Site lattice with the given size. Site values are -128 to 127.- Parameters:
sx
- sites in x directionsy
- sites in y direction
-
-
Method Details
-
resizeLattice
public void resizeLattice(int _nx, int _ny) Description copied from interface:ByteLattice
Resizes the lattice.- Specified by:
resizeLattice
in interfaceByteLattice
-
createCellLattice
Creates a new CellLattice containing the same data as this lattice. -
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
-
setVisible
public void setVisible(boolean isVisible) Sets the visibility of the lattice. Drawing will be disabled if visible is false.- Specified by:
setVisible
in interfaceByteLattice
- Overrides:
setVisible
in classGrid
- Parameters:
isVisible
-
-
draw
Draws the lattice and the grid. -
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
-
setBlock
public void setBlock(int ix_offset, int iy_offset, byte[][] val) Sets a block of cells using byte values.- Specified by:
setBlock
in interfaceByteLattice
- Parameters:
ix_offset
- intiy_offset
- intval
- byte[][]
-
setBlock
public void setBlock(int ix_offset, int iy_offset, int[][] val) Sets a block of cells using integer values.- Parameters:
ix_offset
- intiy_offset
- intval
- int[][]
-
setBlock
public void setBlock(byte[][] val) Sets a block of cells to new values.- Specified by:
setBlock
in interfaceByteLattice
- Parameters:
val
-
-
setCol
public void setCol(int ix, int iy_offset, byte[] val) Sets a column to new values.- Specified by:
setCol
in interfaceByteLattice
- Parameters:
ix
- the x index of the columniy_offset
- the y offset in the columnval
- values in column
-
setRow
public void setRow(int iy, int ix_offset, byte[] val) Sets a row to new values.- Specified by:
setRow
in interfaceByteLattice
- Parameters:
iy
- the y index of the rowix_offset
- the x offset in the rowval
-
-
setValue
public void setValue(int ix, int iy, byte val) Sets the given x,y location to a new value.- Specified by:
setValue
in interfaceByteLattice
- Parameters:
ix
-iy
-val
-
-
getValue
public byte getValue(int col, int row) Gets a lattice site value.- Specified by:
getValue
in interfaceByteLattice
- Parameters:
row
-col
-- Returns:
- the cell value.
-
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
-
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
-
setShowVisible
public void setShowVisible(boolean isVisible) Sets the visibility of the sites. Drawing will be disabled if visible is false.- Parameters:
isVisible
-
-
setShowGridLines
public void setShowGridLines(boolean showGridLines) Sets the visibility of the grid connecting the sites.- Specified by:
setShowGridLines
in interfaceByteLattice
- Parameters:
showGridLines
-
-
randomize
public void randomize()Randomizes the lattice values.- Specified by:
randomize
in interfaceByteLattice
-
showLegend
Shows the color associated with each value.- Specified by:
showLegend
in interfaceByteLattice
- Returns:
- the JFrame containing the legend
-
setColorPalette
Sets the color palette.- Specified by:
setColorPalette
in interfaceByteLattice
- Parameters:
_colors
-
-
setGridLineColor
Sets the grid line color.- Specified by:
setGridLineColor
in interfaceByteLattice
- Parameters:
_color
-
-
setIndexedColor
Sets the color for a single index.- Specified by:
setIndexedColor
in interfaceByteLattice
- Parameters:
i
-color
-
-
isMeasured
public boolean isMeasured()Method isMeasured- Specified by:
isMeasured
in interfaceMeasurable
- Returns:
- measured flag
-
getXMin
public double getXMin()Method getXMin- Specified by:
getXMin
in interfaceMeasurable
- Overrides:
getXMin
in classGrid
- Returns:
- x min
-
getXMax
public double getXMax()Method getXMax- Specified by:
getXMax
in interfaceMeasurable
- Overrides:
getXMax
in classGrid
- Returns:
- x max
-
getYMin
public double getYMin()Method getYMin- Specified by:
getYMin
in interfaceMeasurable
- Overrides:
getYMin
in classGrid
- Returns:
- y min
-
getYMax
public double getYMax()Method getYMax- Specified by:
getYMax
in interfaceMeasurable
- Overrides:
getYMax
in classGrid
- Returns:
- y max
-
setXMin
public void setXMin(double _value) Description copied from interface:ByteLattice
Sets xmin.- Specified by:
setXMin
in interfaceByteLattice
- Parameters:
_value
- double
-
setXMax
public void setXMax(double _value) Description copied from interface:ByteLattice
Sets xmax.- Specified by:
setXMax
in interfaceByteLattice
- Parameters:
_value
- double
-
setYMin
public void setYMin(double _value) Description copied from interface:ByteLattice
Sets ymin.- Specified by:
setYMin
in interfaceByteLattice
- Parameters:
_value
- double
-
setYMax
public void setYMax(double _value) Description copied from interface:ByteLattice
Sets ymax.- Specified by:
setYMax
in interfaceByteLattice
- Parameters:
_value
- double
-
createDefaultColors
public void createDefaultColors()Creates the default palette.- Specified by:
createDefaultColors
in interfaceByteLattice
-