Magnum::Trade::AnimationTrackData class

Animation track data.

Convenience type for populating AnimationData. Has no accessors, as the data are then accessible through AnimationData APIs.

Constructors, destructors, conversion operators

AnimationTrackData() explicit noexcept
Default constructor.
AnimationTrackData(AnimationTrackTarget targetName, UnsignedLong target, AnimationTrackType type, AnimationTrackType resultType, const Containers::StridedArrayView1D<const Float>& keys, const Containers::StridedArrayView1D<const void>& values, Animation::Interpolation interpolation, Animation::Extrapolation before, Animation::Extrapolation after) explicit noexcept new in Git master
Type-erased constructor with generic interpolation behavior.
AnimationTrackData(AnimationTrackTarget targetName, UnsignedLong target, AnimationTrackType type, const Containers::StridedArrayView1D<const Float>& keys, const Containers::StridedArrayView1D<const void>& values, Animation::Interpolation interpolation, Animation::Extrapolation before, Animation::Extrapolation after) explicit noexcept new in Git master
AnimationTrackData(AnimationTrackTarget targetName, UnsignedLong target, AnimationTrackType type, AnimationTrackType resultType, const Containers::StridedArrayView1D<const Float>& keys, const Containers::StridedArrayView1D<const void>& values, Animation::Interpolation interpolation, Animation::Extrapolation extrapolation = Animation::Extrapolation::Constant) explicit noexcept new in Git master
AnimationTrackData(AnimationTrackTarget targetName, UnsignedLong target, AnimationTrackType type, const Containers::StridedArrayView1D<const Float>& keys, const Containers::StridedArrayView1D<const void>& values, Animation::Interpolation interpolation, Animation::Extrapolation extrapolation = Animation::Extrapolation::Constant) explicit noexcept new in Git master
AnimationTrackData(AnimationTrackTarget targetName, UnsignedLong target, AnimationTrackType type, AnimationTrackType resultType, const Containers::StridedArrayView1D<const Float>& keys, const Containers::StridedArrayView1D<const void>& values, Animation::Interpolation interpolation, void(*)() interpolator, Animation::Extrapolation before, Animation::Extrapolation after) explicit noexcept new in Git master
Type-erased constructor with both generic and custom interpolator.
AnimationTrackData(AnimationTrackTarget targetName, UnsignedLong target, AnimationTrackType type, const Containers::StridedArrayView1D<const Float>& keys, const Containers::StridedArrayView1D<const void>& values, Animation::Interpolation interpolation, void(*)() interpolator, Animation::Extrapolation before, Animation::Extrapolation after) explicit noexcept new in Git master
AnimationTrackData(AnimationTrackTarget targetName, UnsignedLong target, AnimationTrackType type, AnimationTrackType resultType, const Containers::StridedArrayView1D<const Float>& keys, const Containers::StridedArrayView1D<const void>& values, Animation::Interpolation interpolation, void(*)() interpolator, Animation::Extrapolation extrapolation = Animation::Extrapolation::Constant) explicit noexcept new in Git master
AnimationTrackData(AnimationTrackTarget targetName, UnsignedLong target, AnimationTrackType type, const Containers::StridedArrayView1D<const Float>& keys, const Containers::StridedArrayView1D<const void>& values, Animation::Interpolation interpolation, void(*)() interpolator, Animation::Extrapolation extrapolation = Animation::Extrapolation::Constant) explicit noexcept new in Git master
AnimationTrackData(AnimationTrackTarget targetName, UnsignedLong target, AnimationTrackType type, AnimationTrackType resultType, const Containers::StridedArrayView1D<const Float>& keys, const Containers::StridedArrayView1D<const void>& values, void(*)() interpolator, Animation::Extrapolation before, Animation::Extrapolation after) explicit noexcept new in Git master
Type-erased constructor with custom interpolator.
AnimationTrackData(AnimationTrackTarget targetName, UnsignedLong target, AnimationTrackType type, const Containers::StridedArrayView1D<const Float>& keys, const Containers::StridedArrayView1D<const void>& values, void(*)() interpolator, Animation::Extrapolation before, Animation::Extrapolation after) explicit noexcept new in Git master
AnimationTrackData(AnimationTrackTarget targetName, UnsignedLong target, AnimationTrackType type, AnimationTrackType resultType, const Containers::StridedArrayView1D<const Float>& keys, const Containers::StridedArrayView1D<const void>& values, void(*)() interpolator, Animation::Extrapolation extrapolation = Animation::Extrapolation::Constant) explicit noexcept new in Git master
AnimationTrackData(AnimationTrackTarget targetName, UnsignedLong target, AnimationTrackType type, const Containers::StridedArrayView1D<const Float>& keys, const Containers::StridedArrayView1D<const void>& values, void(*)() interpolator, Animation::Extrapolation extrapolation = Animation::Extrapolation::Constant) explicit noexcept new in Git master
AnimationTrackData(AnimationTrackType type, AnimationTrackType resultType, AnimationTrackTarget targetName, UnsignedLong target, const Animation::TrackViewStorage<const Float>& view) deprecated in Git master explicit noexcept
Type-erased constructor.
AnimationTrackData(AnimationTrackType type, AnimationTrackTarget targetName, UnsignedLong target, const Animation::TrackViewStorage<const Float>& view) deprecated in Git master explicit noexcept
template<class V, class R = Animation::ResultOf<V>>
AnimationTrackData(AnimationTrackTarget targetName, UnsignedLong target, const Containers::StridedArrayView1D<const Float>& keys, const Containers::StridedArrayView1D<V>& values, Animation::Interpolation interpolation, Animation::Extrapolation before, Animation::Extrapolation after) noexcept new in Git master
Construct with generic interpolation behavior.
template<class V, class R = Animation::ResultOf<V>>
AnimationTrackData(AnimationTrackTarget targetName, UnsignedLong target, const Containers::StridedArrayView1D<const Float>& keys, const Containers::StridedArrayView1D<V>& values, Animation::Interpolation interpolation, Animation::Extrapolation extrapolation = Animation::Extrapolation::Constant) noexcept new in Git master
template<class V, class R = Animation::ResultOf<V>>
AnimationTrackData(AnimationTrackTarget targetName, UnsignedLong target, const Containers::StridedArrayView1D<const Float>& keys, const Containers::StridedArrayView1D<V>& values, Animation::Interpolation interpolation, R(*)(const typename std::remove_const<V>::type&, const typename std::remove_const<V>::type&, Float) interpolator, Animation::Extrapolation before, Animation::Extrapolation after) noexcept new in Git master
Construct with both generic and custom interpolator.
template<class V, class R = Animation::ResultOf<V>>
AnimationTrackData(AnimationTrackTarget targetName, UnsignedLong target, const Containers::StridedArrayView1D<const Float>& keys, const Containers::StridedArrayView1D<V>& values, Animation::Interpolation interpolation, R(*)(const typename std::remove_const<V>::type&, const typename std::remove_const<V>::type&, Float) interpolator, Animation::Extrapolation extrapolation = Animation::Extrapolation::Constant) noexcept new in Git master
template<class V, class R = Animation::ResultOf<V>>
AnimationTrackData(AnimationTrackTarget targetName, UnsignedLong target, const Containers::StridedArrayView1D<const Float>& keys, const Containers::StridedArrayView1D<V>& values, R(*)(const typename std::remove_const<V>::type&, const typename std::remove_const<V>::type&, Float) interpolator, Animation::Extrapolation before, Animation::Extrapolation after) noexcept new in Git master
Construct with custom interpolator.
template<class V, class R = Animation::ResultOf<V>>
AnimationTrackData(AnimationTrackTarget targetName, UnsignedLong target, const Containers::StridedArrayView1D<const Float>& keys, const Containers::StridedArrayView1D<V>& values, R(*)(const typename std::remove_const<V>::type&, const typename std::remove_const<V>::type&, Float) interpolator, Animation::Extrapolation extrapolation = Animation::Extrapolation::Constant) noexcept new in Git master
template<class V, class R = Animation::ResultOf<V>>
AnimationTrackData(AnimationTrackTarget targetName, UnsignedLong target, const Animation::TrackView<const Float, const V, R>& view) explicit noexcept new in 2020.06
Construct from a track view.

