Package org.robwork.sdurw_trajectory
Class InterpolatorTrajectoryQPtr
- java.lang.Object
-
- org.robwork.sdurw_trajectory.InterpolatorTrajectoryQPtr
-
public class InterpolatorTrajectoryQPtr extends java.lang.Object
Ptr 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.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 interpolatorboolean
isNull()
checks if the pointer is nullboolean
isShared()
check if this Ptr has shared ownership or none
ownershipdouble
startTime()
Q
x(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.
-
-