public interface ILcdXYZRotation extends Serializable
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.
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:
Note that for the assigned cartesian coordinate axes to an ellipsoid angles are measured:
Modifier and Type | Method and 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 . |
void setAlpha(double aAlpha)
aAlpha
.
The angle is in decimal degrees and positive counterclockwise (right hand rule).aAlpha
- the Eulerian angle a around the X-axis.getAlpha()
double getAlpha()
setAlpha(double)
void setBeta(double aBeta)
aBeta
.
The angle is in decimal degrees and positive counterclockwise (right hand rule).aBeta
- the Eulerian angle b around the Y-axis.getBeta()
double getBeta()
setBeta(double)
void setGamma(double aGamma)
aGamma
.
The angle is in decimal degrees and positive counterclockwise (right hand rule).aGamma
- the Eulerian angle g around the Z-axis.getGamma()
double getGamma()
setGamma(double)
void rotateSFCT(ILcdPoint aXYZPoint, ILcd3DEditablePoint aXYZPointOut)
ILcdPoint
aXYZPoint
.
The resulting cartesian coordinate is aXYZPointOut
.aXYZPoint
- the point to be rotated.aXYZPointOut
- the resulting point of the rotation as side effect.void inverseRotateSFCT(ILcdPoint aXYZPoint, ILcd3DEditablePoint aXYZPointOut)
aXYZPoint
results in the ILcd3DEditablePoint
aXYZPointOut
.aXYZPoint
- the point to be rotated.aXYZPointOut
- the resulting point of the rotation as side effect.