Class ParabolicBlendQ


  • public class ParabolicBlendQ
    extends BlendQ
    Implements a parabolic blend

    A parabolic blend is characterized by a constant acceleration through the blend. The current
    implementation only supports blending between linear segments.
    • Constructor Detail

      • ParabolicBlendQ

        public ParabolicBlendQ​(long cPtr,
                               boolean cMemoryOwn)
      • ParabolicBlendQ

        public ParabolicBlendQ​(LinearInterpolatorQ line1,
                               LinearInterpolatorQ line2,
                               double tau)
        Constructs parabolic blend between line1 and line2 with tau
        as blend time
        Parameters:
        line1 - [in] First segment
        line2 - [in] Second segment
        tau - [in] Blend time
      • ParabolicBlendQ

        public ParabolicBlendQ​(LinearInterpolatorQCPtr line1,
                               LinearInterpolatorQCPtr line2,
                               double tau)
        Constructs parabolic blend between line1 and line2 with tau
        as blend time. The segments is copied for internal storage
        Parameters:
        line1 - [in] First segment
        line2 - [in] Second segment
        tau - [in] Blend time
      • ParabolicBlendQ

        public ParabolicBlendQ​(LinearInterpolatorQPtr line1,
                               LinearInterpolatorQPtr line2,
                               double tau)
        Constructs parabolic blend between line1 and line2 with tau
        as blend time. The segments is copied for internal storage
        Parameters:
        line1 - [in] First segment
        line2 - [in] Second segment
        tau - [in] Blend time
    • Method Detail

      • delete

        public void delete()
        Overrides:
        delete in class BlendQ
      • x

        public Q x​(double t)
        Conditional comment:

        End of conditional comment.
        Overrides:
        x in class BlendQ
        Parameters:
        t - [in] t\in[0,\tau_1+\tau_2]
        Returns:
        Position at time t
      • dx

        public Q dx​(double t)
        Conditional comment:

        End of conditional comment.
        Overrides:
        dx in class BlendQ
        Parameters:
        t - [in] t\in[0,\tau_1+\tau_2]
        Returns:
        Velocity at time t
      • ddx

        public Q ddx​(double t)
        Conditional comment:

        End of conditional comment.
        Overrides:
        ddx in class BlendQ
        Parameters:
        t - [in] t\in[0,\tau_1+\tau_2]
        Returns:
        Acceleration at time t
      • duration

        public double duration()
        get the duration of the blend
        Returns:
        duration
      • tau1

        public double tau1()
        Conditional comment:

        End of conditional comment.

        Note: For ParabolicBlend tau1()==tau2()
        Overrides:
        tau1 in class BlendQ
        Returns:
        \tau_1
      • tau2

        public double tau2()
        Conditional comment:

        End of conditional comment.

        Note: For ParabolicBlend tau1()==tau2()
        Overrides:
        tau2 in class BlendQ
        Returns:
        \tau_2