Public functions

auto type() const -> AnimationTrackType new in Git master
Value type.
auto resultType() const -> AnimationTrackType new in Git master
Result type.
auto targetName() const -> AnimationTrackTarget new in Git master
Track target name.
auto target() const -> UnsignedLong new in Git master
Track target ID.
auto track() const -> Animation::TrackViewStorage<const Float> new in Git master
Type-erased Animation::TrackView instance.

Function documentation

Magnum::Trade::AnimationTrackData::AnimationTrackData() explicit noexcept

Default constructor.

Leaves contents at unspecified values. Provided as a convenience for initialization of the track array for AnimationData, expected to be replaced with concrete values later.

Magnum::Trade::AnimationTrackData::AnimationTrackData(AnimationTrackTarget targetName, UnsignedLong target, AnimationTrackType type, AnimationTrackType resultType, const Containers::StridedArrayView1D<const Float>& keys, const Containers::StridedArrayView1D<const void>& values, Animation::Interpolation interpolation, Animation::Extrapolation before, Animation::Extrapolation after) explicit noexcept new in Git master

Type-erased constructor with generic interpolation behavior.

Parameters
targetName Track target name
target Track target ID
type Value type
resultType Result type
keys Frame keys
values Frame values
interpolation Interpolation behavior
before Extrapolation behavior before
after Extrapolation behavior after

