Directions
FrameTransformations.add_direction!
— Functionadd_direction!(frames, name::Symbol, axesid, funs)
Add a new direction node to frames
.
Inputs
frames
– Target frame systemname
– Direction name, must be unique withinframes
axesid
– ID of the axes the direction is expressed infuns
–DirectionFunctions
object storing the functions to compute the direction and, eventually, its time derivatives. It must match the type and order offrames
.
add_direction!(frames, name::Symbol, axes, fun, δfun=nothing, δ²fun=nothing, δ³fun=nothing)
Add a new direction node to frames
. The orientation of these direction 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 direction vector.δfun
: return a direction vector and its 1st order time derivative.δ²fun
: return a direction vector and its 1st and 2nd order time derivatives.δ³fun
: return a direction vector and its 1st, 2nd and 3rd order time derivatives.
If δfun
, δ²fun
or δ³fun
are not provided, they are computed via automatic differentiation.
It is expected that the input functions and their outputs have the correct signature. This function does not perform any checks on the output types.
FrameTransformations.add_direction_fixed!
— Functionadd_direction_fixed!(frames, name, axes, offset::AbstractVector)
Add a fixed direction to frames
.
FrameTransformations.add_direction_position!
— Functionadd_direction_position!(frames, name::Symbol, origin, target, axes)
Add a direction based on the position vector from origin
to target
in the specified axes
.
FrameTransformations.add_direction_velocity!
— Functionadd_direction_velocity!(frames, name::Symbol, origin, target, axes)
Add a direction based on the velocity vector from origin
to target
in the specified axes
.
FrameTransformations.add_direction_orthogonal!
— Functionadd_direction_orthogonal!(frames, name::Symbol, dir1, dir2)
Add a direction as the cross product between two existing directions (i.e. dir1
and dir2
).
FrameTransformations.add_direction_normalize!
— Functionadd_direction_normalize!(frames, name::Symbol, dir)
Add a direction as the normalized version of dir
.