|
RavEngine
|
A fixed tendon that can be used to link multiple degrees of freedom of multiple articulation joints via length and limit constraints. More...
#include <PxArticulationTendon.h>
Public Member Functions | |
| virtual PxArticulationTendonJoint * | createTendonJoint (PxArticulationTendonJoint *parent, PxArticulationAxis::Enum axis, const PxReal coefficient, const PxReal recipCoefficient, PxArticulationLink *link)=0 |
| Creates an articulation tendon joint and adds it to the list of children in the parent tendon joint. | |
| virtual PxU32 | getTendonJoints (PxArticulationTendonJoint **userBuffer, PxU32 bufferSize, PxU32 startIndex=0) const =0 |
| Fills a user-provided buffer of tendon-joint pointers with the set of tendon joints. | |
| virtual PxU32 | getNbTendonJoints () const =0 |
| Returns the number of tendon joints in the tendon. | |
| virtual void | setRestLength (const PxReal restLength)=0 |
| Sets the spring rest length of the tendon. | |
| virtual PxReal | getRestLength () const =0 |
| Gets the spring rest length of the tendon. | |
| virtual void | setLimitParameters (const PxArticulationTendonLimit ¶meter)=0 |
| Sets the low and high limit on the length of the tendon. | |
| virtual PxArticulationTendonLimit | getLimitParameters () const =0 |
| Gets the low and high limit on the length of the tendon. | |
| virtual const char * | getConcreteTypeName () const |
| Returns the string name of the dynamic type. | |
Public Member Functions inherited from physx::PxArticulationTendon | |
| virtual void | setStiffness (const PxReal stiffness)=0 |
| Sets the spring stiffness term acting on the tendon length. | |
| virtual PxReal | getStiffness () const =0 |
| Gets the spring stiffness of the tendon. | |
| virtual void | setDamping (const PxReal damping)=0 |
| Sets the damping term acting both on the tendon length and tendon-length limits. | |
| virtual PxReal | getDamping () const =0 |
| Gets the damping term acting both on the tendon length and tendon-length limits. | |
| virtual void | setLimitStiffness (const PxReal stiffness)=0 |
| Sets the limit stiffness term acting on the tendon's length limits. | |
| virtual PxReal | getLimitStiffness () const =0 |
| Gets the limit stiffness term acting on the tendon's length limits. | |
| virtual void | setOffset (const PxReal offset, bool autowake=true)=0 |
| Sets the length offset term for the tendon. | |
| virtual PxReal | getOffset () const =0 |
| Gets the length offset term for the tendon. | |
| virtual PxArticulationReducedCoordinate * | getArticulation () const =0 |
| Gets the articulation that the tendon is a part of. | |
| virtual void | release ()=0 |
| Releases a tendon to remove it from the articulation and free its associated memory. | |
Public Member Functions inherited from physx::PxBase | |
| template<class T > | |
| T * | is () |
| template<class T > | |
| const T * | is () const |
| PX_FORCE_INLINE PxType | getConcreteType () const |
| Returns concrete type of object. | |
| PX_FORCE_INLINE void | setBaseFlag (PxBaseFlag::Enum flag, bool value) |
| Set PxBaseFlag | |
| PX_FORCE_INLINE void | setBaseFlags (PxBaseFlags inFlags) |
| Set PxBaseFlags | |
| PX_FORCE_INLINE PxBaseFlags | getBaseFlags () const |
| Returns PxBaseFlags. | |
| virtual bool | isReleasable () const |
| Whether the object is subordinate. | |
Protected Member Functions | |
| PX_INLINE | PxArticulationFixedTendon (PxType concreteType, PxBaseFlags baseFlags) |
| PX_INLINE | PxArticulationFixedTendon (PxBaseFlags baseFlags) |
Protected Member Functions inherited from physx::PxArticulationTendon | |
| PX_INLINE | PxArticulationTendon (PxType concreteType, PxBaseFlags baseFlags) |
| PX_INLINE | PxArticulationTendon (PxBaseFlags baseFlags) |
Protected Member Functions inherited from physx::PxBase | |
| PX_INLINE | PxBase (PxType concreteType, PxBaseFlags baseFlags) |
| Constructor setting concrete type and base flags. | |
| PX_INLINE | PxBase (PxBaseFlags baseFlags) |
| Deserialization constructor setting base flags. | |
| virtual | ~PxBase () |
| Destructor. | |
| virtual bool | isKindOf (const char *superClass) const |
| Returns whether a given type name matches with the type of this instance. | |
| template<class T > | |
| bool | typeMatch () const |
Additional Inherited Members | |
Public Attributes inherited from physx::PxArticulationTendon | |
| void * | userData |
| user can assign this to whatever, usually to create a 1:1 relationship with a user object. | |
Protected Attributes inherited from physx::PxBase | |
| PxType | mConcreteType |
| PxBaseFlags | mBaseFlags |
| PxU32 | mBuiltInRefCount |
A fixed tendon that can be used to link multiple degrees of freedom of multiple articulation joints via length and limit constraints.
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.
|
pure virtual |
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.
| [in] | parent | The parent tendon joint. Can be NULL for the root tendon joint of a tendon. |
| [in] | axis | The degree of freedom that this tendon joint is associated with. |
| [in] | coefficient | A user-defined scale that the accumulated tendon length is scaled by. |
| [in] | recipCoefficient | The scale that the tendon's response is multiplied by when applying to this tendon joint. |
| [in] | link | The link (and the link's incoming joint in particular) that this tendon joint is associated with. |
Implemented in physx::NpArticulationFixedTendon.
|
inlinevirtual |
|
pure virtual |
Gets the low and high limit on the length of the tendon.
Implemented in physx::NpArticulationFixedTendon.
|
pure virtual |
Returns the number of tendon joints in the tendon.
Implemented in physx::NpArticulationFixedTendon.
|
pure virtual |
Gets the spring rest length of the tendon.
Implemented in physx::NpArticulationFixedTendon.
|
pure virtual |
Fills a user-provided buffer of tendon-joint pointers with the set of tendon joints.
| [in] | userBuffer | The user-provided buffer. |
| [in] | bufferSize | The size of the buffer. If this is not large enough to contain all the pointers to tendon joints, only as many as can fit are written. Use getNbTendonJoints to size for all tendon joints. |
| [in] | startIndex | Index of first tendon joint pointer to be retrieved. |
Implemented in physx::NpArticulationFixedTendon.
|
pure virtual |
Sets the low and high limit on the length of the tendon.
| [in] | 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.
Implemented in physx::NpArticulationFixedTendon.
|
pure virtual |
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.
| [in] | restLength | The spring rest length of the tendon. |
Implemented in physx::NpArticulationFixedTendon.