Package jpicedt.graphic.grid
Class Grid
- java.lang.Object
-
- jpicedt.graphic.grid.Grid
-
public class Grid extends java.lang.ObjectA grid for PECanvas, defined in model-coordinate (natural unit = 1mm)
- Provides the ability to find a nearest-neighbour point on the grid, given a point in model-coordinate, using current snap-step value
- Offers several paint schemes (grid step)
- Since:
- PicEdt 1.0 ; completely refactored jpicedt 1.3.2
- Author:
- Sylvain Reynal
-
-
Field Summary
Fields Modifier and Type Field Description static java.awt.ColorcolorDEFAULTdefault colour used to paint grid linesstatic java.lang.StringDASHpaint grid lines using dashed linesstatic doublegridStepDEFAULTstatic booleanisVisibleDEFAULTdefault for visible statestatic java.lang.StringKEY_GRID_COLORkey used to fetch the grid colour from the Properties objectstatic java.lang.StringKEY_GRID_STEPkey used to fetch the grid step from the Properties objectstatic java.lang.StringKEY_LINE_STYLEkey used to fetch the line style from the Properties objectstatic java.lang.StringKEY_SNAP_ONkey used to fetch the snap state from the Properties objectstatic java.lang.StringKEY_SNAP_STEPkey used to fetch the snap step from the Properties objectstatic java.lang.StringKEY_VISIBLEkey used to fetch the visible state from the Properties objectstatic java.lang.StringlineStyleDEFAULTdefault style used to paint grid linesstatic java.lang.String[]PREDEFINED_GRID_STEP_STRINGSstatic double[]PREDEFINED_GRID_STEPSstatic java.lang.String[]PREDEFINED_SNAP_STEP_STRINGSstatic double[]PREDEFINED_SNAP_STEPSstatic java.lang.String[]PREDEFINED_STYLESstatic booleansnapOnDEFAULTis snapping active ?static doublesnapStepDEFAULTdefault snap stepstatic java.lang.StringSOLIDpaint grid lines using solid lines
-
Constructor Summary
Constructors Constructor Description Grid()Construct a new Grid with default valuesGrid(boolean isVisible, boolean isSnapOn, double snapStep, double gridStep, java.awt.Color gridColor, java.lang.String lineStyle)Construct a new GridGrid(java.util.Properties preferences)Construct a new Grid from the given Properties, using the following key/value pairs : - key = KEY_VISIBLE, value = true/false - key = KEY_SNAP_ON, value = true/false - key = KEY_SNAP_STEP, value = a double - key = KEY_GRID_COLOR, value = integer (RGB) representation of the colour - key = KEY_LINE_STYLE, value = one of the predefined string (SOLID or DASH)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.awt.ColorgetColor()doublegetGridStep()static intgetGridStepIndex(double gridStep)Utilities to retrieve an index from a given gridStep in PREDEFINED_SNAP_STEPSjava.lang.StringgetLineStyle()doublegetSnapStep()static intgetSnapStepIndex(double snapStep)Utilities to retrieve an index from a given snapStep in PREDEFINED_SNAP_STEPSbooleanisSnapOn()booleanisVisible()PicPointnearestNeighbour(PicPoint srcPt, PicPoint dstPt)Compute the nearest-neighbour of the given src point on this grid, using the current snap-step value, and store the result in dst.voidpaint(java.awt.Graphics2D g, java.awt.geom.Rectangle2D clip, double scale)paint this grid using a grid-step of "gridstep" mm to compute line-spacing.
The graphic context is in user-coordinate, i.e.voidsetColor(java.awt.Color gridColor)set the colour used to paint the gridvoidsetGridStep(double gridStep)sets the grid (display)-step to the given valuevoidsetLineStyle(java.lang.String lineStyle)set the style used to paint grid linesvoidsetSnapOn(boolean state)sets whether snap is active or notvoidsetSnapStep(double snapStep)sets the snap-step to the given valuevoidsetVisible(boolean state)set whether this grid is visible or not
-
-
-
Field Detail
-
PREDEFINED_SNAP_STEP_STRINGS
public static final java.lang.String[] PREDEFINED_SNAP_STEP_STRINGS
-
PREDEFINED_SNAP_STEPS
public static final double[] PREDEFINED_SNAP_STEPS
-
PREDEFINED_GRID_STEP_STRINGS
public static final java.lang.String[] PREDEFINED_GRID_STEP_STRINGS
-
PREDEFINED_GRID_STEPS
public static final double[] PREDEFINED_GRID_STEPS
-
KEY_VISIBLE
public static final java.lang.String KEY_VISIBLE
key used to fetch the visible state from the Properties object- See Also:
- Constant Field Values
-
isVisibleDEFAULT
public static final boolean isVisibleDEFAULT
default for visible state- See Also:
- Constant Field Values
-
KEY_GRID_STEP
public static final java.lang.String KEY_GRID_STEP
key used to fetch the grid step from the Properties object- See Also:
- Constant Field Values
-
gridStepDEFAULT
public static final double gridStepDEFAULT
- See Also:
- Constant Field Values
-
KEY_GRID_COLOR
public static final java.lang.String KEY_GRID_COLOR
key used to fetch the grid colour from the Properties object- See Also:
- Constant Field Values
-
colorDEFAULT
public static final java.awt.Color colorDEFAULT
default colour used to paint grid lines
-
KEY_LINE_STYLE
public static final java.lang.String KEY_LINE_STYLE
key used to fetch the line style from the Properties object- See Also:
- Constant Field Values
-
SOLID
public static final java.lang.String SOLID
paint grid lines using solid lines- See Also:
- Constant Field Values
-
DASH
public static final java.lang.String DASH
paint grid lines using dashed lines- See Also:
- Constant Field Values
-
lineStyleDEFAULT
public static final java.lang.String lineStyleDEFAULT
default style used to paint grid lines- See Also:
- Constant Field Values
-
PREDEFINED_STYLES
public static final java.lang.String[] PREDEFINED_STYLES
-
KEY_SNAP_ON
public static final java.lang.String KEY_SNAP_ON
key used to fetch the snap state from the Properties object- See Also:
- Constant Field Values
-
snapOnDEFAULT
public static final boolean snapOnDEFAULT
is snapping active ?- See Also:
- Constant Field Values
-
KEY_SNAP_STEP
public static final java.lang.String KEY_SNAP_STEP
key used to fetch the snap step from the Properties object- See Also:
- Constant Field Values
-
snapStepDEFAULT
public static final double snapStepDEFAULT
default snap step- See Also:
- Constant Field Values
-
-
Constructor Detail
-
Grid
public Grid()
Construct a new Grid with default values
-
Grid
public Grid(boolean isVisible, boolean isSnapOn, double snapStep, double gridStep, java.awt.Color gridColor, java.lang.String lineStyle)Construct a new Grid- Parameters:
isVisible- whether the grid has to be displayed or notisSnapOn- whether the snap behaviour is active or notsnapStep- step used to compute the nearest-neighbour of a click pointgridStep- distance b/w grid lines in mmgridColor- the grid colourlineStyle- SOLID or DASH (tells what style to apply to grid lines)
-
Grid
public Grid(java.util.Properties preferences)
Construct a new Grid from the given Properties, using the following key/value pairs : - key = KEY_VISIBLE, value = true/false - key = KEY_SNAP_ON, value = true/false - key = KEY_SNAP_STEP, value = a double - key = KEY_GRID_COLOR, value = integer (RGB) representation of the colour - key = KEY_LINE_STYLE, value = one of the predefined string (SOLID or DASH)- Parameters:
isVisible- whether the grid has to be displayed or notisSnapOn- whether the snap behaviour is active or notsnapStep- step used to compute the nearest-neighbour of a click pointgridColor- the grid colourlineStyle- SOLID or DASH (tells what style to apply to grid lines)
-
-
Method Detail
-
setColor
public void setColor(java.awt.Color gridColor)
set the colour used to paint the grid
-
getColor
public java.awt.Color getColor()
- Returns:
- the colour used to paint the grid
-
setLineStyle
public void setLineStyle(java.lang.String lineStyle)
set the style used to paint grid lines- Parameters:
SOLID- or DASH
-
getLineStyle
public java.lang.String getLineStyle()
- Returns:
- the style used to paint grid lines
-
setVisible
public void setVisible(boolean state)
set whether this grid is visible or not
-
isVisible
public boolean isVisible()
- Returns:
- whether this grid is visible or not
-
setSnapOn
public void setSnapOn(boolean state)
sets whether snap is active or not
-
isSnapOn
public boolean isSnapOn()
- Returns:
- whether snap is active or not
-
getSnapStep
public double getSnapStep()
- Returns:
- the snap step
-
setSnapStep
public void setSnapStep(double snapStep)
sets the snap-step to the given value
-
getGridStep
public double getGridStep()
- Returns:
- the grid step
-
setGridStep
public void setGridStep(double gridStep)
sets the grid (display)-step to the given value
-
paint
public void paint(java.awt.Graphics2D g, java.awt.geom.Rectangle2D clip, double scale)paint this grid using a grid-step of "gridstep" mm to compute line-spacing.
The graphic context is in user-coordinate, i.e. in model-coordinates (left to right, bottom to top, mm)- Parameters:
sclae- the current scale factor, used to scale down line thickness so that lines are displayed with a constant thickness, whatever AffineTransform is currently set to the graphic context.
-
nearestNeighbour
public PicPoint nearestNeighbour(PicPoint srcPt, PicPoint dstPt)
Compute the nearest-neighbour of the given src point on this grid, using the current snap-step value, and store the result in dst.
If snap is turned off, simply returns pt.
If dst is null, a new PicPoint is allocated and the result is stored in this new point.
If src and dst are the same objects, the input point is correctly overwritten with the result.- Parameters:
ptSrc- the source point in model-coordinates.ptDst- a point that stores the result- Returns:
- ptDst for convenience
-
getSnapStepIndex
public static int getSnapStepIndex(double snapStep)
Utilities to retrieve an index from a given snapStep in PREDEFINED_SNAP_STEPS- Returns:
- index of the given snap step in array "PREDEFINED_SNAP_STEPS" returns -1 if not found.
-
getGridStepIndex
public static int getGridStepIndex(double gridStep)
Utilities to retrieve an index from a given gridStep in PREDEFINED_SNAP_STEPS- Returns:
- index of the given grid step in array "PREDEFINED_GRID_STEPS" returns -1 if not found.
-
-