The keyframe data are assumed to be stored in sorted order. It's not an error to have two successive keyframes with the same frame value. Expects that keys and values strides both fit into signed 16-bit values, that they both have the same size and that keyframe count fits into 32 bits.

The interpolator function is picked implicitly for given interpolation, type and resultType and the combination is expected to make sense. Use AnimationTrackData(AnimationTrackTarget, UnsignedLong, AnimationTrackType, AnimationTrackType, const Containers::StridedArrayView1D<const Float>&, const Containers::StridedArrayView1D<const void>&, Animation::Interpolation, void(*)(), Animation::Extrapolation, Animation::Extrapolation) to supply it explicitly.

Magnum::Trade::AnimationTrackData::AnimationTrackData(AnimationTrackTarget targetName, UnsignedLong target, AnimationTrackType type, const Containers::StridedArrayView1D<const Float>& keys, const Containers::StridedArrayView1D<const void>& values, Animation::Interpolation interpolation, Animation::Extrapolation before, Animation::Extrapolation after) explicit noexcept new in Git master

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Equivalent to calling AnimationTrackData(AnimationTrackTarget, UnsignedLong, AnimationTrackType, AnimationTrackType, const Containers::StridedArrayView1D<const Float>&, const Containers::StridedArrayView1D<const void>&, Animation::Interpolation, Animation::Extrapolation, Animation::Extrapolation) with both type and resultType set to type.

Magnum::Trade::AnimationTrackData::AnimationTrackData(AnimationTrackTarget targetName, UnsignedLong target, AnimationTrackType type, AnimationTrackType resultType, const Containers::StridedArrayView1D<const Float>& keys, const Containers::StridedArrayView1D<const void>& values, Animation::Interpolation interpolation, Animation::Extrapolation extrapolation = Animation::Extrapolation::Constant) explicit noexcept new in Git master

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Equivalent to calling AnimationTrackData(AnimationTrackTarget, UnsignedLong, AnimationTrackType, AnimationTrackType, const Containers::StridedArrayView1D<const Float>&, const Containers::StridedArrayView1D<const void>&, Animation::Interpolation, Animation::Extrapolation, Animation::Extrapolation) with both before and after set to extrapolation.

Magnum::Trade::AnimationTrackData::AnimationTrackData(AnimationTrackTarget targetName, UnsignedLong target, AnimationTrackType type, const Containers::StridedArrayView1D<const Float>& keys, const Containers::StridedArrayView1D<const void>& values, Animation::Interpolation interpolation, Animation::Extrapolation extrapolation = Animation::Extrapolation::Constant) explicit noexcept new in Git master

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Equivalent to calling AnimationTrackData(AnimationTrackTarget, UnsignedLong, AnimationTrackType, AnimationTrackType, const Containers::StridedArrayView1D<const Float>&, const Containers::StridedArrayView1D<const void>&, Animation::Interpolation, Animation::Extrapolation, Animation::Extrapolation) with both type and resultType set to type, and both before and after set to extrapolation.

Magnum::Trade::AnimationTrackData::AnimationTrackData(AnimationTrackTarget targetName, UnsignedLong target, AnimationTrackType type, AnimationTrackType resultType, const Containers::StridedArrayView1D<const Float>& keys, const Containers::StridedArrayView1D<const void>& values, Animation::Interpolation interpolation, void(*)() interpolator, Animation::Extrapolation before, Animation::Extrapolation after) explicit noexcept new in Git master

Type-erased constructor with both generic and custom interpolator.

Parameters
targetName Track target name
target Track target ID
type Value type
resultType Result type
keys Frame keys
values Frame values
interpolation Interpolation behavior
interpolator Interpolator function
before Extrapolation behavior before
after Extrapolation behavior after

