Class ALcyCameraLinkerFactory

java.lang.Object
com.luciad.lucy.map.cameralinking.ALcyCameraLinkerFactory

public abstract class ALcyCameraLinkerFactory extends Object
This class is used to create a ALcyCameraLinker for a map component, given a type, objects and their models.

The objects are the objects to be tracked by the tracking camera, the models are the models that belong to that object. The amount of objects and models must be the same.

The type is an ID representing the general type of the camera, for example "LookAt" and "LookFrom". There may be multiple ALcyCameraLinkerFactories that can create a camera for a given ID for certain types of Objects and Models, for example there might be a more specialized LookFrom camera available for a specific type of Object.

Note that each concrete implementation of this class should be registered as a service to the back-end, so it can be retrieved and used anywhere to create new tracking camera links.

Since:
9.1
  • Constructor Details

    • ALcyCameraLinkerFactory

      public ALcyCameraLinkerFactory()
      Creates a new ALcyCameraLinkerFactory
  • Method Details

    • canCreateCameraLinker

      public abstract boolean canCreateCameraLinker(ILcyGenericMapComponent<? extends ILcdView,? extends ILcdLayer> aMapComponent, String aType, List<Object> aObjects, List<ILcdModel> aModels)
      Checks whether this camera linker supplier can create a camera linker for the given parameters.
      Parameters:
      aMapComponent - The map component in which the camera linker should link the camera.
      aType - The camera type. See general javadoc of this class.
      aObjects - The objects to track. See general javadoc of this class.
      aModels - The models belonging to the objects. Should have same size as aObjects.
      Returns:
      true if it can create a camera linker, false if not.
    • createCameraLinker

      public abstract ALcyCameraLinker createCameraLinker(ILcyGenericMapComponent<? extends ILcdView,? extends ILcdLayer> aMapComponent, String aType, List<Object> aObjects, List<ILcdModel> aModels)
      Create a camera linker for the given parameters. Can return null.
      Parameters:
      aMapComponent - The map component in which the camera linker should link the camera.
      aType - The camera type. See general javadoc of this class.
      aObjects - The objects to track. See general javadoc of this class.
      aModels - The models belonging to the objects. Should have same size as aObjects.
      Returns:
      The newly created camera linker, or null if #canCreateCameraLinker returned false.