Fixed tendons allow the simulation of coupled relationships between joint degrees of freedom in an articulation. Fixed tendons do not allow linking arbitrary joint axes of the articulation: The respective joints must all be directly connected to each other in the articulation structure, i.e. each of the joints in the tendon must be connected by a single articulation link to another joint in the same tendon. This implies both that 1) fixed tendons can branch along a branching articulation; and 2) they cannot be used to create relationships between axes in a spherical joint with more than one degree of freedom. Locked joint axes or fixed joints are currently not supported.
-
Nested Class Summary
Nested classes/interfaces inherited from class physx.NativeObject
NativeObject.Allocator<T> -
Field Summary
FieldsFields inherited from class physx.NativeObject
address, isExternallyAllocated, SIZEOF_BYTE, SIZEOF_DOUBLE, SIZEOF_FLOAT, SIZEOF_INT, SIZEOF_LONG, SIZEOF_POINTER, SIZEOF_SHORT -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic PxArticulationFixedTendonarrayGet(long baseAddress, int index) createTendonJoint(PxArticulationTendonJoint parent, PxArticulationAxisEnum axis, float coefficient, float recipCoefficient, PxArticulationLink link) Creates an articulation tendon joint and adds it to the list of children in the parent tendon joint.voiddestroy()Gets the low and high limit on the length of the tendon.intReturns the number of tendon joints in the tendon.floatGets the spring rest length of the tendon.voidsetLimitParameters(PxArticulationTendonLimit parameter) Sets the low and high limit on the length of the tendon.voidsetRestLength(float restLength) Sets the spring rest length of the tendon.static PxArticulationFixedTendonwrapPointer(long address) Methods inherited from class physx.physics.PxArticulationTendon
getArticulation, getDamping, getLimitStiffness, getOffset, getStiffness, setDamping, setLimitStiffness, setOffset, setOffset, setStiffnessMethods inherited from class physx.common.PxBase
getBaseFlags, getConcreteType, getConcreteTypeName, isReleasable, release, setBaseFlag, setBaseFlagsMethods inherited from class physx.NativeObject
checkNotNull, equals, getAddress, hashCode
-
Field Details
-
SIZEOF
public static final int SIZEOF -
ALIGNOF
public static final int ALIGNOF- See Also:
-
-
Constructor Details
-
PxArticulationFixedTendon
protected PxArticulationFixedTendon() -
PxArticulationFixedTendon
protected PxArticulationFixedTendon(long address)
-
-
Method Details
-
wrapPointer
-
arrayGet
-
destroy
public void destroy()- Overrides:
destroyin classPxArticulationTendon
-
createTendonJoint
public PxArticulationTendonJoint createTendonJoint(PxArticulationTendonJoint parent, PxArticulationAxisEnum axis, float coefficient, float recipCoefficient, PxArticulationLink link) Creates an articulation tendon joint and adds it to the list of children in the parent tendon joint.Creating a tendon joint is not allowed while the articulation is in a scene. In order to add the joint, remove and then re-add the articulation to the scene.
- Parameters:
parent- The parent tendon joint. Can be NULL for the root tendon joint of a tendon.axis- The degree of freedom that this tendon joint is associated with.coefficient- A user-defined scale that the accumulated tendon length is scaled by.recipCoefficient- The scale that the tendon's response is multiplied by when applying to this tendon joint.link- The link (and the link's incoming joint in particular) that this tendon joint is associated with.- Returns:
- The newly-created tendon joint if creation was successful, otherwise a null pointer.
Note: - The axis motion must not be configured as PxArticulationMotion::eLOCKED. - The axis cannot be part of a fixed joint, i.e. joint configured as PxArticulationJointType::eFIX.
- See Also:
-
getNbTendonJoints
public int getNbTendonJoints()Returns the number of tendon joints in the tendon.- Returns:
- The number of tendon joints.
-
setRestLength
public void setRestLength(float restLength) Sets the spring rest length of the tendon.The accumulated "length" of a fixed tendon is a linear combination of the joint axis positions that the tendon is associated with, scaled by the respective tendon joints' coefficients. As such, when the joint positions of all joints are zero, the accumulated length of a fixed tendon is zero.
The spring of the tendon is not exerting any force on the articulation when the rest length is equal to the tendon's accumulated length plus the tendon offset.
- Parameters:
restLength- The spring rest length of the tendon.- See Also:
-
getRestLength
public float getRestLength()Gets the spring rest length of the tendon.- Returns:
- The spring rest length of the tendon.
- See Also:
-
setLimitParameters
Sets the low and high limit on the length of the tendon.- Parameters:
parameter- Struct with the low and high limit.The limits, together with the damping and limit stiffness parameters, act on the accumulated length of the tendon.
- See Also:
-
getLimitParameters
Gets the low and high limit on the length of the tendon.- Returns:
- Struct with the low and high limit.
- See Also:
-