Compared to AnimationTrackData(AnimationTrackTarget, UnsignedLong, AnimationTrackType, AnimationTrackType, const Containers::StridedArrayView1D<const Float>&, const Containers::StridedArrayView1D<const void>&, Animation::Interpolation, Animation::Extrapolation, Animation::Extrapolation) which picks an interpolator function based on the value of interpolation, type and resultType, here it's taken explicitly. Even though it accepts the function cast to a void(*)(), it's expected to be of a right type for type and resultType.

Magnum::Trade::AnimationTrackData::AnimationTrackData(AnimationTrackTarget targetName, UnsignedLong target, AnimationTrackType type, const Containers::StridedArrayView1D<const Float>& keys, const Containers::StridedArrayView1D<const void>& values, Animation::Interpolation interpolation, void(*)() interpolator, Animation::Extrapolation before, Animation::Extrapolation after) explicit noexcept new in Git master

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Equivalent to calling AnimationTrackData(AnimationTrackTarget, UnsignedLong, AnimationTrackType, AnimationTrackType, const Containers::StridedArrayView1D<const Float>&, const Containers::StridedArrayView1D<const void>&, Animation::Interpolation, void(*)(), Animation::Extrapolation, Animation::Extrapolation) with both type and resultType set to type.

Magnum::Trade::AnimationTrackData::AnimationTrackData(AnimationTrackTarget targetName, UnsignedLong target, AnimationTrackType type, AnimationTrackType resultType, const Containers::StridedArrayView1D<const Float>& keys, const Containers::StridedArrayView1D<const void>& values, Animation::Interpolation interpolation, void(*)() interpolator, Animation::Extrapolation extrapolation = Animation::Extrapolation::Constant) explicit noexcept new in Git master

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Equivalent to calling AnimationTrackData(AnimationTrackTarget, UnsignedLong, AnimationTrackType, AnimationTrackType, const Containers::StridedArrayView1D<const Float>&, const Containers::StridedArrayView1D<const void>&, Animation::Interpolation, void(*)(), Animation::Extrapolation, Animation::Extrapolation) with both before and after set to extrapolation.

Magnum::Trade::AnimationTrackData::AnimationTrackData(AnimationTrackTarget targetName, UnsignedLong target, AnimationTrackType type, const Containers::StridedArrayView1D<const Float>& keys, const Containers::StridedArrayView1D<const void>& values, Animation::Interpolation interpolation, void(*)() interpolator, Animation::Extrapolation extrapolation = Animation::Extrapolation::Constant) explicit noexcept new in Git master

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Equivalent to calling AnimationTrackData(AnimationTrackTarget, UnsignedLong, AnimationTrackType, AnimationTrackType, const Containers::StridedArrayView1D<const Float>&, const Containers::StridedArrayView1D<const void>&, Animation::Interpolation, void(*)(), Animation::Extrapolation, Animation::Extrapolation) with both type and resultType set to type, and both before and after set to extrapolation.

Magnum::Trade::AnimationTrackData::AnimationTrackData(AnimationTrackTarget targetName, UnsignedLong target, AnimationTrackType type, AnimationTrackType resultType, const Containers::StridedArrayView1D<const Float>& keys, const Containers::StridedArrayView1D<const void>& values, void(*)() interpolator, Animation::Extrapolation before, Animation::Extrapolation after) explicit noexcept new in Git master

Type-erased constructor with custom interpolator.

Parameters
targetName Track target name
target Track target ID
type Value type
resultType Result type
keys Frame keys
values Frame values
interpolator Interpolator function
before Extrapolation behavior before
after Extrapolation behavior after

Calls AnimationTrackData(AnimationTrackTarget, UnsignedLong, AnimationTrackType, AnimationTrackType, const Containers::StridedArrayView1D<const Float>&, const Containers::StridedArrayView1D<const void>&, Animation::Interpolation, void(*)(), Animation::Extrapolation, Animation::Extrapolation) with interpolation set to Animation::Interpolation::Custom.

Magnum::Trade::AnimationTrackData::AnimationTrackData(AnimationTrackTarget targetName, UnsignedLong target, AnimationTrackType type, const Containers::StridedArrayView1D<const Float>& keys, const Containers::StridedArrayView1D<const void>& values, void(*)() interpolator, Animation::Extrapolation before, Animation::Extrapolation after) explicit noexcept new in Git master

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Equivalent to calling AnimationTrackData(AnimationTrackTarget, UnsignedLong, AnimationTrackType, AnimationTrackType, const Containers::StridedArrayView1D<const Float>&, const Containers::StridedArrayView1D<const void>&, void(*)(), Extrapolation, Extrapolation) with both type and resultType set to type.

