# 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`
`getAlpha()`
Gets the eulerian angle a around the X-axis in decimal degrees and positive counterclockwise (right hand rule).
`double`
`getBeta()`
Gets the eulerian angle b around the Y-axis in decimal degrees and positive counterclockwise (right hand rule).
`double`
`getGamma()`
Gets the eulerian angle g around the Z-axis in decimal degrees and positive counterclockwise (right hand rule).
`void`
```inverseRotateSFCT(ILcdPoint aXYZPoint, ILcd3DEditablePoint aXYZPointOut)```
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.
• ### 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).
• ### 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.
• ### 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).
• ### 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.
• ### 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).
• ### 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`