Class TLspPanController

java.lang.Object
com.luciad.view.lightspeed.controller.ALspController
com.luciad.view.lightspeed.controller.navigation.TLspPanController
All Implemented Interfaces:
ILcdAWTEventListener, ILspController

public class TLspPanController extends ALspController
Allows the user to pan a view by clicking and dragging it.

In 3D, the controller navigates around and toward the object that is under the mouse. This allows convenient navigation around tall or air-borne objects. For instance, air tracks or airspaces.

Since:
2012.0
  • Constructor Details

    • TLspPanController

      public TLspPanController()
      Creates a new TLspPanController with a navigation default controller model.
  • Method Details

    • isEnableInertia

      public boolean isEnableInertia()
      Returns whether or not to use inertia when panning the map. Inertia causes the controller to keep panning after releasing the mouse.
      Returns:
      true if this controller has inertia enabled, false otherwise.
      See Also:
    • setEnableInertia

      public void setEnableInertia(boolean aEnableInertia)
      Enables or disables inertia when panning the map. Inertia causes the controller to keep panning after releasing the mouse.
      Parameters:
      aEnableInertia - true if this controller should enable inertia, false otherwise.
      See Also:
    • isGreedy

      public boolean isGreedy()
      Returns whether this controller is greedy. When greedy, the controller avoids user interaction other than panning at the same time. To achieve this, it swallows input events during panning and sends out fake mouse released events to the next controller in the chain to cancel other ongoing interactions.

      By default, this method returns false

      Returns:
      true if this controller is greedy, false otherwise.
      Since:
      2026.0.03
      See Also:
    • setGreedy

      public void setGreedy(boolean aGreedy)
      Enables or disables whether this controller should be greedy. A greedy controller avoids user interaction other than panning at the same time.
      Parameters:
      aGreedy - true if this controller should be greedy, false otherwise.
      Since:
      2026.0.03
      See Also:
    • setPanSpotIcon

      public void setPanSpotIcon(ILcdAnchoredIcon aPanSpotIcon)
      Returns the icon that is used to denote using which spot the view is panning. Note that this icon is only visualized when the view is painted in 3D.
      Parameters:
      aPanSpotIcon - The icon which will be used to denote using which spot the view is panning.
      See Also:
    • getCursorWhilePanning

      public Cursor getCursorWhilePanning()
      Returns the cursor to be used while panning (while the triggering mouse button is pressed).
      Returns:
      the pan cursor
    • setCursorWhilePanning

      public void setCursorWhilePanning(Cursor aCursor)
      Sets the cursor to be used while panning (while the triggering mouse button is pressed).
      Parameters:
      aCursor - the new cursor to use.
      See Also:
    • getPanSpotIcon

      public ILcdAnchoredIcon getPanSpotIcon()
      Returns the icon that is used to denote using which spot the view is panning. Note that this icon is only visualized when the view is painted in 3D.
      Returns:
      The icon that is used to denote using which spot the view is panning.
      See Also:
    • startInteraction

      public void startInteraction(ILspView aView)
      Description copied from class: ALspController
      Called to start interacting with the controller. This automatically happens when setting the controller on the view using ILspView.setController(com.luciad.view.lightspeed.controller.ILspController).

      This implementation sends out a status event based on the short description. It also calls startInteraction on the next controller. Override startInteractionImpl if you want to add your own behavior to this controller.

      Specified by:
      startInteraction in interface ILspController
      Overrides:
      startInteraction in class ALspController
      Parameters:
      aView - the view the controller operates on
    • terminateInteraction

      public void terminateInteraction(ILspView aView)
      Description copied from class: ALspController
      Terminates interaction with this controller. This automatically happens when setting a different controller on the view using ILspView.setController(com.luciad.view.lightspeed.controller.ILspController).

      This implementation also calls terminateInteraction on the next controller. Override terminateInteractionImpl if you want to add your own behavior to this controller.

      Specified by:
      terminateInteraction in interface ILspController
      Overrides:
      terminateInteraction in class ALspController
      Parameters:
      aView - the view the controller was operating on
    • handleAWTEvent

      public void handleAWTEvent(AWTEvent aAWTEvent)
      Description copied from class: ALspController
      Delegates to handleAWTEventImpl. If that method does not return null, the result is passed on to the next controller in the chain (if one exists). If the controller has a filter that does not accept the event, the event is not delegated and is immediately passed on to the next controller.
      Specified by:
      handleAWTEvent in interface ILcdAWTEventListener
      Overrides:
      handleAWTEvent in class ALspController
      Parameters:
      aAWTEvent - the event to be handled
    • handleAWTEventImpl

      public AWTEvent handleAWTEventImpl(AWTEvent aEvent)
      Description copied from class: ALspController
      Called by handleAWTEvent. Returns null when the controller consumed the event or a partially consumed event when the controller partially consumed the event (which could happen with TLcdTouchEvents). When the controller did not use the given event, it is returned unaltered.
      Specified by:
      handleAWTEventImpl in class ALspController
      Parameters:
      aEvent - the event to be handled.
      Returns:
      null when the input event was consumed, the (possibly modified) input event when it was (partially) consumed.
    • handleFXEventImpl

      public Event handleFXEventImpl(Event aEvent)
      Description copied from class: ALspController
      Called by handleFXEvent. Returns null when the controller consumed the event. When the controller did not use the given event, it is returned unaltered.
      Overrides:
      handleFXEventImpl in class ALspController
      Parameters:
      aEvent - the event to be handled.
      Returns:
      null when the input event was consumed, the (possibly modified) input event when it was (partially) consumed.