Magnum::Trade::AnimationTrackData::AnimationTrackData(AnimationTrackTarget targetName, UnsignedLong target, AnimationTrackType type, AnimationTrackType resultType, const Containers::StridedArrayView1D<const Float>& keys, const Containers::StridedArrayView1D<const void>& values, void(*)() interpolator, Animation::Extrapolation extrapolation = Animation::Extrapolation::Constant) explicit noexcept new in Git master

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Equivalent to calling AnimationTrackData(AnimationTrackTarget, UnsignedLong, AnimationTrackType, AnimationTrackType, const Containers::StridedArrayView1D<const Float>&, const Containers::StridedArrayView1D<const void>&, void(*)(), Extrapolation, Extrapolation) with both before and after set to extrapolation.

Magnum::Trade::AnimationTrackData::AnimationTrackData(AnimationTrackTarget targetName, UnsignedLong target, AnimationTrackType type, const Containers::StridedArrayView1D<const Float>& keys, const Containers::StridedArrayView1D<const void>& values, void(*)() interpolator, Animation::Extrapolation extrapolation = Animation::Extrapolation::Constant) explicit noexcept new in Git master

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Equivalent to calling AnimationTrackData(AnimationTrackTarget, UnsignedLong, AnimationTrackType, AnimationTrackType, const Containers::StridedArrayView1D<const Float>&, const Containers::StridedArrayView1D<const void>&, void(*)(), Extrapolation, Extrapolation) with both type and resultType set to type, and both before and after set to extrapolation.

Magnum::Trade::AnimationTrackData::AnimationTrackData(AnimationTrackType type, AnimationTrackType resultType, AnimationTrackTarget targetName, UnsignedLong target, const Animation::TrackViewStorage<const Float>& view) explicit noexcept

Type-erased constructor.

Parameters
type Value type
resultType Result type
targetName Track target name
target Track target ID
view Type-erased Animation::TrackView instance

Expects that view key and value strides both fit into signed 16-bit values and that keyframe count fits into 32 bits.

Magnum::Trade::AnimationTrackData::AnimationTrackData(AnimationTrackType type, AnimationTrackTarget targetName, UnsignedLong target, const Animation::TrackViewStorage<const Float>& view) explicit noexcept

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Equivalent to the above with type used as both value type and result type.

template<class V, class R = Animation::ResultOf<V>>
Magnum::Trade::AnimationTrackData::AnimationTrackData(AnimationTrackTarget targetName, UnsignedLong target, const Containers::StridedArrayView1D<const Float>& keys, const Containers::StridedArrayView1D<V>& values, Animation::Interpolation interpolation, Animation::Extrapolation before, Animation::Extrapolation after) noexcept new in Git master

Construct with generic interpolation behavior.

Parameters
targetName Track target name
target Track target ID
keys Frame keys
values Frame values
interpolation Interpolation behavior
before Extrapolation behavior before
after Extrapolation behavior after

Detects AnimationTrackType from values and delegates to AnimationTrackData(AnimationTrackTarget, UnsignedLong, AnimationTrackType, AnimationTrackType, const Containers::StridedArrayView1D<const Float>&, const Containers::StridedArrayView1D<const void>&, Animation::Interpolation, Animation::Extrapolation, Animation::Extrapolation).

template<class V, class R = Animation::ResultOf<V>>
Magnum::Trade::AnimationTrackData::AnimationTrackData(AnimationTrackTarget targetName, UnsignedLong target, const Containers::StridedArrayView1D<const Float>& keys, const Containers::StridedArrayView1D<V>& values, Animation::Interpolation interpolation, Animation::Extrapolation extrapolation = Animation::Extrapolation::Constant) noexcept new in Git master

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Equivalent to calling AnimationTrackData(AnimationTrackTarget, UnsignedLong, const Containers::StridedArrayView1D<const Float>&, const Containers::StridedArrayView1D<V>&, Animation::Interpolation, Animation::Extrapolation, Animation::Extrapolation) with both before and after set to extrapolation.

