Package org.opensourcephysics.display2d
Class CellLatticePC
java.lang.Object
org.opensourcephysics.display.MeasuredImage
org.opensourcephysics.display2d.CellLatticePC
- All Implemented Interfaces:
Drawable,Measurable,ByteLattice,CellLattice.OSLattice
A CellLattice displays an array where each array element can assume one of 256 values.
Array values are drawn using an image raster. Each cell is a single pixel using an image that mathches the
the lattice dimension. The image is then scaled so that every pixel is drawn as a rectangle.
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
-
Field Summary
-
Constructor Summary
ConstructorsConstructorDescriptionCellLatticePC(int _nx, int _ny) Constructs a cell lattice with the given size. -
Method Summary
Modifier and TypeMethodDescriptionvoidCreates the default palette.Creates a new SiteLattice containing the same data as this lattice.voiddraw(DrawingPanel panel, Graphics g) Draws the lattice and the grid.intgetNx()Gets the number of x entries.intgetNy()Gets the number of y entries.bytegetValue(int ix, int iy) Gets a value from the given location.intindexFromPoint(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.voidRandomizes the lattice values.voidresizeLattice(int _nx, int _ny) Resizes the lattice using the given number of x and y entries.voidsetAll(byte[][] val) Sets a block of data to new values.voidsetAll(byte[][] val, double xmin, double xmax, double ymin, double ymax) Sets the lattice values and scale.voidsetBlock(byte[][] val) Sets a block of data starting at (0,0) to new values.voidsetBlock(int ix_offset, int iy_offset, byte[][] val) Sets a block of data to byte values.voidsetBlock(int ix_offset, int iy_offset, int[][] val) Sets a block of data to integer values.voidsetCol(int ix, int iy_offset, byte[] val) Sets a column to new values.voidsetColorPalette(Color[] colors) Sets the color palette.voidsetGridLineColor(Color color) Sets the grid color.voidsetIndexedColor(int i, Color color) Sets the color for a single index.voidsetMinMax(double xmin, double xmax, double ymin, double ymax) Assigns a scale to the lattice in world units.voidsetRow(int iy, int ix_offset, byte[] val) Sets a row to new values.voidsetShowGridLines(boolean showGridLines) Outlines the lattice boundaries with a grid.voidsetValue(int ix, int iy, byte val) Sets the given x,y location to a value.voidsetXMax(double _value) Sets xmax.voidsetXMin(double _value) Sets xmin.voidsetYMax(double _value) Sets ymax.voidsetYMin(double _value) Sets ymin.Shows the color associated with each value.intxToIndex(double x) Gets closest index from the given x world coordinate.intyToIndex(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, setVisibleMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.opensourcephysics.display2d.ByteLattice
setVisibleMethods inherited from interface org.opensourcephysics.display.Drawable
isInteractiveMethods inherited from interface org.opensourcephysics.display.Measurable
getXMax, getXMin, getYMax, getYMin, isMeasured
-
Constructor Details
-
CellLatticePC
public CellLatticePC(int _nx, int _ny) Constructs a cell lattice with the given size. Cell values are -128 to 127.- Parameters:
_nx- the number of values in x direction_ny- the number of values in y direction
-
-
Method Details
-
createSiteLattice
Creates a new SiteLattice containing the same data as this lattice.- Specified by:
createSiteLatticein interfaceCellLattice.OSLattice
-
resizeLattice
public void resizeLattice(int _nx, int _ny) Resizes the lattice using the given number of x and y entries.- Specified by:
resizeLatticein interfaceByteLattice- Parameters:
_nx- the number of x entries_ny- the number of y entries
-
setXMin
public void setXMin(double _value) Description copied from interface:ByteLatticeSets xmin.- Specified by:
setXMinin interfaceByteLattice- Overrides:
setXMinin classMeasuredImage- Parameters:
_value- double
-
setXMax
public void setXMax(double _value) Description copied from interface:ByteLatticeSets xmax.- Specified by:
setXMaxin interfaceByteLattice- Overrides:
setXMaxin classMeasuredImage- Parameters:
_value- double
-
setYMin
public void setYMin(double _value) Description copied from interface:ByteLatticeSets ymin.- Specified by:
setYMinin interfaceByteLattice- Overrides:
setYMinin classMeasuredImage- Parameters:
_value- double
-
setYMax
public void setYMax(double _value) Description copied from interface:ByteLatticeSets ymax.- Specified by:
setYMaxin interfaceByteLattice- Overrides:
setYMaxin classMeasuredImage- Parameters:
_value- double
-
getNx
public int getNx()Gets the number of x entries.- Specified by:
getNxin interfaceByteLattice- Returns:
- nx
-
getNy
public int getNy()Gets the number of y entries.- Specified by:
getNyin interfaceByteLattice- Returns:
- ny
-
setMinMax
public void setMinMax(double xmin, double xmax, double ymin, double ymax) Assigns a scale to the lattice in world units. This method does not change lattice values; it assigns units corners of the lattice.- Specified by:
setMinMaxin interfaceByteLattice- Overrides:
setMinMaxin classMeasuredImage- Parameters:
xmin-xmax-ymin-ymax-
-
draw
Draws the lattice and the grid.- Specified by:
drawin interfaceDrawable- Overrides:
drawin 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:
setAllin interfaceByteLattice- Parameters:
val- int[][] the new valuesxmin- doublexmax- doubleymin- doubleymax- double
-
setBlock
public void setBlock(byte[][] val) Sets a block of data starting at (0,0) to new values.- Specified by:
setBlockin interfaceByteLattice- Parameters:
val-
-
setBlock
public void setBlock(int ix_offset, int iy_offset, byte[][] val) Sets a block of data to byte values.- Specified by:
setBlockin interfaceByteLattice- Parameters:
ix_offset- the x offset into the latticeiy_offset- the y offset into the latticeval- the new values
-
setBlock
public void setBlock(int ix_offset, int iy_offset, int[][] val) Sets a block of data to integer values.- Specified by:
setBlockin interfaceCellLattice.OSLattice- Parameters:
ix_offset- the x offset into the latticeiy_offset- the y offset into the latticeval- the new values
-
setCol
public void setCol(int ix, int iy_offset, byte[] val) Sets a column to new values.- Specified by:
setColin 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:
setRowin 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 value.- Specified by:
setValuein interfaceByteLattice- Parameters:
ix-iy-val-
-
getValue
public byte getValue(int ix, int iy) Gets a value from the given location.- Specified by:
getValuein interfaceByteLattice- Parameters:
ix-iy-- Returns:
- the 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:
indexFromPointin interfaceByteLattice- Parameters:
x-y-- Returns:
- index
-
xToIndex
public int xToIndex(double x) Gets closest index from the given x world coordinate.- Specified by:
xToIndexin 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:
yToIndexin interfaceByteLattice- Parameters:
y- double the coordinate- Returns:
- int the index
-
setShowGridLines
public void setShowGridLines(boolean showGridLines) Outlines the lattice boundaries with a grid.- Specified by:
setShowGridLinesin interfaceByteLattice- Parameters:
showGridLines-
-
randomize
public void randomize()Randomizes the lattice values.- Specified by:
randomizein interfaceByteLattice
-
showLegend
Shows the color associated with each value.- Specified by:
showLegendin interfaceByteLattice- Returns:
- the JFrame containing the legend
-
setColorPalette
Sets the color palette.- Specified by:
setColorPalettein interfaceByteLattice- Parameters:
colors-
-
setGridLineColor
Sets the grid color.- Specified by:
setGridLineColorin interfaceByteLattice- Parameters:
color-
-
setIndexedColor
Sets the color for a single index.- Specified by:
setIndexedColorin interfaceByteLattice- Parameters:
i-color-
-
createDefaultColors
public void createDefaultColors()Creates the default palette.- Specified by:
createDefaultColorsin interfaceByteLattice
-