Class InterpolatorTrajectoryQPtr


  • public class InterpolatorTrajectoryQPtr
    extends java.lang.Object
    Ptr stores a pointer and optionally takes ownership of the value.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      InterpolatorTrajectoryQ __ref__()
      Dereferencing operator.
      void add​(BlendQPtr blend, InterpolatorQPtr interpolator)
      Adds a blend and an interpolator to the trajectory.

      The Blend added is used to blend between what was previously the last
      Interpolator of the trajectory onto interpolator, which become the
      new last interpolator of the trajectory.
      void add​(InterpolatorQPtr interpolator)
      Adds an interpolator to the end of the trajectory.

      When adding the interpolator the Trajectory takes ownership.

      void add​(InterpolatorTrajectoryQ trajectory)
      Append trajectory to the end

      When adding a Trajectory all interpolators and blends of
      trajectory is added in sequence.

      Ownership of the interpolator and blends are shared using
      std::shared_ptr

      InterpolatorTrajectoryQCPtr cptr()  
      Q ddx​(double t)  
      void delete()  
      InterpolatorTrajectoryQ deref()
      The pointer stored in the object.
      double duration()  
      Q dx​(double t)  
      double endTime()
      Returns the endTime of the trajectory.

      The end time equals startTime() + duration().

      boolean equals​(InterpolatorTrajectoryQ p)  
      static long getCPtr​(InterpolatorTrajectoryQPtr obj)  
      InterpolatorTrajectoryQ getDeref()
      Member access operator.
      TrajectoryIteratorQPtr getIterator()  
      TrajectoryIteratorQPtr getIterator​(double dt)  
      VectorQ getPath​(double dt)
      Constructs a discrete path based on the trajectory.

      If uniform = true the path will be divided into the smallest number of
      uniform steps for which the time stepsize <= dt.

      If uniform = false the path is divided into steps of duration dt, except the
      last interval which may be shorter to include the end point.

      VectorQ getPath​(double dt, boolean uniform)
      Constructs a discrete path based on the trajectory.

      If uniform = true the path will be divided into the smallest number of
      uniform steps for which the time stepsize <= dt.

      If uniform = false the path is divided into steps of duration dt, except the
      last interval which may be shorter to include the end point.

      SegmentQ getSegment​(long index)  
      long getSegmentsCount()
      Returns the number of segments

      A segment contains a description interpolator and the blend used to blend from the
      previous interpolator
      boolean isNull()
      checks if the pointer is null
      boolean isShared()
      check if this Ptr has shared ownership or none
      ownership
      double startTime()  
      Q x​(double t)  
      • Methods inherited from class java.lang.Object

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

      • InterpolatorTrajectoryQPtr

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

        public InterpolatorTrajectoryQPtr()
        Default constructor yielding a NULL-pointer.
      • InterpolatorTrajectoryQPtr

        public InterpolatorTrajectoryQPtr​(InterpolatorTrajectoryQ ptr)
        Do not take ownership of ptr.

        ptr can be null.

        The constructor is implicit on purpose.
    • Method Detail

      • delete

        public void delete()
      • isShared

        public boolean isShared()
        check if this Ptr has shared ownership or none
        ownership
        Returns:
        true if Ptr has shared ownership, false if it has no ownership.
      • isNull

        public boolean isNull()
        checks if the pointer is null
        Returns:
        Returns true if the pointer is null
      • x

        public Q x​(double t)
      • dx

        public Q dx​(double t)
      • ddx

        public Q ddx​(double t)
      • duration

        public double duration()
      • startTime

        public double startTime()
      • add

        public void add​(InterpolatorQPtr interpolator)
        Adds an interpolator to the end of the trajectory.

        When adding the interpolator the Trajectory takes ownership.

        Parameters:
        interpolator - [in] The interpolator to add
      • add

        public void add​(BlendQPtr blend,
                        InterpolatorQPtr interpolator)
        Adds a blend and an interpolator to the trajectory.

        The Blend added is used to blend between what was previously the last
        Interpolator of the trajectory onto interpolator, which become the
        new last interpolator of the trajectory.
        Parameters:
        blend - [in] the blend to add
        interpolator - [in] the interpolator to add
      • add

        public void add​(InterpolatorTrajectoryQ trajectory)
        Append trajectory to the end

        When adding a Trajectory all interpolators and blends of
        trajectory is added in sequence.

        Ownership of the interpolator and blends are shared using
        std::shared_ptr

        Parameters:
        trajectory - [in] Trajectory to append
      • getSegmentsCount

        public long getSegmentsCount()
        Returns the number of segments

        A segment contains a description interpolator and the blend used to blend from the
        previous interpolator
      • getSegment

        public SegmentQ getSegment​(long index)
      • endTime

        public double endTime()
        Returns the endTime of the trajectory.

        The end time equals startTime() + duration().

        Returns:
        The end time
      • getPath

        public VectorQ getPath​(double dt,
                               boolean uniform)
        Constructs a discrete path based on the trajectory.

        If uniform = true the path will be divided into the smallest number of
        uniform steps for which the time stepsize <= dt.

        If uniform = false the path is divided into steps of duration dt, except the
        last interval which may be shorter to include the end point.

        Parameters:
        dt - [in] Step size
        uniform - [in] Whether to sample the path uniformly
        Returns:
        The discrete path.
      • getPath

        public VectorQ getPath​(double dt)
        Constructs a discrete path based on the trajectory.

        If uniform = true the path will be divided into the smallest number of
        uniform steps for which the time stepsize <= dt.

        If uniform = false the path is divided into steps of duration dt, except the
        last interval which may be shorter to include the end point.

        Parameters:
        dt - [in] Step size

        Returns:
        The discrete path.