Class HtmlGridPanel
java.lang.Object
nl.tudelft.simulation.dsol.web.animation.d2.HtmlGridPanel
- All Implemented Interfaces:
ImageObserver
- Direct Known Subclasses:
HtmlAnimationPanel
The VisualizationPanel introduces the gridPanel.
Copyright (c) 2003-2024 Delft University of Technology, Jaffalaan 5, 2628 BX Delft, the Netherlands. All rights reserved. BSD-style license. See OpenTrafficSim License.
- Author:
- Niels Lang , Peter Jacobs
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intthe DOWN directions for moving/zooming.protected org.djutils.draw.bounds.Bounds2dthe extent of this panel.protected NumberFormatthe formatter to use.protected static final ColorgridColor.protected doublethe gridSize for the X-direction in world Units.protected doublethe gridSize for the Y-direction in world Units.protected org.djutils.draw.bounds.Bounds2dthe extent of this panel.protected HtmlGraphics2dthe HTMLGraphics2D 'shadow' canvas.protected Dimensionthe last computed Dimension.static final intthe LEFT directions for moving/zooming.protected Dimensionthe last computed Dimension.protected nl.tudelft.simulation.dsol.animation.d2.RenderableScalethe renderable scale (X/Y ratio) to use.static final intthe RIGHT directions for moving/zooming.protected booleanshow the grid.protected booleanwhether to show a tooltip with the coordinates or not.protected Dimensionthe last computed Dimension.static final intthe UP directions for moving/zooming.protected org.djutils.draw.point.Point2dthe last known world coordinate of the mouse.static final doublethe ZOOM factor.Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
Constructor Summary
ConstructorsConstructorDescriptionHtmlGridPanel(org.djutils.draw.bounds.Bounds2d extent) constructs a new VisualizationPanel.HtmlGridPanel(org.djutils.draw.bounds.Bounds2d extent, Dimension size) constructs a new VisualizationPanel. -
Method Summary
Modifier and TypeMethodDescriptionfinal voidDisplay a tooltip with the last known world coordinates of the mouse, in case the tooltip should be displayed.protected voidAdded to make sure the recursive render-call calls THIS render method instead of a potential super-class defined 'paintComponent' render method.final ColorReturn the set of drawing commands.final org.djutils.draw.bounds.Bounds2dreturns the extent of this panel.final FontgetFont()final FontMetricsgetFontMetrics(Font font) final intfinal Dimensionfinal nl.tudelft.simulation.dsol.animation.d2.RenderableScalefinal DimensiongetSize()final Stringfinal intgetWidth()final org.djutils.draw.point.Point2dfinal voidhome()resets the panel to its original extent.booleanimageUpdate(Image img, int infoflags, int x, int y, int width, int height) final booleanisDirty()final booleanfinal booleanfinal booleanvoidDraw the grid.final voidpan(int direction, double percentage) pans the panel in a specified direction.voidrepaint()Repaint the shadow canvas.final voidsetBackground(Color background) final voidsetExtent(org.djutils.draw.bounds.Bounds2d extent) set a new extent for this panel.final voidfinal voidsetPreferredSize(Dimension preferredSize) final voidsetRenderableScale(nl.tudelft.simulation.dsol.animation.d2.RenderableScale renderableScale) final voidsetShowGrid(boolean showGrid) final voidsetShowing(boolean showing) final voidsetShowToolTip(boolean showToolTip) final voidfinal voidsetToolTipText(String toolTipText) final voidsetWorldCoordinate(org.djutils.draw.point.Point2d point) Set the world coordinates based on a mouse move.final voidshowGrid(boolean bool) show the grid?final voidzoom(double factor) zooms in/out.final voidzoom(double factor, int mouseX, int mouseY) zooms in/out.
-
Field Details
-
UP
public static final int UPthe UP directions for moving/zooming.- See Also:
-
DOWN
public static final int DOWNthe DOWN directions for moving/zooming.- See Also:
-
LEFT
public static final int LEFTthe LEFT directions for moving/zooming.- See Also:
-
RIGHT
public static final int RIGHTthe RIGHT directions for moving/zooming.- See Also:
-
ZOOMFACTOR
public static final double ZOOMFACTORthe ZOOM factor.- See Also:
-
GRIDCOLOR
gridColor. -
extent
protected org.djutils.draw.bounds.Bounds2d extentthe extent of this panel. -
homeExtent
protected org.djutils.draw.bounds.Bounds2d homeExtentthe extent of this panel. -
showGrid
protected boolean showGridshow the grid. -
gridSizeX
protected double gridSizeXthe gridSize for the X-direction in world Units. -
gridSizeY
protected double gridSizeYthe gridSize for the Y-direction in world Units. -
formatter
the formatter to use. -
lastDimension
the last computed Dimension. -
size
the last computed Dimension. -
preferredSize
the last computed Dimension. -
worldCoordinate
protected org.djutils.draw.point.Point2d worldCoordinatethe last known world coordinate of the mouse. -
showToolTip
protected boolean showToolTipwhether to show a tooltip with the coordinates or not. -
htmlGraphics2D
the HTMLGraphics2D 'shadow' canvas. -
renderableScale
protected nl.tudelft.simulation.dsol.animation.d2.RenderableScale renderableScalethe renderable scale (X/Y ratio) to use.
-
-
Constructor Details
-
HtmlGridPanel
public HtmlGridPanel(org.djutils.draw.bounds.Bounds2d extent) constructs a new VisualizationPanel.- Parameters:
extent- Bounds2d; the extent to show.
-
HtmlGridPanel
constructs a new VisualizationPanel.- Parameters:
extent- Bounds2d; the initial extent.size- Dimension; the size of the panel in pixels.
-
-
Method Details
-
getDrawingCommands
Return the set of drawing commands.- Returns:
- the set of drawing commands
-
paintComponent
Draw the grid.- Parameters:
g- HTMLGraphics2D; the virtual Graphics2D canvas to enable writing to the browser
-
showGrid
public final void showGrid(boolean bool) show the grid?- Parameters:
bool- boolean; true/false
-
getExtent
public final org.djutils.draw.bounds.Bounds2d getExtent()returns the extent of this panel.- Returns:
- Bounds2d
-
setExtent
public final void setExtent(org.djutils.draw.bounds.Bounds2d extent) set a new extent for this panel.- Parameters:
extent- Bounds2d; set a new extent
-
setWorldCoordinate
public final void setWorldCoordinate(org.djutils.draw.point.Point2d point) Set the world coordinates based on a mouse move.- Parameters:
point- Point2d; the x,y world coordinates
-
getWorldCoordinate
public final org.djutils.draw.point.Point2d getWorldCoordinate()- Returns:
- worldCoordinate
-
displayWorldCoordinateToolTip
public final void displayWorldCoordinateToolTip()Display a tooltip with the last known world coordinates of the mouse, in case the tooltip should be displayed. -
isShowToolTip
public final boolean isShowToolTip()- Returns:
- showToolTip
-
setShowToolTip
public final void setShowToolTip(boolean showToolTip) - Parameters:
showToolTip- boolean; set showToolTip
-
pan
public final void pan(int direction, double percentage) pans the panel in a specified direction.- Parameters:
direction- int; the directionpercentage- double; the percentage
-
home
public final void home()resets the panel to its original extent. -
isShowGrid
public final boolean isShowGrid()- Returns:
- Returns the showGrid.
-
setShowGrid
public final void setShowGrid(boolean showGrid) - Parameters:
showGrid- boolean; The showGrid to set.
-
zoom
public final void zoom(double factor) zooms in/out.- Parameters:
factor- double; The zoom factor
-
zoom
public final void zoom(double factor, int mouseX, int mouseY) zooms in/out.- Parameters:
factor- double; The zoom factormouseX- int; x-position of the mouse around which we zoommouseY- int; y-position of the mouse around which we zoom
-
drawGrid
Added to make sure the recursive render-call calls THIS render method instead of a potential super-class defined 'paintComponent' render method.- Parameters:
g- Graphics; the graphics object
-
getRenderableScale
public final nl.tudelft.simulation.dsol.animation.d2.RenderableScale getRenderableScale()- Returns:
- renderableScale
-
setRenderableScale
public final void setRenderableScale(nl.tudelft.simulation.dsol.animation.d2.RenderableScale renderableScale) - Parameters:
renderableScale- RenderableScale; set renderableScale
-
repaint
public void repaint()Repaint the shadow canvas. -
getSize
- Returns:
- size
-
setSize
- Parameters:
size- Dimension; set size
-
getBackground
- Returns:
- background
-
setBackground
- Parameters:
background- Color; set background
-
getWidth
public final int getWidth()- Returns:
- width
-
getHeight
public final int getHeight()- Returns:
- height
-
getPreferredSize
- Returns:
- preferredSize
-
setPreferredSize
- Parameters:
preferredSize- Dimension; set preferredSize
-
getToolTipText
- Returns:
- toolTipText
-
setToolTipText
- Parameters:
toolTipText- String; set toolTipText
-
isShowing
public final boolean isShowing()- Returns:
- showing
-
setShowing
public final void setShowing(boolean showing) - Parameters:
showing- boolean; set showing
-
getFont
- Returns:
- font
-
setFont
- Parameters:
font- Font; set font
-
getFontMetrics
- Parameters:
font- Font; the font to calculate the fontmetrics for- Returns:
- fontMetrics
-
isDirty
public final boolean isDirty()- Returns:
- dirty
-
imageUpdate
- Specified by:
imageUpdatein interfaceImageObserver
-