Class LinearInterpolator_d_f


  • public class LinearInterpolator_d_f
    extends Interpolator_d_f
    Make a linear interpolation between to position

    Given a start \mathbf{s}, end \mathbf{e} and duration d
    the interpolation is implemented as \mathbf{x}(t)=\mathbf{s} + (\mathbf{e}-\mathbf{s})*t/d.

    The template argument given needs to support addition with the "+" operator
    and scaling with a double using the "*" operator.

    For use with a rw::math::Transform3D see the template specialization
    • Constructor Summary

      Constructors 
      Constructor Description
      LinearInterpolator_d_f​(float start, float end, double duration)
      Construct LinearInterpolator starting a start and finishing in end
      and taking duration time.

      If duration <= 0 an exception is thrown

      LinearInterpolator_d_f​(long cPtr, boolean cMemoryOwn)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      float ddx​(double t)
      Acceleration at time t
      void delete()  
      double duration()
      Returns the duration of the interpolator

      The duration is defined as the time it takes to move from one end
      of the interpolator to the other.
      float dx​(double t)
      Velocity at time t
      static long getCPtr​(LinearInterpolator_d_f obj)  
      float getEnd()
      Returns the end position of the interpolator
      float getStart()
      Returns the start position of the interpolator
      float x​(double t)
      Position at time t
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • LinearInterpolator_d_f

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

        public LinearInterpolator_d_f​(float start,
                                      float end,
                                      double duration)
        Construct LinearInterpolator starting a start and finishing in end
        and taking duration time.

        If duration <= 0 an exception is thrown

        Parameters:
        start - [in] Start of interpolator
        end - [in] End of interpolator
        duration - [in] Time it takes to from one end to the other.
    • Method Detail

      • x

        public float x​(double t)
        Description copied from class: Interpolator_d_f
        Position at time t
        Overrides:
        x in class Interpolator_d_f
        Parameters:
        t - [in] time between 0 and length
        Returns:
        Position
      • dx

        public float dx​(double t)
        Description copied from class: Interpolator_d_f
        Velocity at time t
        Overrides:
        dx in class Interpolator_d_f
        Parameters:
        t - [in] time between 0 and length
        Returns:
        Velocity
      • ddx

        public float ddx​(double t)
        Description copied from class: Interpolator_d_f
        Acceleration at time t
        Overrides:
        ddx in class Interpolator_d_f
        Parameters:
        t - [in] time between 0 and length
        Returns:
        Acceleration
      • getStart

        public float getStart()
        Returns the start position of the interpolator
        Returns:
        The start position of the interpolator
      • getEnd

        public float getEnd()
        Returns the end position of the interpolator
        Returns:
        The end position of the interpolator
      • duration

        public double duration()
        Description copied from class: Interpolator_d_f
        Returns the duration of the interpolator

        The duration is defined as the time it takes to move from one end
        of the interpolator to the other.
        Overrides:
        duration in class Interpolator_d_f
        Returns:
        duration