Interface ILcdXYZRotation

All Superinterfaces:
Serializable
All Known Implementing Classes:
TLcdXYZRotation

public interface ILcdXYZRotation extends Serializable
An ILcdXYZRotation is a cartesian 3D rotation defined by three Eulerian angles (a, b, g). The angles are in decimal degrees and measured counterclockwise around the X, Y, and Z axes of a cartesian coordinate system.
  • rotation a around the X-axis
  • rotation b around the Y-axis
  • rotation g around the Z-axis
The order of the rotations is important!

For geodetic projections with an origin of the projection (l0,j0) and with an oblique central meridianin an azimuthal direction Az the rotations are applied in following order:

  1. l0 around Z-axis
  2. -j0 around Y-axis
  3. -Az around X-axis

Note that for the assigned cartesian coordinate axes to an ellipsoid angles are measured:

  • l0 is positive counterclockwise
  • j0 is positive clockwise
  • Az is positive clockwise and measured from the north
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    equals(Object aXYZRotation)
    Two 3D rotations are equal if they have the same rotation angles around the three axes and if they are applied in the same order.
    double
    Gets the eulerian angle a around the X-axis in decimal degrees and positive counterclockwise (right hand rule).
    double
    Gets the eulerian angle b around the Y-axis in decimal degrees and positive counterclockwise (right hand rule).
    double
    Gets the eulerian angle g around the Z-axis in decimal degrees and positive counterclockwise (right hand rule).
    void
    Application of the 3D inverse rotation to aXYZPoint results in the ILcd3DEditablePoint aXYZPointOut.
    void
    rotateSFCT(ILcdPoint aXYZPoint, ILcd3DEditablePoint aXYZPointOut)
    Apply the three rotations a, b, and g to the cartesian ILcdPoint aXYZPoint.
    void
    setAlpha(double aAlpha)
    Sets the Eulerian angle a around the X-axis to aAlpha.
    void
    setBeta(double aBeta)
    Sets the Eulerian angle b around the Y-axis to aBeta.
    void
    setGamma(double aGamma)
    Sets the Eulerian angle g around the Z-axis to aGamma.
  • Method Details

    • setAlpha

      void setAlpha(double aAlpha)
      Sets the Eulerian angle a around the X-axis to aAlpha. The angle is in decimal degrees and positive counterclockwise (right hand rule).
      Parameters:
      aAlpha - the Eulerian angle a around the X-axis.
      See Also:
    • getAlpha

      double getAlpha()
      Gets the eulerian angle a around the X-axis in decimal degrees and positive counterclockwise (right hand rule).
      Returns:
      the eulerian angle a around the X-axis in decimal degrees and positive counterclockwise (right hand rule).
      See Also:
    • setBeta

      void setBeta(double aBeta)
      Sets the Eulerian angle b around the Y-axis to aBeta. The angle is in decimal degrees and positive counterclockwise (right hand rule).
      Parameters:
      aBeta - the Eulerian angle b around the Y-axis.
      See Also:
    • getBeta

      double getBeta()
      Gets the eulerian angle b around the Y-axis in decimal degrees and positive counterclockwise (right hand rule).
      Returns:
      the eulerian angle b around the Y-axis in decimal degrees and positive counterclockwise (right hand rule).
      See Also:
    • setGamma

      void setGamma(double aGamma)
      Sets the Eulerian angle g around the Z-axis to aGamma. The angle is in decimal degrees and positive counterclockwise (right hand rule).
      Parameters:
      aGamma - the Eulerian angle g around the Z-axis.
      See Also:
    • getGamma

      double getGamma()
      Gets the eulerian angle g around the Z-axis in decimal degrees and positive counterclockwise (right hand rule).
      Returns:
      the eulerian angle g around the Z-axis in decimal degrees and positive counterclockwise (right hand rule).
      See Also:
    • rotateSFCT

      void rotateSFCT(ILcdPoint aXYZPoint, ILcd3DEditablePoint aXYZPointOut)
      Apply the three rotations a, b, and g to the cartesian ILcdPoint aXYZPoint. The resulting cartesian coordinate is aXYZPointOut.
      Parameters:
      aXYZPoint - the point to be rotated.
      aXYZPointOut - the resulting point of the rotation as side effect.
    • inverseRotateSFCT

      void inverseRotateSFCT(ILcdPoint aXYZPoint, ILcd3DEditablePoint aXYZPointOut)
      Application of the 3D inverse rotation to aXYZPoint results in the ILcd3DEditablePoint aXYZPointOut.
      Parameters:
      aXYZPoint - the point to be rotated.
      aXYZPointOut - the resulting point of the rotation as side effect.
    • equals

      boolean equals(Object aXYZRotation)
      Two 3D rotations are equal if they have the same rotation angles around the three axes and if they are applied in the same order.
      Overrides:
      equals in class Object