Class ParabolicBlend_d


  • public class ParabolicBlend_d
    extends Blend_d
    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

      • ParabolicBlend_d

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

        public ParabolicBlend_d​(LinearInterpolator_d line1,
                                LinearInterpolator_d 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
      • ParabolicBlend_d

        public ParabolicBlend_d​(LinearInterpolator_dCPtr line1,
                                LinearInterpolator_dCPtr 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
      • ParabolicBlend_d

        public ParabolicBlend_d​(LinearInterpolator_dPtr line1,
                                LinearInterpolator_dPtr 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 Blend_d
      • x

        public double x​(double t)
        Conditional comment:

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

        public double dx​(double t)
        Conditional comment:

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

        public double ddx​(double t)
        Conditional comment:

        End of conditional comment.
        Overrides:
        ddx in class Blend_d
        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 Blend_d
        Returns:
        \tau_1
      • tau2

        public double tau2()
        Conditional comment:

        End of conditional comment.

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