Class LinearInterpolator_d


  • public class LinearInterpolator_d
    extends Interpolator_d
    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​(double start, double 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​(long cPtr, boolean cMemoryOwn)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      double 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.
      double dx​(double t)
      Velocity at time t
      static long getCPtr​(LinearInterpolator_d obj)  
      double getEnd()
      Returns the end position of the interpolator
      double getStart()
      Returns the start position of the interpolator
      double 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

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

        public LinearInterpolator_d​(double start,
                                    double 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 double x​(double t)
        Description copied from class: Interpolator_d
        Position at time t
        Overrides:
        x in class Interpolator_d
        Parameters:
        t - [in] time between 0 and length
        Returns:
        Position
      • dx

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

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

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

        public double 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
        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
        Returns:
        duration