com.threerings.tudey.tools
Class BaseMover

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by com.threerings.tudey.tools.EditorTool
                      extended by com.threerings.tudey.tools.BaseMover
All Implemented Interfaces:
Compositable, Tickable, TudeySceneModel.Observer, MouseListener, MouseMotionListener, MouseWheelListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible
Direct Known Subclasses:
Mover, Palette

public abstract class BaseMover
extends EditorTool

The base class of Mover and Palette.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class com.threerings.tudey.tools.EditorTool
EditorTool.DirectionalConstraint, EditorTool.Filter
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
protected  float _angle
          The angle about the z axis.
protected  Vector2f _center
          The center of the entries.
protected  SelectionCursor _cursor
          The cursor representing the selection that we're moving.
protected  boolean _cursorVisible
          Whether or not the cursor is in the window.
protected  int _elevation
          The entries' elevation.
protected  TudeySceneModel.Entry[] _entries
          The (untransformed) entries that we're moving.
protected  Vector3f _isect
          Holds the result of an intersection test.
protected  TudeySceneModel.Entry[] _tentries
          The transformed entries.
protected  boolean _tiles
          Whether or not any of the entries are tiles (in which case we must stay aligned).
protected  Transform3D _transform
          The selection transform.
protected  ArrayList<TudeySceneModel.Entry> _underneath
          Holds the entries intersecting the cursor.
 
Fields inherited from class com.threerings.tudey.tools.EditorTool
_button, _editor, _msgs, _pick, _scene, FINE_ROTATION_INCREMENT
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
BaseMover(SceneEditor editor)
          Creates the base mover tool.
 
Method Summary
 void calculateElevation(int minElevation, int maxElevation)
          Calculates the elevation.
 void clear()
          Clears out anything being moved.
 void composite()
          Adds this object's Dependencys and Enqueueables to the compositor in preparation for rendering.
 void init()
          Initializes the tool after the renderer has been initialized.
 void mousePressed(MouseEvent event)
           
 void mouseWheelMoved(MouseWheelEvent event)
           
 void move(TudeySceneModel.Entry... entries)
          Requests to start moving the specified entries.
protected  TudeySceneModel.Entry[] placeEntries()
          Places the transformed entries in the scene.
 void tick(float elapsed)
          Updates the state of this object based on the elapsed time in seconds.
protected  TudeySceneModel.Entry[] transform(TudeySceneModel.Entry[] entries, Transform3D transform)
          Transforms the supplied entries, returning a new entry array containing the results.
protected  void updateCursor()
          Updates the entry transform and cursor visibility based on the location of the mouse cursor.
 
Methods inherited from class com.threerings.tudey.tools.EditorTool
activate, allowsMouseCamera, deactivate, entryAdded, entryRemoved, entryUpdated, getMousePlaneIntersection, mouseClicked, mouseDragged, mouseEntered, mouseExited, mouseMoved, mouseReleased, sceneChanged, setButton
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods 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, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, 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, reshape, 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, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods 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, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

_cursor

protected SelectionCursor _cursor
The cursor representing the selection that we're moving.


_entries

protected TudeySceneModel.Entry[] _entries
The (untransformed) entries that we're moving.


_tentries

protected TudeySceneModel.Entry[] _tentries
The transformed entries.


_tiles

protected boolean _tiles
Whether or not any of the entries are tiles (in which case we must stay aligned).


_center

protected Vector2f _center
The center of the entries.


_elevation

protected int _elevation
The entries' elevation.


_transform

protected Transform3D _transform
The selection transform.


_cursorVisible

protected boolean _cursorVisible
Whether or not the cursor is in the window.


_angle

protected float _angle
The angle about the z axis.


_isect

protected Vector3f _isect
Holds the result of an intersection test.


_underneath

protected ArrayList<TudeySceneModel.Entry> _underneath
Holds the entries intersecting the cursor.

Constructor Detail

BaseMover

public BaseMover(SceneEditor editor)
Creates the base mover tool.

Method Detail

clear

public void clear()
Clears out anything being moved.


move

public void move(TudeySceneModel.Entry... entries)
Requests to start moving the specified entries.


init

public void init()
Description copied from class: EditorTool
Initializes the tool after the renderer has been initialized.

Overrides:
init in class EditorTool

tick

public void tick(float elapsed)
Description copied from interface: Tickable
Updates the state of this object based on the elapsed time in seconds.

Specified by:
tick in interface Tickable
Overrides:
tick in class EditorTool

composite

public void composite()
Description copied from interface: Compositable
Adds this object's Dependencys and Enqueueables to the compositor in preparation for rendering.

Specified by:
composite in interface Compositable
Overrides:
composite in class EditorTool

mousePressed

public void mousePressed(MouseEvent event)
Specified by:
mousePressed in interface MouseListener
Overrides:
mousePressed in class EditorTool

mouseWheelMoved

public void mouseWheelMoved(MouseWheelEvent event)
Specified by:
mouseWheelMoved in interface MouseWheelListener
Overrides:
mouseWheelMoved in class EditorTool

updateCursor

protected void updateCursor()
Updates the entry transform and cursor visibility based on the location of the mouse cursor.


placeEntries

protected TudeySceneModel.Entry[] placeEntries()
Places the transformed entries in the scene.

Returns:
an array containing the entries as placed.

transform

protected TudeySceneModel.Entry[] transform(TudeySceneModel.Entry[] entries,
                                            Transform3D transform)
Transforms the supplied entries, returning a new entry array containing the results.


calculateElevation

public void calculateElevation(int minElevation,
                               int maxElevation)
Calculates the elevation.