public static class GeometryTransformer.Advanced extends Object
Constructor and Description 

Advanced() 
Modifier and Type  Method and Description 

static AxesEvaluator 
getTransformationFromPointsAxes(Point fromPoint,
Axes to)
Gets an evaluator that can be used to find the transformation from the axes in which a point is defined to a given axes.

static AxesEvaluator 
getTransformationFromPointsAxes(Point fromPoint,
Axes to,
EvaluatorGroup group)
Gets an evaluator that can be used to find the transformation from the axes in which a point is defined to a given axes.

static AxesEvaluator 
getTransformationFromVectorsAxes(Vector fromVector,
Axes to)
Gets an evaluator that can be used to find the transformation from the axes in which a vector is defined to
a given axes.

static AxesEvaluator 
getTransformationFromVectorsAxes(Vector fromVector,
Axes to,
EvaluatorGroup group)
Gets an evaluator that can be used to find the transformation from the axes in which a vector is defined to
a given axes.

static PointEvaluator 
observePointInOtherPointsFrame(Point pointToObserve,
Point frameOwner)
Gets an evaluator that can be used to observe the
Motion <Cartesian >
of a point at a given JulianDate in the reference frame in which another point is defined. 
static PointEvaluator 
observePointInOtherPointsFrame(Point pointToObserve,
Point frameOwner,
EvaluatorGroup group)
Gets an evaluator that can be used to observe the
Motion <Cartesian >
of a point at a given JulianDate in the reference frame in which another point is defined. 
static VectorEvaluator 
observeVectorInOtherVectorsAxes(Vector vectorToObserve,
Vector axesOwner)

static VectorEvaluator 
observeVectorInOtherVectorsAxes(Vector vectorToObserve,
Vector axesOwner,
EvaluatorGroup group)

static VectorEvaluator 
observeVectorInPointsAxes(Vector vector,
Point point)

static VectorEvaluator 
observeVectorInPointsAxes(Vector vector,
Point point,
EvaluatorGroup group)

static Axes 
unwrap(Axes axes)
Unwraps an
AxesInAxes , AxesInVectorsAxes , or AxesInPointsAxes ,
returning the simple underlying Axes . 
static Point 
unwrap(Point point)

static ReferenceFrame 
unwrap(ReferenceFrame frame)

static Vector 
unwrap(Vector vector)
Unwraps a
VectorInAxes . 
@Nonnull public static VectorEvaluator observeVectorInPointsAxes(@Nonnull Vector vector, @Nonnull Point point)
Motion
<Cartesian
> representation
of a vector in the axes in which a point is defined. Note that this will not account for any
translational effects and the axes are considered to be the vector's basis. So if the vector is representing
a velocity or boresight vector, observing the vector in the axes of a reference frame which is rotating and translating
with respect to the vector's axes will only take into account the relative rotation as if the two basis axes were colocated
when computing the vector's derivatives. To obtain a vector and its derivatives in a different frame,
the vector needs to be created in that frame.vector
 The vector to observepoint
 The vector is observed in the axes in which this point is defined.ArgumentNullException
 Thrown when vector
or point
is null
.@Nonnull public static VectorEvaluator observeVectorInPointsAxes(@Nonnull Vector vector, @Nonnull Point point, @Nonnull EvaluatorGroup group)
Motion
<Cartesian
> representation
of a vector in the axes in which a point is defined. Note that this will not account for any
translational effects and the axes are considered to be the vector's basis. So if the vector is representing
a velocity or boresight vector, observing the vector in the axes of a reference frame which is rotating and translating
with respect to the vector's axes will only take into account the relative rotation as if the two basis axes were colocated
when computing the vector's derivatives. To obtain a vector and its derivatives in a different frame,
the vector needs to be created in that frame.vector
 The vector to observepoint
 The vector is observed in the axes in which this point is defined.group
 The group with which to associate the new evaluator. By grouping evaluators
that are often evaluated at the same Julian dates, common computations can be performed only once
for the entire group instead of multiple times for each evaluator.ArgumentNullException
 Thrown when vector
, point
, or group
is null
.@Nonnull public static AxesEvaluator getTransformationFromPointsAxes(@Nonnull Point fromPoint, @Nonnull Axes to)
Motion
<UnitQuaternion
, Cartesian
>
at a given JulianDate
.fromPoint
 The evaluator finds the transformation from the axes in which this point is defined.to
 The evaluator finds the transformation to this axes.ArgumentNullException
 Thrown when fromPoint
or to
is null
.@Nonnull public static AxesEvaluator getTransformationFromPointsAxes(@Nonnull Point fromPoint, @Nonnull Axes to, @Nonnull EvaluatorGroup group)
Motion
<UnitQuaternion
, Cartesian
>
at a given JulianDate
.fromPoint
 The evaluator finds the transformation from the axes in which this point is defined.to
 The evaluator finds the transformation to this axes.group
 The group with which to associate the new evaluator. By grouping evaluators
that are often evaluated at the same Julian dates, common computations can be performed only once
for the entire group instead of multiple times for each evaluator.ArgumentNullException
 Thrown when fromPoint
