Package org.robwork.sdurw_models
Class RevoluteJointCPtr
- java.lang.Object
-
- org.robwork.sdurw_models.RevoluteJointCPtr
-
public class RevoluteJointCPtr extends java.lang.Object
Ptr stores a pointer and optionally takes ownership of the value.
-
-
Constructor Summary
Constructors Constructor Description RevoluteJointCPtr()
Default constructor yielding a NULL-pointer.RevoluteJointCPtr(long cPtr, boolean cMemoryOwn)
RevoluteJointCPtr(RevoluteJoint 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 RevoluteJoint
__ref__()
Dereferencing operator.void
delete()
RevoluteJoint
deref()
The pointer stored in the object.boolean
equals(RevoluteJoint p)
Transform3D
fTf(FrameCPtr to, State state)
Get the transform of other frame relative to this frame.PairQ
getBounds()
Gets joint boundsStateCachePtr
getCache(State state)
Get the cache.static long
getCPtr(RevoluteJointCPtr obj)
RevoluteJoint
getDeref()
Member access operator.int
getDOF()
The number of degrees of freedom (dof) of the frame.
The dof is the number of joint values that are used for controlling
the frame.
Given a set joint values of type State, the getDof() number of joint
values for the frame can be read and written with State::getQ() and
State::setQ().
Transform3D
getFixedTransform()
int
getID()
An integer ID for the StateData.
IDs are assigned to the state data upon insertion State.
StateData that are not in a State have an ID of -1.
StateData present in different trees may have identical IDs.
IDs are used for the efficient implementation of State.void
getJacobian(long row, long col, Transform3D joint, Transform3D tcp, State state, Jacobian jacobian)
Transform3D
getJointTransform(double q)
The transform of the joint relative to its parent.
The transform is calculated for the joint values of state.
This method is equivalent to Frame::multiplyTransform except that is operates
directly on a joint vector instead of a State.
Transform3D
getJointTransform(State state)
Q
getMaxAcceleration()
Gets max acceleration of jointQ
getMaxVelocity()
Gets max velocity of jointjava.lang.String
getName()
The name of the state data.
Transform3D
getTransform(double q)
The transform of the joint relative to its parent.
The transform is calculated for the joint values of state.
This method is equivalent to Frame::multiplyTransform except that is operates
directly on a joint vector instead of a State.
Transform3D
getTransform(State state)
The transform of the frame relative to its parent.
The transform is calculated for the joint values of state.
The exact implementation of getTransform() depends on the type of
frame.boolean
hasCache()
Check is state data includes a cache.boolean
isActive()
a joint is active if its motorized/controlled in some
fasion.boolean
isNull()
checks if the pointer is nullboolean
isShared()
check if this Ptr has shared ownership or none
ownershipvoid
multiplyJointTransform(Transform3D parent, Q q, Transform3D result)
Post-multiply the transform of the joint to the parent transform.
The transform is calculated for the joint values of q.
This method is equivalent to Frame::multiplyTransform except that is operates
directly on a joint vector instead of a State.
void
multiplyTransform(Transform3D parent, State state, Transform3D result)
Post-multiply the transform of the frame to the parent transform.
The transform is calculated for the joint values of state.
The exact implementation of getTransform() depends on the type of
frame.void
setData(State state, double val)
Assign for state data the size() of values of the array
vals.
The array vals must be of length at least size().
void
setData(State state, vector_d vals)
Assign for state data the size() of values of the array
vals.
The array vals must be of length at least size().
int
size()
The number of doubles allocated by this StateData in
each State object.
Transform3D
wTf(State state)
Get the transform relative to world.
-
-
-
Constructor Detail
-
RevoluteJointCPtr
public RevoluteJointCPtr(long cPtr, boolean cMemoryOwn)
-
RevoluteJointCPtr
public RevoluteJointCPtr()
Default constructor yielding a NULL-pointer.
-
RevoluteJointCPtr
public RevoluteJointCPtr(RevoluteJoint ptr)
Do not take ownership of ptr.
ptr can be null.
The constructor is implicit on purpose.
-
-
Method Detail
-
getCPtr
public static long getCPtr(RevoluteJointCPtr obj)
-
delete
public void delete()
-
deref
public RevoluteJoint deref()
The pointer stored in the object.
-
__ref__
public RevoluteJoint __ref__()
Dereferencing operator.
-
getDeref
public RevoluteJoint getDeref()
Member access operator.
-
equals
public boolean equals(RevoluteJoint 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
-
multiplyJointTransform
public void multiplyJointTransform(Transform3D parent, Q q, Transform3D result)
Post-multiply the transform of the joint to the parent transform.
The transform is calculated for the joint values of q.
This method is equivalent to Frame::multiplyTransform except that is operates
directly on a joint vector instead of a State.
- Parameters:
parent
- [in] The world transform of the parent frame.q
- [in] Joint values for the jointresult
- [in] The transform of the frame in the world frame.
-
getJointTransform
public Transform3D getJointTransform(double q)
The transform of the joint relative to its parent.
The transform is calculated for the joint values of state.
This method is equivalent to Frame::multiplyTransform except that is operates
directly on a joint vector instead of a State.
- Parameters:
q
- [in] Joint values for the joint
- Returns:
- The transform of the frame relative to its displacement transform.
-
getJointTransform
public Transform3D getJointTransform(State state)
-
getTransform
public Transform3D getTransform(double q)
The transform of the joint relative to its parent.
The transform is calculated for the joint values of state.
This method is equivalent to Frame::multiplyTransform except that is operates
directly on a joint vector instead of a State.
- Parameters:
q
- [in] Joint values for the joint
- Returns:
- The transform of the frame relative to its parent frame.
-
getTransform
public Transform3D getTransform(State state)
The transform of the frame relative to its parent.
The transform is calculated for the joint values of state.
The exact implementation of getTransform() depends on the type of
frame. See for example RevoluteJoint and PrismaticJoint.
- Parameters:
state
- [in] Joint values for the forward kinematics tree.
- Returns:
- The transform of the frame relative to its parent.
-
getFixedTransform
public Transform3D getFixedTransform()
-
getJacobian
public void getJacobian(long row, long col, Transform3D joint, Transform3D tcp, State state, Jacobian jacobian)
-
getBounds
public PairQ getBounds()
Gets joint bounds- Returns:
- the lower and upper bound of this joint
-
getMaxVelocity
public Q getMaxVelocity()
Gets max velocity of joint- Returns:
- the maximum velocity of the joint
-
getMaxAcceleration
public Q getMaxAcceleration()
Gets max acceleration of joint- Returns:
- the maximum acceleration of the joint
-
isActive
public boolean isActive()
a joint is active if its motorized/controlled in some
fasion. passive or non-active joints are typically used in parrallel robots.- Returns:
-
multiplyTransform
public void multiplyTransform(Transform3D parent, State state, Transform3D result)
Post-multiply the transform of the frame to the parent transform.
The transform is calculated for the joint values of state.
The exact implementation of getTransform() depends on the type of
frame. See for example RevoluteJoint and PrismaticJoint.
- Parameters:
parent
- [in] The world transform of the parent frame.state
- [in] Joint values for the forward kinematics tree.result
- [in] The transform of the frame in the world frame.
-
getDOF
public int getDOF()
The number of degrees of freedom (dof) of the frame.
The dof is the number of joint values that are used for controlling
the frame.
Given a set joint values of type State, the getDof() number of joint
values for the frame can be read and written with State::getQ() and
State::setQ().
- Returns:
- The number of degrees of freedom of the frame.
-
wTf
public Transform3D wTf(State state)
Get the transform relative to world.- Parameters:
state
- [in] the state.- Returns:
- transform relative to world.
-
fTf
public Transform3D fTf(FrameCPtr to, State state)
Get the transform of other frame relative to this frame.- Parameters:
to
- [in] the other framestate
- [in] the state.- Returns:
- transform of frame to relative to this frame.
-
getID
public int getID()
An integer ID for the StateData.
IDs are assigned to the state data upon insertion State.
StateData that are not in a State have an ID of -1.
StateData present in different trees may have identical IDs.
IDs are used for the efficient implementation of State. Normally,
you should not make use of StateData IDs yourself.
- Returns:
- An integer ID for the frame.
-
getName
public java.lang.String getName()
The name of the state data.
- Returns:
- The name of the state data.
-
size
public int size()
The number of doubles allocated by this StateData in
each State object.
- Returns:
- The number of doubles allocated by the StateData
-
setData
public void setData(State state, vector_d vals)
Assign for state data the size() of values of the array
vals.
The array vals must be of length at least size().
- Parameters:
state
- [inout] The state to which vals are written.
vals
- [in] The joint values to assign.
setData() and getData() are related as follows:
data.setData(state, q_in); const double* q_out = data.getData(state); for (int i = 0; i < data.getDOF(); i++) q_in[i] == q_out[i];
-
setData
public void setData(State state, double val)
Assign for state data the size() of values of the array
vals.
The array vals must be of length at least size().
- Parameters:
state
- [inout] The state to which vals are written.
setData() and getData() are related as follows:
data.setData(state, q_in); const double* q_out = data.getData(state); for (int i = 0; i < data.getDOF(); i++) q_in[i] == q_out[i];
-
hasCache
public boolean hasCache()
Check is state data includes a cache.- Returns:
- true if cache, false otherwise.
-
getCache
public StateCachePtr getCache(State state)
Get the cache.- Parameters:
state
- [in] the state.- Returns:
- the cache.
-
-