Class AizawaDemoView
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JInternalFrame
edu.cnu.mdi.view.BaseView
edu.cnu.mdi.mdi3D.view3D.PlainView3D
edu.cnu.mdi.mdi3D.view3D.SimulationView3D
edu.cnu.mdi.mdi3D.view3D.aizawaDemo.AizawaDemoView
- All Implemented Interfaces:
edu.cnu.mdi.feedback.IFeedbackProvider,edu.cnu.mdi.sim.ISimulationHost,edu.cnu.mdi.sim.SimulationListener,edu.cnu.mdi.transfer.IFileDropHandler,ActionListener,ComponentListener,FocusListener,MouseListener,ImageObserver,MenuContainer,Serializable,EventListener,Accessible,RootPaneContainer,WindowConstants
3D MDI demo view for the Aizawa attractor.
The simulation thread owns the model and numerical integration. The EDT applies published snapshots to the 3D trajectory item and the phase plot.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class edu.cnu.mdi.mdi3D.view3D.SimulationView3D
SimulationView3D.ControlPanelFactory, SimulationView3D.DiagnosticFactoryNested classes/interfaces inherited from class javax.swing.JInternalFrame
JInternalFrame.AccessibleJInternalFrame, JInternalFrame.JDesktopIconNested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
Fields inherited from class edu.cnu.mdi.mdi3D.view3D.SimulationView3D
controlPanel, diagnostics, diagnosticsSplitPane, engineFields inherited from class edu.cnu.mdi.mdi3D.view3D.PlainView3D
_panel3DFields inherited from class edu.cnu.mdi.view.BaseView
container, desktop, infoDialog, properties, scrollPane, statusWP, viewPopupMenu, VIEWPROPNAME, virtualItemFields inherited from class javax.swing.JInternalFrame
closable, CONTENT_PANE_PROPERTY, desktopIcon, FRAME_ICON_PROPERTY, frameIcon, GLASS_PANE_PROPERTY, iconable, IS_CLOSED_PROPERTY, IS_ICON_PROPERTY, IS_MAXIMUM_PROPERTY, IS_SELECTED_PROPERTY, isClosed, isIcon, isMaximum, isSelected, LAYERED_PANE_PROPERTY, maximizable, MENU_BAR_PROPERTY, resizable, ROOT_PANE_PROPERTY, rootPane, rootPaneCheckingEnabled, title, TITLE_PROPERTYFields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTHFields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE -
Constructor Summary
ConstructorsConstructorDescriptionConstruct the Aizawa demo view using its canonical default properties.AizawaDemoView(Object... keyVals) Legacy compatibility constructor using alternating key/value pairs.AizawaDemoView(Properties props) Construct the Aizawa demo view using the supplied properties. -
Method Summary
Modifier and TypeMethodDescriptionstatic AizawaDemoViewCompatibility factory method to create the demo view with its standard title and layout.static edu.cnu.mdi.view.ViewConfiguration<AizawaDemoView> Get the lazy-creation configuration for this view.getModel()Get the model instance with the correct type.Get the diagnostics phase plot panel with the correct type.Get the simulation instance with the correct type.edu.cnu.mdi.view.AbstractViewInfoprotected Panel3Dmake3DPanel(float angleX, float angleY, float angleZ, float xDist, float yDist, float zDist) Create the 3D panel for this view.protected voidonSimulationReady(edu.cnu.mdi.sim.SimulationContext ctx) Called when the simulation becomes ready to run.protected voidonSimulationRefresh(edu.cnu.mdi.sim.SimulationContext ctx) Called on every engine refresh request, immediately before this class repaints or refreshes the 3D panel in response.protected voidonSimulationRun(edu.cnu.mdi.sim.SimulationContext ctx) Called when the simulation starts or restarts running.protected voidonSimulationStateChange(edu.cnu.mdi.sim.SimulationContext ctx, edu.cnu.mdi.sim.SimulationState from, edu.cnu.mdi.sim.SimulationState to, String reason) Called whenever the simulation transitions between states, after any pending engine reset triggered bySimulationView3D.requestEngineReset(java.util.function.Supplier<edu.cnu.mdi.sim.Simulation>, java.util.function.Consumer<edu.cnu.mdi.sim.SimulationEngine>, boolean, boolean)has been applied.voidRequest a reset of the demo back to its default state.Methods inherited from class edu.cnu.mdi.mdi3D.view3D.SimulationView3D
getDiagnosticsComponent, getSimulationEngine, onCancelRequested, onDone, onFail, onInit, onMessage, onPause, onProgress, onReady, onRefresh, onResume, onRun, onSimulationCancelRequested, onSimulationDone, onSimulationFail, onSimulationInit, onSimulationMessage, onSimulationPause, onSimulationProgress, onSimulationResume, onStateChange, replaceEngine, requestEngineReset, startAndRunMethods inherited from class edu.cnu.mdi.mdi3D.view3D.PlainView3D
actionPerformed, addMenus, componentMoved, componentResized, componentShown, focusGained, getImageComponent, refresh, request3DRefresh, resolveContainerMethods inherited from class edu.cnu.mdi.view.BaseView
addWestPanel, applyFocusFix, center, checkBooleanProperty, componentHidden, enableFileDrop, enableFileDrop, filesDropped, focusLost, getAnnotationLayer, getCenterComponent, getConfigurationProperties, getConnectionLayer, getDefaultLayer, getFeedbackStrings, getFileFilter, getIContainer, getInfoButton, getInsets, getIntProperty, getName, getParentFrame, getProperties, getPropertyName, getScrollPane, getSpecialClip, getToolBar, getViewPopupMenu, getVirtualItem, handleMagnify, hoverClosed, hoverUpdate, initFeedback, initFeedback, isOnTop, isScrollable, isViewVisible, mouseClicked, mouseEntered, mouseExited, mousePressed, mouseReleased, offset, onFirstRealize, prepareForExit, rightClicked, setAfterDraw, setBeforeDraw, setBooleanProperty, setFileFilter, setFromProperties, setIntProperty, setVirtualItem, viewInfoMethods inherited from class javax.swing.JInternalFrame
addImpl, addInternalFrameListener, createRootPane, dispose, doDefaultCloseAction, fireInternalFrameEvent, getAccessibleContext, getContentPane, getDefaultCloseOperation, getDesktopIcon, getDesktopPane, getFocusCycleRootAncestor, getFocusOwner, getFrameIcon, getGlassPane, getInternalFrameListeners, getJMenuBar, getLastCursor, getLayer, getLayeredPane, getMenuBar, getMostRecentFocusOwner, getNormalBounds, getRootPane, getTitle, getUI, getUIClassID, getWarningString, hide, isClosable, isClosed, isFocusCycleRoot, isIcon, isIconifiable, isMaximizable, isMaximum, isResizable, isRootPaneCheckingEnabled, isSelected, moveToBack, moveToFront, pack, paintComponent, paramString, remove, removeInternalFrameListener, reshape, restoreSubcomponentFocus, setClosable, setClosed, setContentPane, setCursor, setDefaultCloseOperation, setDesktopIcon, setFocusCycleRoot, setFrameIcon, setGlassPane, setIcon, setIconifiable, setJMenuBar, setLayer, setLayer, setLayeredPane, setLayout, setMaximizable, setMaximum, setMenuBar, setNormalBounds, setResizable, setRootPane, setRootPaneCheckingEnabled, setSelected, setTitle, setUI, show, toBack, toFront, updateUIMethods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, updateMethods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, transferFocusDownCycle, validate, validateTreeMethods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycleMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface edu.cnu.mdi.sim.ISimulationHost
cancelSimulation, getSimulationContext, getSimulationState, pauseSimulation, resumeSimulation, runSimulation, startSimulation, stopSimulationMethods inherited from interface edu.cnu.mdi.sim.SimulationListener
onCompleted
-
Constructor Details
-
AizawaDemoView
public AizawaDemoView()Construct the Aizawa demo view using its canonical default properties. -
AizawaDemoView
Construct the Aizawa demo view using the supplied properties.- Parameters:
props- the properties used to configure the view
-
AizawaDemoView
Legacy compatibility constructor using alternating key/value pairs.Newer code should prefer
AizawaDemoView()for the default demo view orAizawaDemoView(Properties)for customized construction.- Parameters:
keyVals- alternating property key/value pairs
-
-
Method Details
-
getConfiguration
Get the lazy-creation configuration for this view.- Returns:
- the view configuration for lazy creation
-
getViewInfo
public edu.cnu.mdi.view.AbstractViewInfo getViewInfo()- Overrides:
getViewInfoin classedu.cnu.mdi.view.BaseView
-
make3DPanel
protected Panel3D make3DPanel(float angleX, float angleY, float angleZ, float xDist, float yDist, float zDist) Description copied from class:PlainView3DCreate the 3D panel for this view.- Specified by:
make3DPanelin classPlainView3D- Parameters:
angleX- initial x rotation angleangleY- initial y rotation angleangleZ- initial z rotation anglexDist- initial camera x offsetyDist- initial camera y offsetzDist- initial camera z offset- Returns:
- the created 3D panel
-
createAizawaView
Compatibility factory method to create the demo view with its standard title and layout.Newer code should generally prefer
new AizawaDemoView().- Returns:
- a new default-configured Aizawa demo view
-
onSimulationReady
protected void onSimulationReady(edu.cnu.mdi.sim.SimulationContext ctx) Description copied from class:SimulationView3DCalled when the simulation becomes ready to run.- Overrides:
onSimulationReadyin classSimulationView3D- Parameters:
ctx- simulation context
-
onSimulationRun
protected void onSimulationRun(edu.cnu.mdi.sim.SimulationContext ctx) Description copied from class:SimulationView3DCalled when the simulation starts or restarts running.- Overrides:
onSimulationRunin classSimulationView3D- Parameters:
ctx- simulation context
-
onSimulationRefresh
protected void onSimulationRefresh(edu.cnu.mdi.sim.SimulationContext ctx) Description copied from class:SimulationView3DCalled on every engine refresh request, immediately before this class repaints or refreshes the 3D panel in response.- Overrides:
onSimulationRefreshin classSimulationView3D- Parameters:
ctx- simulation context
-
onSimulationStateChange
protected void onSimulationStateChange(edu.cnu.mdi.sim.SimulationContext ctx, edu.cnu.mdi.sim.SimulationState from, edu.cnu.mdi.sim.SimulationState to, String reason) Description copied from class:SimulationView3DCalled whenever the simulation transitions between states, after any pending engine reset triggered bySimulationView3D.requestEngineReset(java.util.function.Supplier<edu.cnu.mdi.sim.Simulation>, java.util.function.Consumer<edu.cnu.mdi.sim.SimulationEngine>, boolean, boolean)has been applied.- Overrides:
onSimulationStateChangein classSimulationView3D- Parameters:
ctx- simulation contextfrom- the state being leftto- the state being enteredreason- human-readable reason for the transition, ornull
-
getSimulation
Get the simulation instance with the correct type.- Returns:
- the Aizawa simulation
-
getModel
Get the model instance with the correct type.- Returns:
- the Aizawa model
-
getPhasePanel
Get the diagnostics phase plot panel with the correct type.- Returns:
- the phase plot panel
-
requestReset
public void requestReset()Request a reset of the demo back to its default state.This swaps in a newly created simulation and model using the standard engine reset mechanism.
-