, to
, or group
is null
.@Nonnull public static AxesEvaluator getTransformationFromVectorsAxes(@Nonnull Vector fromVector, @Nonnull Axes to)
Motion
<UnitQuaternion
, Cartesian
>
at a given JulianDate
.fromVector
 The evaluator finds the transformation from the axes in which this vector is defined.to
 The evaluator finds the transformation to this axes.ArgumentNullException
 Thrown when fromVector
or to
is null
.@Nonnull public static AxesEvaluator getTransformationFromVectorsAxes(@Nonnull Vector fromVector, @Nonnull Axes to, @Nonnull EvaluatorGroup group)
Motion
<UnitQuaternion
, Cartesian
> at a given JulianDate
.fromVector
 The evaluator finds the transformation from the axes in which this vector is defined.to
 The evaluator finds the transformation to this axes.group
 The group with which to associate the new evaluator. By grouping evaluators
that are often evaluated at the same Julian dates, common computations can be performed only once
for the entire group instead of multiple times for each evaluator.ArgumentNullException
 Thrown when fromVector
, to
, or group
is null
.@Nonnull public static PointEvaluator observePointInOtherPointsFrame(@Nonnull Point pointToObserve, @Nonnull Point frameOwner)
Motion
<Cartesian
>
of a point at a given JulianDate
in the reference frame in which another point is defined.pointToObserve
 The point to observe.frameOwner
 The point is observed in the reference frame in which this point is defined.ArgumentNullException
 Thrown when pointToObserve
or frameOwner
is null
.@Nonnull public static PointEvaluator observePointInOtherPointsFrame(@Nonnull Point pointToObserve, @Nonnull Point frameOwner, @Nonnull EvaluatorGroup group)
Motion
<Cartesian
>
of a point at a given JulianDate
in the reference frame in which another point is defined.pointToObserve
 The point to observe.frameOwner
 The point is observed in the reference frame in which this point is defined.group
 The group with which to associate the new evaluator. By grouping evaluators
that are often evaluated at the same Julian dates, common computations can be performed only once
for the entire group instead of multiple times for each evaluator.ArgumentNullException
 Thrown when pointToObserve
, frameOwner
, or group
is null
.@Nonnull public static VectorEvaluator observeVectorInOtherVectorsAxes(@Nonnull Vector vectorToObserve, @Nonnull Vector axesOwner)
Motion
<Cartesian
> of a vector
in the axes in which another vector is defined. Note that this will not account for any
translational effects and the axes are considered to be the vector's basis. So if the vector is representing
a velocity or boresight vector, observing the vector in the axes of a reference frame which is rotating and translating
with respect to the vector's axes will only take into account the relative rotation as if the two basis axes were colocated
when computing the vector's derivatives. To obtain a vector and its derivatives in a different frame,
the vector needs to be created in that frame.vectorToObserve
 The vector to observe.axesOwner
 The vector is observed in the axes in which this vector is defined.ArgumentNullException
 Thrown when vectorToObserve
or axesOwner
is null
.@Nonnull public static VectorEvaluator observeVectorInOtherVectorsAxes(@Nonnull Vector vectorToObserve, @Nonnull Vector axesOwner, @Nonnull EvaluatorGroup group)
Motion
<Cartesian
> of a vector
in the axes in which another vector is defined. Note that this will not account for any
translational effects and the axes are considered to be the vector's basis. So if the vector is representing
a velocity or boresight vector, observing the vector in the axes of a reference frame which is rotating and translating
with respect to the vector's axes will only take into account the relative rotation as if the two basis axes were colocated
when computing the vector's derivatives. To obtain a vector and its derivatives in a different frame,
the vector needs to be created in that frame.vectorToObserve
 The vector to observe.axesOwner
 The vector is observed in the axes in which this vector is defined.group
 The group with which to associate the new evaluator. By grouping evaluators
that are often evaluated at the same Julian dates, common computations can be performed only once
for the entire group instead of multiple times for each evaluator.ArgumentNullException
 Thrown when vectorToObserve
, axesOwner
, or group
is null
.public static Axes unwrap(Axes axes)
AxesInAxes
, AxesInVectorsAxes
, or AxesInPointsAxes
,
returning the simple underlying Axes
. If the specified axes
is not
one of these types, it is returned unmodified.axes
 The axes to unwrap.public static Point unwrap(Point point)
PointInReferenceFrame
or PointInPointsFrame
,
returning the simple underlying Point
. If the specified point
is not one of these types, it is returned unmodified.point
 The point to unwrap.public static Vector unwrap(Vector vector)
VectorInAxes
. VectorInPointsAxes
, or VectorInVectorsAxes
,
returning the simple underlying Vector
. If the specified vector
is not one of these types, it is returned unmodified.vector
 The vector to unwrap.@Nonnull public static ReferenceFrame unwrap(@Nonnull ReferenceFrame frame)
Origin
(get
/ set
) and Axes
(get
/ set
) of
a ReferenceFrame
, returning a reference frame composed of the simple underlying
Point
and Axes
.frame
 The reference frame to unwrap.ArgumentNullException
 Thrown when frame
is null
.