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.AccessibleJFramejava.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, rootPaneCheckingEnabledCROSSHAIR_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_CURSORBOTTOM_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, updateaddNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecoratedaddPropertyChangeListener, 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, toFrontadd, 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, validateTreeaction, 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, transferFocusUpCycleprotected 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)
EnvironmentObserverEnvironment receives an action to execute, but before the
Environment has completed execution.observeEnvironmentActionInitiation in interface EnvironmentObservero - 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)
EnvironmentObserverEnvironment is interacted with.observeEnvironmentInteraction in interface EnvironmentObservereo - the resulting EnvironmentOutcomepublic void observeEnvironmentReset(Environment resetEnvironment)
EnvironmentObserverEnvironment is reset (has the Environment.resetEnvironment() method called).observeEnvironmentReset in interface EnvironmentObserverresetEnvironment - the Environment that was reset.