Points

FrameTransformations.add_point!Function
add_point!(frames, name, id, axesid, class, funs, parentid=nothing)

Create and add a new point node name to frames based on the input parameters.

Inputs

  • frames – Target frame system
  • name – Point name, must be unique within frames
  • id – Point ID, must be unique within frames
  • axesid – ID of the axes in which the state vector of the point is expressed.
  • class – Point class.
  • funsFramePointFunctions object storing the functions to update the state vectors of the point. It must match the type and order of frames
  • parentid – NAIF ID of the parent point. Not required only for the root point.
Warning

This is a low-level function and is NOT meant to be directly used. Instead, to add a point to the frame system, see add_point_dynamical!, add_point_fixedoffset! and add_point_root!.

source
FrameTransformations.add_point_dynamical!Function
add_point_dynamical!(frames, name, id, parent, axes, fun, δfun=nothing, δ²fun=nothing, δ³fun=nothing)

Add point as a time point to frames. The state vector for these points depends only on time and is computed through the custom functions provided by the user.

The input functions must accept only time as argument and their outputs must be as follows:

  • fun: return a 3-elements vector: position
  • δfun: return a 6-elements vector: position and velocity
  • δ²fun: return a 9-elements vector: position, velocity and acceleration
  • δ³fun: return a 12-elements vector: position, velocity, acceleration and jerk

If δfun, δ²fun or δ³fun are not provided, they are computed with automatic differentiation.

Warning

It is expected that the input functions and their ouputs have the correct signature. This function does not perform any checks on whether the returned vectors have the appropriate dimensions.

source
FrameTransformations.add_point_fixedoffset!Function
add_point_fixedoffset!(frames, name, id, parent, axes, offset::AbstractVector)

Add point as a fixed-offset point to frames. Fixed points are those whose positions have a constant offset with respect their parent points in the given set of axes. Thus, points eligible for this class must have null velocity and acceleration with respect to parent.

source
FrameTransformations.add_point_ephemeris!Function
add_point_ephemeris!(frames::FrameSystem{O, N}, eph::AbstractEphemerisProvider, 
    name::Symbol, id::Int) where {O, N}

Add a point coming from an AbstractEphemerisProvider subtype. The point is identifies by the id and a have a user defined name.

Warning

This is an interface only, concrete subtypes of AbstractEphemerisProvider requires an proper implementation.

source
add_point_ephemeris!(frames, eph::AbstractEphemerisProvider, book::Dict{Int, Symbol})

Add all points found in the eph and using id-names relationships specified in book.

source
FrameTransformations.add_point_surface!Function
add_point_surface!(frames, name::Symbol, pointid::Int, parentid::Int, axesid::Int, 
    λ::Number, ϕ::Number, R::Number, f::Number=0.0, h::Number=0.0)

Add point to frames as a fixed point on the surface of the parent point body. The relative position is specified by the longitude λ, the geodetic latitude ϕ, the reference radius of the ellipsoid R and its flattening f. The altitude over the reference surface of the ellipsoid h defaults to 0.

Warning

Axes used here must be a set of body-fixed reference axes for the body represented by parentid. This is under user resposibility.

source