Class InterpolatorTrajectory_dPtr


  • public class InterpolatorTrajectory_dPtr
    extends java.lang.Object
    Ptr stores a pointer and optionally takes ownership of the value.
    • Constructor Detail

      • InterpolatorTrajectory_dPtr

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

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

        public InterpolatorTrajectory_dPtr​(InterpolatorTrajectory_d 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 double x​(double t)
      • dx

        public double dx​(double t)
      • ddx

        public double ddx​(double t)
      • duration

        public double duration()
      • startTime

        public double startTime()
      • add

        public void add​(Interpolator_dPtr 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​(Blend_dPtr blend,
                        Interpolator_dPtr 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​(InterpolatorTrajectory_d 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 Segment_d 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 vector_d 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 vector_d 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.