org.firstinspires.ftc.robotcore.external.navigation

## Interface VuforiaTrackable

-     public interface VuforiaTrackable

  `VuforiaTrackable` provides access to an individual trackable Vuforia target.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface and Description
    --- | ---
    `static interface` | `VuforiaTrackable.Listener`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `OpenGLMatrix` | `getFtcFieldFromTarget()` Returns the location of the trackable in the FTC Field Coordinate System.
    `VuforiaTrackable.Listener` | `getListener()` Returns the current listener associated with this trackable.
    `OpenGLMatrix` | `getLocation()` Returns the location of the trackable in the FTC Field Coordinate System.
    `java.lang.String` | `getName()` Returns the user-determined name associated with this trackable.
    `VuforiaTrackable` | `getParent()` Returns the parent trackable with which this trackable is associated, if any.
    `VuforiaTrackables` | `getTrackables()` Returns the `VuforiaTrackables` of which this `VuforiaTrackable` is a member
    `java.lang.Object` | `getUserData()` Retreives user data previously associated with this trackable object.
    `void` | `setListener(VuforiaTrackable.Listener listener)` Sets an object that will receive notifications as the `VuforiaTrackable` is tracked and is not tracked.
    `void` | `setLocation(OpenGLMatrix location)` A synonym for `setLocationFtcFieldFromTarget(OpenGLMatrix)`
    `void` | `setLocationFtcFieldFromTarget(OpenGLMatrix ftcFieldFromTarget)` Sets the location of the trackable in the the FTC Field Coordinate System.
    `void` | `setName(java.lang.String name)` Sets a user-determined name associated with this trackable.
    `void` | `setUserData(java.lang.Object object)` Sets user data to be associated with this trackable object.

- - ### Method Detail

    - #### setListener

          void setListener(VuforiaTrackable.Listener listener)

      Sets an object that will receive notifications as the `VuforiaTrackable` is tracked and is not tracked. If no listener is provided, then a default listener is used.
      Parameters:
        `listener` - the object which is to receive tracking notifications regarding this trackable. If this is null, then a default listener is used. Thus, there is always a listener associated with a `VuforiaTrackable`.
      See Also:
        `getListener()`, `VuforiaTrackableDefaultListener`

    - #### getListener

          VuforiaTrackable.Listener getListener()

      Returns the current listener associated with this trackable.
      Returns:
        the current listener associated with this trackable.
      See Also:
        `setListener(Listener)`, `VuforiaTrackableDefaultListener`

    - #### setLocationFtcFieldFromTarget

          void setLocationFtcFieldFromTarget(OpenGLMatrix ftcFieldFromTarget)

      Sets the location of the trackable in the the FTC Field Coordinate System. By default, the location is null, indicating that it is unknown.
      Parameters:
        `ftcFieldFromTarget` - the location of the trackable in the FTC Field Coordinate System. This transformation maps coordinates in the Target Coordinate System to coordinates in the FTC Field Coordinate System.
      See Also:
        `getLocation()`, `VuforiaTrackableDefaultListener.getRobotLocation()`, `setLocation(OpenGLMatrix)`

    - #### setLocation

          void setLocation(OpenGLMatrix location)

      A synonym for `setLocationFtcFieldFromTarget(OpenGLMatrix)`

    - #### getFtcFieldFromTarget

          OpenGLMatrix getFtcFieldFromTarget()

      Returns the location of the trackable in the FTC Field Coordinate System. The returned transformation will map coordinates in the Target Coordinate System to coordinates in the FTC Field Coordinate System.
      Returns:
        the location of the trackable in the FTC Field Coordinate System.
      See Also:
        `setLocationFtcFieldFromTarget(OpenGLMatrix)`, `getLocation()`

    - #### getLocation

          OpenGLMatrix getLocation()

      Returns the location of the trackable in the FTC Field Coordinate System. A synonym for `getFtcFieldFromTarget()`.
      Returns:
        the location of the trackable in the FTC Field Coordinate System.

    - #### setUserData

          void setUserData(java.lang.Object object)

      Sets user data to be associated with this trackable object. The SDK does not internally use this functionality; rather, it is intended as a means by which user code can easily keep track of trackable-specific state.
      Parameters:
        `object` - user data to be associated with this trackable object.
      See Also:
        `getUserData()`

    - #### getUserData

          java.lang.Object getUserData()

      Retreives user data previously associated with this trackable object.
      Returns:
        user data previously associated with this trackable object.
      See Also:
        `setUserData(Object)`

    - #### getTrackables

          VuforiaTrackables getTrackables()

      Returns the `VuforiaTrackables` of which this `VuforiaTrackable` is a member
      Returns:
        the `VuforiaTrackables` of which this `VuforiaTrackable` is a member
      See Also:
        `VuforiaTrackables`

    - #### setName

          void setName(java.lang.String name)

      Sets a user-determined name associated with this trackable. This is mostly useful for debugging.
      Parameters:
        `name` - a user-determined name
      See Also:
        `getName()`, `setUserData(Object)`

    - #### getName

          java.lang.String getName()

      Returns the user-determined name associated with this trackable.
      Returns:
        the user-determined name associated with this trackable.
      See Also:
        `setName(String)`, `VuforiaTrackables.setName(String)`

    - #### getParent

          VuforiaTrackable getParent()

      Returns the parent trackable with which this trackable is associated, if any.
      Returns:
        the parent trackable with which this trackable is associated, if any.