Package org.robwork.sdurw_trajectory
Class InterpolatorTrajectoryQPtr
- java.lang.Object
-
- org.robwork.sdurw_trajectory.InterpolatorTrajectoryQPtr
-
public class InterpolatorTrajectoryQPtr extends java.lang.ObjectPtr stores a pointer and optionally takes ownership of the value.
-
-
Constructor Summary
Constructors Constructor Description InterpolatorTrajectoryQPtr()Default constructor yielding a NULL-pointer.InterpolatorTrajectoryQPtr(long cPtr, boolean cMemoryOwn)InterpolatorTrajectoryQPtr(InterpolatorTrajectoryQ ptr)Do not take ownership of ptr.
ptr can be null.
The constructor is implicit on purpose.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description InterpolatorTrajectoryQ__ref__()Dereferencing operator.voidadd(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.voidadd(InterpolatorQPtr interpolator)Adds an interpolator to the end of the trajectory.
When adding the interpolator the Trajectory takes ownership.
voidadd(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
InterpolatorTrajectoryQCPtrcptr()Qddx(double t)voiddelete()InterpolatorTrajectoryQderef()The pointer stored in the object.doubleduration()Qdx(double t)doubleendTime()Returns the endTime of the trajectory.
The end time equals startTime() + duration().
booleanequals(InterpolatorTrajectoryQ p)static longgetCPtr(InterpolatorTrajectoryQPtr obj)InterpolatorTrajectoryQgetDeref()Member access operator.TrajectoryIteratorQPtrgetIterator()TrajectoryIteratorQPtrgetIterator(double dt)VectorQgetPath(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.
VectorQgetPath(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.
SegmentQgetSegment(long index)longgetSegmentsCount()Returns the number of segments
A segment contains a description interpolator and the blend used to blend from the
previous interpolatorbooleanisNull()checks if the pointer is nullbooleanisShared()check if this Ptr has shared ownership or none
ownershipdoublestartTime()Qx(double t)
-
-
-
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
-
getCPtr
public static long getCPtr(InterpolatorTrajectoryQPtr obj)
-
delete
public void delete()
-
deref
public InterpolatorTrajectoryQ deref()
The pointer stored in the object.
-
__ref__
public InterpolatorTrajectoryQ __ref__()
Dereferencing operator.
-
getDeref
public InterpolatorTrajectoryQ getDeref()
Member access operator.
-
equals
public boolean equals(InterpolatorTrajectoryQ p)
-
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
-
cptr
public InterpolatorTrajectoryQCPtr cptr()
-
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()
-
getIterator
public TrajectoryIteratorQPtr getIterator(double dt)
-
getIterator
public TrajectoryIteratorQPtr getIterator()
-
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 addinterpolator- [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 sizeuniform- [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.
-
-