Package com.luciad.geometry.cartesian
Interface ILcdXYZRotation
- All Superinterfaces:
Serializable
- All Known Implementing Classes:
TLcdXYZRotation
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
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:
- l0 around Z-axis
- -j0 around Y-axis
- -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 TypeMethodDescriptionboolean
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 toaXYZPoint
results in theILcd3DEditablePoint
aXYZPointOut
.void
rotateSFCT
(ILcdPoint aXYZPoint, ILcd3DEditablePoint aXYZPointOut) Apply the three rotations a, b, and g to the cartesianILcdPoint
aXYZPoint
.void
setAlpha
(double aAlpha) Sets the Eulerian angle a around the X-axis toaAlpha
.void
setBeta
(double aBeta) Sets the Eulerian angle b around the Y-axis toaBeta
.void
setGamma
(double aGamma) Sets the Eulerian angle g around the Z-axis toaGamma
.
-
Method Details
-
setAlpha
void setAlpha(double aAlpha) Sets the Eulerian angle a around the X-axis toaAlpha
. 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 toaBeta
. 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 toaGamma
. 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
Apply the three rotations a, b, and g to the cartesianILcdPoint
aXYZPoint
. The resulting cartesian coordinate isaXYZPointOut
.- Parameters:
aXYZPoint
- the point to be rotated.aXYZPointOut
- the resulting point of the rotation as side effect.
-
inverseRotateSFCT
Application of the 3D inverse rotation toaXYZPoint
results in theILcd3DEditablePoint
aXYZPointOut
.- Parameters:
aXYZPoint
- the point to be rotated.aXYZPointOut
- the resulting point of the rotation as side effect.
-
equals
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.
-