public final class HelmertTransformation extends Object implements IEquatable<HelmertTransformation>, ImmutableValueType
See the ITRF website for details on how the Helmert transformations are performed.
Constructor and Description |
---|
HelmertTransformation()
Initializes a new instance.
|
HelmertTransformation(Cartesian translation,
Cartesian translationalVelocity,
double scaling,
double scalingRate,
Cartesian rotation,
Cartesian rotationalVelocity)
Initializes a new instance with the specified translational, scaling, and rotational parameters.
|
Modifier and Type | Method and Description |
---|---|
HelmertTransformation |
compose(HelmertTransformation other)
Forms a new
KinematicTransformation as the composition of this transformation and the provided transformation. |
static boolean |
equals(HelmertTransformation left,
HelmertTransformation right)
Returns
true if the two instances are exactly equal. |
boolean |
equals(Object obj)
Indicates whether another object is exactly equal to this instance.
|
boolean |
equalsType(HelmertTransformation other)
Indicates whether another instance of this type is exactly equal to this instance.
|
Cartesian |
getRotation()
Gets the off-diagonal components of the skew-symmetric rotation matrix.
|
Cartesian |
getRotationalVelocity()
Gets the rate of change of the off-diagonal components over time.
|
double |
getScaling()
Gets a small number that is added to one to form the diagonal components
of the skew-symmetric rotation matrix.
|
double |
getScalingRate()
Gets the change in
Scaling (get ) over time. |
Cartesian |
getTranslation()
Gets the relative position vector between the reference frames.
|
Cartesian |
getTranslationalVelocity()
Gets the relative velocity vector between the reference frames.
|
int |
hashCode()
Returns a hash code for this instance, which is suitable for use in hashing algorithms and data structures like a hash table.
|
HelmertTransformation |
invert()
Forms the inverse Helmert transformation.
|
static boolean |
notEquals(HelmertTransformation left,
HelmertTransformation right)
Returns
true if the two instances are not exactly equal. |
Cartesian |
transform(Cartesian position)
Transforms the position observed in the A frame to the B frame.
|
Motion1<Cartesian> |
transform(Motion1<Cartesian> motion)
Transforms the motion observed in the A frame to the B frame.
|
Motion1<Cartesian> |
transform(Motion1<Cartesian> motion,
int order)
Transforms the motion observed in the A frame to the B frame.
|
public HelmertTransformation()
public HelmertTransformation(@Nonnull Cartesian translation, @Nonnull Cartesian translationalVelocity, double scaling, double scalingRate, @Nonnull Cartesian rotation, @Nonnull Cartesian rotationalVelocity)
translation
- The translation.translationalVelocity
- The translational velocity.scaling
- A small number that is added to one to form the diagonal components
of the skew-symmetric rotation matrix.scalingRate
- The change in the scaling
over time.rotation
- The off-diagonal components of the skew-symmetric rotation matrix.rotationalVelocity
- The rate of change of the off-diagonal components over time.@Nonnull public final Cartesian getTranslation()
@Nonnull public final Cartesian getTranslationalVelocity()
public final double getScaling()
public final double getScalingRate()
Scaling
(get
) over time.@Nonnull public final Cartesian getRotation()
@Nonnull public final Cartesian getRotationalVelocity()
@Nonnull public final HelmertTransformation invert()
The inverse computed by simply taking the negative of Translation
(get
), TranslationalVelocity
(get
),
Scaling
(get
), ScalingRate
(get
), Rotation
(get
), and RotationalVelocity
(get
).
@Nonnull public final Cartesian transform(@Nonnull Cartesian position)
position
- The position to transform.@Nonnull public final Motion1<Cartesian> transform(@Nonnull Motion1<Cartesian> motion)
motion
- The motion to transform.@Nonnull public final Motion1<Cartesian> transform(@Nonnull Motion1<Cartesian> motion, int order)
motion
- The motion to transform.order
- The order of highest required derivative. To retrieve just the position, pass 0 for this value.
To retrieve the velocity as well, pass 1. etc.@Nonnull public final HelmertTransformation compose(@Nonnull HelmertTransformation other)
KinematicTransformation
as the composition of this transformation and the provided transformation.
If this transformation represents the transformation between International Terrestrial Reference Frame (ITRF) "B" and
International Terrestrial Reference Frame (ITRF) "C" and the provided transformation represents the transformation between
ITRF "A" and ITRF "B", the result represents the transformation between ITRF "A" and ITRF "C".other
- The transformation between ITRF "A" and ITRF "B".public final boolean equalsType(@Nonnull HelmertTransformation other)
equalsType
in interface IEquatable<HelmertTransformation>
other
- The instance to compare to this instance.true
if other
represents the same value as this instance; otherwise false
.public boolean equals(Object obj)
equals
in class Object
obj
- The object to compare to this instance.true
if obj
is an instance of this type and represents the same value as this instance; otherwise false
.Object.hashCode()
,
HashMap
public int hashCode()
hashCode
in class Object
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)
public static boolean equals(@Nonnull HelmertTransformation left, @Nonnull HelmertTransformation right)
true
if the two instances are exactly equal.left
- The instance to compare to right
.right
- The instance to compare to left
.true
if left
represents the same value as right
; otherwise false
.public static boolean notEquals(@Nonnull HelmertTransformation left, @Nonnull HelmertTransformation right)
true
if the two instances are not exactly equal.left
- The instance to compare to right
.right
- The instance to compare to left
.true
if left
does not represent the same value as right
; otherwise false
.