Interface Pose

All Superinterfaces:
Serializable
All Known Implementing Classes:
PoseImpl

public interface Pose extends Serializable
Interface for (Geo)Pose implementations. A pose consists of a position (either geographic or cartesian) and an orientation. Orientation is always provided w.r.t a cartesian reference frame that can be either a topocentric LTP reference frame, or a local engineering reference frame (e.g. platform or sensor frame) This is a complex type.
  • Method Summary

    Modifier and Type
    Method
    Description
     
    Gets the URI of the local frame whose pose is expressed by this object
    Gets the URI of the local tangent plane (LTP) reference frame (topocentric frame).
    double[]
    Gets the orientation coordinates If 3 coordinates are provided, yaw/pitch/roll Euler angles in degrees about the local (rotated) axes z, y, and x, applied in that order, are assumed. If 4 coordinates are provided, unit quaternion coordinates in the order x,y,z,w are assumed.
    double[]
    Gets the position coordinates (2D or 3D)
    Gets the URI of the reference frame with respect to which the pose is provided
    void
    Sets the local frame whose pose is expressed by this object
    void
    Sets the LTP reference frame
    void
    setOrientation(double[] coords)
    Sets the orientation coordinates (3 components for Euler angles, 4 for quaternions)
    void
    setPosition(double[] pos)
    Sets the position coordinates (2D or 3D)
    void
    Sets the pose reference frame
    Convert pose to a geographic location when possible
  • Method Details

    • getReferenceFrame

      String getReferenceFrame()
      Gets the URI of the reference frame with respect to which the pose is provided
      Returns:
      the pose reference frame
    • setReferenceFrame

      void setReferenceFrame(String uri)
      Sets the pose reference frame
      Parameters:
      uri -
    • getLTPReferenceFrame

      String getLTPReferenceFrame()
      Gets the URI of the local tangent plane (LTP) reference frame (topocentric frame). This is only needed if the main reference frame is a geographic or other planetary CRS and orientation is provided relative to the LTP frame.
      Returns:
      the LTP reference frame
    • setLTPReferenceFrame

      void setLTPReferenceFrame(String uri)
      Sets the LTP reference frame
      Parameters:
      uri -
    • getLocalFrame

      String getLocalFrame()
      Gets the URI of the local frame whose pose is expressed by this object
      Returns:
      the pose local frame
    • setLocalFrame

      void setLocalFrame(String uri)
      Sets the local frame whose pose is expressed by this object
      Parameters:
      uri -
    • getPosition

      double[] getPosition()
      Gets the position coordinates (2D or 3D)
      Returns:
      The position coordinates in the order specified by the reference frame
    • setPosition

      void setPosition(double[] pos)
      Sets the position coordinates (2D or 3D)
      Parameters:
      pos - position coordinates in the order specified by the reference frame
    • getOrientation

      double[] getOrientation()
      Gets the orientation coordinates
    • If 3 coordinates are provided, yaw/pitch/roll Euler angles in degrees about the local (rotated) axes z, y, and x, applied in that order, are assumed.
    • If 4 coordinates are provided, unit quaternion coordinates in the order x,y,z,w are assumed.
    • setOrientation

      void setOrientation(double[] coords)
      Sets the orientation coordinates (3 components for Euler angles, 4 for quaternions)
      Parameters:
      pos - euler angles or quaternion coordinates
      See Also:
    • toLocation

      Point toLocation()
      Convert pose to a geographic location when possible
      Returns:
      A point object with coordinates expressed in a geographic coordinate system
    • create

      static PoseImpl.PoseBuilder create()
      Returns:
      a builder to build a new Pose object using the default implementation