public class VisualActionObserver extends javax.swing.JFrame implements EnvironmentObserver
EnvironmentObserver
interface.
It updates the visualizer to show the resulting state of an action call. After rendering, the client thread is blocked
for a specified interval of time to allow the state to be observed (by default the value is set to 17ms, which is about 60FPS).
This class will also render the new state of an Environment
after
a Environment.resetEnvironment()
message is observed and block for the
same interval of time.
This class is especially useful for watching learning algorithms or Monte Carlo-like planning algorithms in action.
Optionally, this class may also render state-action events in an Environment
(so that the action is also rendered) so long as
the input Visualizer
has a set StateActionRenderLayer
.
To enable this support, pass the setRepaintOnActionInitiation(boolean)
true. If you would then
like to disable rendering the post-state from the observeEnvironmentInteraction(burlap.mdp.singleagent.environment.EnvironmentOutcome)
method, pass the setRepaintStateOnEnvironmentInteraction(boolean)
false.
javax.swing.JFrame.AccessibleJFrame
java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
Modifier and Type | Field and Description |
---|---|
protected long |
actionRenderDelay
How long to wait in ms for a state to be rendered before returning control to the agent.
|
protected int |
cHeight
The height of the painter
|
protected int |
cWidth
The width of the painter
|
protected OODomain |
domain
The domain this visualizer is rendering
|
protected Visualizer |
painter
The visualizer that will render states
|
protected boolean |
repaintOnActionInitiation
If true, then a a state-action pair is rendered on calls to
observeEnvironmentActionInitiation(State, Action)
so long as the input Visualizer has a set StateActionRenderLayer . |
protected boolean |
repaintStateOnEnvironmentInteraction
If true (which is default), then the post-state in an
observeEnvironmentInteraction(burlap.mdp.singleagent.environment.EnvironmentOutcome)
is rendered. |
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Constructor and Description |
---|
VisualActionObserver(OODomain domain,
Visualizer painter)
Initializes with a visualizer size of 800x800
|
VisualActionObserver(OODomain domain,
Visualizer painter,
int cWidth,
int cHeight)
Initializes
|
VisualActionObserver(Visualizer painter)
Initializes with a visualizer of size 800x800
|
VisualActionObserver(Visualizer painter,
int cWidth,
int cHeight)
Initializes
|
Modifier and Type | Method and Description |
---|---|
Visualizer |
getPainter() |
void |
initGUI()
Initializes the visual explorer GUI and presents it to the user.
|
void |
observeEnvironmentActionInitiation(State o,
Action action)
This method is called when an
Environment receives an action to execute, but before the
Environment has completed execution. |
void |
observeEnvironmentInteraction(EnvironmentOutcome eo)
This method is called every time an
Environment is interacted with. |
void |
observeEnvironmentReset(Environment resetEnvironment)
This method is called every time an
Environment is reset (has the Environment.resetEnvironment() method called). |
void |
setFrameDelay(long delay)
Sets how long to wait in ms for a state to be rendered before returning control the agent.
|
void |
setPainter(Visualizer painter) |
void |
setRepaintOnActionInitiation(boolean repaintOnActionInitiation)
Sets whether the state-action should be updated when an action is initiated in an
Environment via the
observeEnvironmentActionInitiation(State, Action) method. |
void |
setRepaintStateOnEnvironmentInteraction(boolean repaintStateOnEnvironmentInteraction)
Sets whether the state should be updated on environment interactions events (the
observeEnvironmentInteraction(burlap.mdp.singleagent.environment.EnvironmentOutcome)
or only with state-actions in the observeEnvironmentActionInitiation(State, Action) . |
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, setVisible, show, toBack, toFront
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, validate, validateTree
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
protected OODomain domain
protected Visualizer painter
protected int cWidth
protected int cHeight
protected long actionRenderDelay
protected boolean repaintStateOnEnvironmentInteraction
observeEnvironmentInteraction(burlap.mdp.singleagent.environment.EnvironmentOutcome)
is rendered.protected boolean repaintOnActionInitiation
observeEnvironmentActionInitiation(State, Action)
so long as the input Visualizer
has a set StateActionRenderLayer
. Default value is false.public VisualActionObserver(Visualizer painter)
painter
- the visualizer for statespublic VisualActionObserver(Visualizer painter, int cWidth, int cHeight)
painter
- the visualizer for statescWidth
- the canvas widthcHeight
- the canvas heightpublic VisualActionObserver(OODomain domain, Visualizer painter)
domain
- the OODomain
holding the propositional functions for the propositional function viewerpainter
- the painter for rendering statespublic VisualActionObserver(OODomain domain, Visualizer painter, int cWidth, int cHeight)
domain
- the OODomain
holding the propositional functions for the propositional function viewerpainter
- the painter for rendering statescWidth
- the width of the state visualization areacHeight
- the height of the state visualization areapublic void setFrameDelay(long delay)
delay
- how long to wait in ms for a state to be rendered before returning control the agent.public Visualizer getPainter()
public void setPainter(Visualizer painter)
public void setRepaintStateOnEnvironmentInteraction(boolean repaintStateOnEnvironmentInteraction)
observeEnvironmentInteraction(burlap.mdp.singleagent.environment.EnvironmentOutcome)
or only with state-actions in the observeEnvironmentActionInitiation(State, Action)
.repaintStateOnEnvironmentInteraction
- if true, then update states with environment interactions; if false then only with environment action initiation.public void setRepaintOnActionInitiation(boolean repaintOnActionInitiation)
Environment
via the
observeEnvironmentActionInitiation(State, Action)
method.repaintOnActionInitiation
- if true, then state-action's are painted on action initiation; if false, they are not.public void initGUI()
public void observeEnvironmentActionInitiation(State o, Action action)
EnvironmentObserver
Environment
receives an action to execute, but before the
Environment
has completed execution.observeEnvironmentActionInitiation
in interface EnvironmentObserver
o
- the current Environment
observation in which the the action begins execution.action
- the Action
which will be executed in the Environment
.public void observeEnvironmentInteraction(EnvironmentOutcome eo)
EnvironmentObserver
Environment
is interacted with.observeEnvironmentInteraction
in interface EnvironmentObserver
eo
- the resulting EnvironmentOutcome
public void observeEnvironmentReset(Environment resetEnvironment)
EnvironmentObserver
Environment
is reset (has the Environment.resetEnvironment()
method called).observeEnvironmentReset
in interface EnvironmentObserver
resetEnvironment
- the Environment
that was reset.