Class ALcyCameraLinker

java.lang.Object
com.luciad.lucy.map.cameralinking.ALcyCameraLinker
All Implemented Interfaces:
ILcdPropertyChangeSource
Direct Known Subclasses:
ALcyLspCameraLinker2D, ALcyLspCameraLinker3D

public abstract class ALcyCameraLinker extends Object implements ILcdPropertyChangeSource
Abstract class for applying and un-applying a tracking camera for the Camera Tracking addon. Implementations should work on a fixed map component.

Implementations of this class should do all that is necessary to set the tracking camera on the view, and/or enable a specialized controller, and be able to revert back to the state before the tracking was enabled. Implementations will typically need to know a list of objects, their models, and a map component.

For workspace support, a ALcyWorkspaceObjectCodec for each ALcyCameraLinker implementation should be created.

An ALcyCameraLinker is created by a ALcyCameraLinkerFactory

Since:
9.1
  • Constructor Details

    • ALcyCameraLinker

      public ALcyCameraLinker()
      Creates a new ALcyCameraLinker
  • Method Details

    • setLinked

      public abstract void setLinked(boolean aLinked)
      Link or unlink the camera.
      Parameters:
      aLinked - Whether or not to link the camera.
    • isLinked

      public abstract boolean isLinked()
      Check if the camera is linked.
      Returns:
      Whether or not the camera is linked.
    • addPropertyChangeListener

      public void addPropertyChangeListener(PropertyChangeListener aListener)
      Description copied from interface: ILcdPropertyChangeSource

      Registers the given PropertyChangeListener to be notified when this object's properties change.

      In case you need to register a listener which keeps a reference to an object with a shorter life-time than this change source, you can use a ALcdWeakPropertyChangeListener instance as property change listener.

      Specified by:
      addPropertyChangeListener in interface ILcdPropertyChangeSource
      Parameters:
      aListener - The listener to be notified
      See Also:
    • addPropertyChangeListener

      public void addPropertyChangeListener(String aProperty, PropertyChangeListener aListener)
      Adds the given listener to the list of listeners, so that it will receive notifications about changes in aProperty.
      Parameters:
      aProperty - The property to watch for changes.
      aListener - The listener to add.
    • removePropertyChangeListener

      public void removePropertyChangeListener(PropertyChangeListener aListener)
      Description copied from interface: ILcdPropertyChangeSource

      De-registers the given PropertyChangeListener from receiving property change events for this object.

      If the listener was added more than once, it will be notified one less time after being removed. If the listener is null, or was never added, no exception is thrown and no action is taken.

      Specified by:
      removePropertyChangeListener in interface ILcdPropertyChangeSource
      Parameters:
      aListener - the listener that should no longer be notified of changes of this object's properties
      See Also:
    • removePropertyChangeListener

      public void removePropertyChangeListener(String aProperty, PropertyChangeListener aListener)
      Removes the given listener for the given property, so that it no longer receives those change events.
      Parameters:
      aProperty - The property to stop listening to.
      aListener - The listener to remove.
    • firePropertyChange

      protected void firePropertyChange(String aProperty, Object aOldValue, Object aNewValue)
      Fires the given event to the associated listeners.
      Parameters:
      aProperty - The property that was changed.
      aOldValue - The old value.
      aNewValue - The new value.