template<class V, class R = Animation::ResultOf<V>>
Magnum::Trade::AnimationTrackData::AnimationTrackData(AnimationTrackTarget targetName, UnsignedLong target, const Containers::StridedArrayView1D<const Float>& keys, const Containers::StridedArrayView1D<V>& values, Animation::Interpolation interpolation, R(*)(const typename std::remove_const<V>::type&, const typename std::remove_const<V>::type&, Float) interpolator, Animation::Extrapolation before, Animation::Extrapolation after) noexcept new in Git master

Construct with both generic and custom interpolator.

Parameters
targetName Track target name
target Track target ID
keys Frame keys
values Frame values
interpolation Interpolation behavior
interpolator Interpolator function
before Extrapolation behavior before
after Extrapolation behavior after

Detects AnimationTrackType from values and delegates to AnimationTrackData(AnimationTrackTarget, UnsignedLong, AnimationTrackType, AnimationTrackType, const Containers::StridedArrayView1D<const Float>&, const Containers::StridedArrayView1D<const void>&, Animation::Interpolation, void(*)(), Animation::Extrapolation, Animation::Extrapolation).

template<class V, class R = Animation::ResultOf<V>>
Magnum::Trade::AnimationTrackData::AnimationTrackData(AnimationTrackTarget targetName, UnsignedLong target, const Containers::StridedArrayView1D<const Float>& keys, const Containers::StridedArrayView1D<V>& values, Animation::Interpolation interpolation, R(*)(const typename std::remove_const<V>::type&, const typename std::remove_const<V>::type&, Float) interpolator, Animation::Extrapolation extrapolation = Animation::Extrapolation::Constant) noexcept new in Git master

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Equivalent to calling AnimationTrackData(AnimationTrackTarget, UnsignedLong, const Containers::StridedArrayView1D<const Float>&, const Containers::StridedArrayView1D<const V>&, Animation::Interpolation, R(*)(const V&, const V&, Float), Animation::Extrapolation, Animation::Extrapolation) with both before and after set to extrapolation.

template<class V, class R = Animation::ResultOf<V>>
Magnum::Trade::AnimationTrackData::AnimationTrackData(AnimationTrackTarget targetName, UnsignedLong target, const Containers::StridedArrayView1D<const Float>& keys, const Containers::StridedArrayView1D<V>& values, R(*)(const typename std::remove_const<V>::type&, const typename std::remove_const<V>::type&, Float) interpolator, Animation::Extrapolation before, Animation::Extrapolation after) noexcept new in Git master

Construct with custom interpolator.

Parameters
targetName Track target name
target Track target ID
keys Frame keys
values Frame values
interpolator Interpolator function
before Extrapolation behavior before
after Extrapolation behavior after

Calls AnimationTrackData(AnimationTrackTarget, UnsignedLong, AnimationTrackType, AnimationTrackType, const Containers::StridedArrayView1D<const Float>&, const Containers::StridedArrayView1D<const V>&, Interpolation, R(*)(const V&, const V&, Float), Extrapolation, Extrapolation) with interpolation set to Animation::Interpolation::Custom.

template<class V, class R = Animation::ResultOf<V>>
Magnum::Trade::AnimationTrackData::AnimationTrackData(AnimationTrackTarget targetName, UnsignedLong target, const Containers::StridedArrayView1D<const Float>& keys, const Containers::StridedArrayView1D<V>& values, R(*)(const typename std::remove_const<V>::type&, const typename std::remove_const<V>::type&, Float) interpolator, Animation::Extrapolation extrapolation = Animation::Extrapolation::Constant) noexcept new in Git master

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Equivalent to calling AnimationTrackData(AnimationTrackTarget, UnsignedLong, const Containers::StridedArrayView1D<const Float>&, const Containers::StridedArrayView1D<const V>&, R(*)(const V&, const V&, Float), Extrapolation, Extrapolation) with both before and after set to extrapolation.

template<class V, class R = Animation::ResultOf<V>>
Magnum::Trade::AnimationTrackData::AnimationTrackData(AnimationTrackTarget targetName, UnsignedLong target, const Animation::TrackView<const Float, const V, R>& view) explicit noexcept new in 2020.06

Construct from a track view.

Parameters
targetName Track target name
target Track target ID
view Track view

Delegates to AnimationTrackData(AnimationTrackTarget, UnsignedLong, AnimationTrackType, AnimationTrackType, const Containers::StridedArrayView1D<const Float>&, const Containers::StridedArrayView1D<const V>&, Animation::Interpolation, R(*)(const V&, const V&, Float), Animation::Extrapolation, Animation::Extrapolation).