PxConstraint Class Referenceabstract

A plugin class for implementing constraints. More...

#include <PxConstraint.h>

Inheritance diagram for PxConstraint:
Collaboration diagram for PxConstraint:

Public Member Functions

virtual void release ()=0
 Releases a PxConstraint instance. More...
 
virtual PxScenegetScene () const =0
 Retrieves the scene which this constraint belongs to. More...
 
virtual void getActors (PxRigidActor *&actor0, PxRigidActor *&actor1) const =0
 Retrieves the actors for this constraint. More...
 
virtual void setActors (PxRigidActor *actor0, PxRigidActor *actor1)=0
 Sets the actors for this constraint. More...
 
virtual void markDirty ()=0
 Notify the scene that the constraint shader data has been updated by the application. More...
 
virtual void setFlags (PxConstraintFlags flags)=0
 Set the flags for this constraint. More...
 
virtual PxConstraintFlags getFlags () const =0
 Retrieve the flags for this constraint. More...
 
virtual void setFlag (PxConstraintFlag::Enum flag, bool value)=0
 Set a flag for this constraint. More...
 
virtual void getForce (PxVec3 &linear, PxVec3 &angular) const =0
 Retrieve the constraint force most recently applied to maintain this constraint. More...
 
virtual bool isValid () const =0
 whether the constraint is valid. More...
 
virtual void setBreakForce (PxReal linear, PxReal angular)=0
 Set the break force and torque thresholds for this constraint. More...
 
virtual void getBreakForce (PxReal &linear, PxReal &angular) const =0
 Retrieve the constraint break force and torque thresholds. More...
 
virtual void setMinResponseThreshold (PxReal threshold)=0
 Set the minimum response threshold for a constraint row. More...
 
virtual PxReal getMinResponseThreshold () const =0
 Retrieve the constraint break force and torque thresholds. More...
 
virtual void * getExternalReference (PxU32 &typeID)=0
 Fetch external owner of the constraint. More...
 
virtual void setConstraintFunctions (PxConstraintConnector &connector, const PxConstraintShaderTable &shaders)=0
 Set the constraint functions for this constraint. More...
 
virtual const char * getConcreteTypeName () const
 Returns string name of dynamic type. More...
 
- Public Member Functions inherited from PxBase
template<class T >
T * is ()
 
template<class T >
const T * is () const
 
PX_FORCE_INLINE PxType getConcreteType () const
 Returns concrete type of object. More...
 
PX_FORCE_INLINE void setBaseFlag (PxBaseFlag::Enum flag, bool value)
 Set PxBaseFlag. More...
 
PX_FORCE_INLINE void setBaseFlags (PxBaseFlags inFlags)
 Set PxBaseFlags. More...
 
PX_FORCE_INLINE PxBaseFlags getBaseFlags () const
 Returns PxBaseFlags. More...
 
virtual bool isReleasable () const
 Whether the object is subordinate. More...
 

Protected Member Functions

PX_INLINE PxConstraint (PxType concreteType, PxBaseFlags baseFlags)
 
PX_INLINE PxConstraint (PxBaseFlags baseFlags)
 
virtual ~PxConstraint ()
 
virtual bool isKindOf (const char *name) const
 Returns whether a given type name matches with the type of this instance. More...
 
- Protected Member Functions inherited from PxBase
PX_INLINE PxBase (PxType concreteType, PxBaseFlags baseFlags)
 Constructor setting concrete type and base flags. More...
 
PX_INLINE PxBase (PxBaseFlags baseFlags)
 Deserialization constructor setting base flags. More...
 
virtual ~PxBase ()
 Destructor. More...
 
template<class T >
bool typeMatch () const
 

Additional Inherited Members

- Protected Attributes inherited from PxBase
PxType mConcreteType
 
PxBaseFlags mBaseFlags
 

Detailed Description

A plugin class for implementing constraints.

See also
PxPhysics.createConstraint

Constructor & Destructor Documentation

◆ PxConstraint() [1/2]

PX_INLINE PxConstraint::PxConstraint ( PxType  concreteType,
PxBaseFlags  baseFlags 
)
inlineprotected

◆ PxConstraint() [2/2]

PX_INLINE PxConstraint::PxConstraint ( PxBaseFlags  baseFlags)
inlineprotected

◆ ~PxConstraint()

virtual PxConstraint::~PxConstraint ( )
inlineprotectedvirtual

Member Function Documentation

◆ getActors()

virtual void PxConstraint::getActors ( PxRigidActor *&  actor0,
PxRigidActor *&  actor1 
) const
pure virtual

Retrieves the actors for this constraint.

Parameters
[out]actor0a reference to the pointer for the first actor
[out]actor1a reference to the pointer for the second actor
See also
PxActor

◆ getBreakForce()

virtual void PxConstraint::getBreakForce ( PxReal &  linear,
PxReal &  angular 
) const
pure virtual

Retrieve the constraint break force and torque thresholds.

Parameters
[out]linearthe linear break threshold
[out]angularthe angular break threshold

◆ getConcreteTypeName()

virtual const char* PxConstraint::getConcreteTypeName ( ) const
inlinevirtual

Returns string name of dynamic type.

Returns
Class name of most derived type of this object.

Implements PxBase.

◆ getExternalReference()

virtual void* PxConstraint::getExternalReference ( PxU32 typeID)
pure virtual

Fetch external owner of the constraint.

Provides a reference to the external owner of a constraint and a unique owner type ID.

Parameters
[out]typeIDUnique type identifier of the external object.
Returns
Reference to the external object which owns the constraint.
See also
PxConstraintConnector.getExternalReference()

◆ getFlags()

virtual PxConstraintFlags PxConstraint::getFlags ( ) const
pure virtual

Retrieve the flags for this constraint.

Returns
the constraint flags
See also
PxConstraintFlags

◆ getForce()

virtual void PxConstraint::getForce ( PxVec3 linear,
PxVec3 angular 
) const
pure virtual

Retrieve the constraint force most recently applied to maintain this constraint.

Parameters
[out]linearthe constraint force
[out]angularthe constraint torque

◆ getMinResponseThreshold()

virtual PxReal PxConstraint::getMinResponseThreshold ( ) const
pure virtual

Retrieve the constraint break force and torque thresholds.

Returns
the minimum response threshold for a constraint row

◆ getScene()

virtual PxScene* PxConstraint::getScene ( ) const
pure virtual

Retrieves the scene which this constraint belongs to.

Returns
Owner Scene. NULL if not part of a scene.
See also
PxScene

◆ isKindOf()

virtual bool PxConstraint::isKindOf ( const char *  superClass) const
inlineprotectedvirtual

Returns whether a given type name matches with the type of this instance.

Reimplemented from PxBase.

References PxBase::isKindOf().

◆ isValid()

virtual bool PxConstraint::isValid ( ) const
pure virtual

whether the constraint is valid.

A constraint is valid if it has at least one dynamic rigid body or articulation link. A constraint that is not valid may not be inserted into a scene, and therefore a static actor to which an invalid constraint is attached may not be inserted into a scene.

Invalid constraints arise only when an actor to which the constraint is attached has been deleted.

◆ markDirty()

virtual void PxConstraint::markDirty ( )
pure virtual

Notify the scene that the constraint shader data has been updated by the application.

◆ release()

virtual void PxConstraint::release ( )
pure virtual

Releases a PxConstraint instance.

Note
This call does not wake up the connected rigid bodies.
See also
PxPhysics.createConstraint, PxBase.release()

Implements PxBase.

◆ setActors()

virtual void PxConstraint::setActors ( PxRigidActor actor0,
PxRigidActor actor1 
)
pure virtual

Sets the actors for this constraint.

Parameters
[in]actor0a reference to the pointer for the first actor
[in]actor1a reference to the pointer for the second actor
See also
PxActor

◆ setBreakForce()

virtual void PxConstraint::setBreakForce ( PxReal  linear,
PxReal  angular 
)
pure virtual

Set the break force and torque thresholds for this constraint.

If either the force or torque measured at the constraint exceed these thresholds the constraint will break.

Parameters
[in]linearthe linear break threshold
[in]angularthe angular break threshold

◆ setConstraintFunctions()

virtual void PxConstraint::setConstraintFunctions ( PxConstraintConnector connector,
const PxConstraintShaderTable shaders 
)
pure virtual

Set the constraint functions for this constraint.

Parameters
[in]connectorthe constraint connector object by which the SDK communicates with the constraint.
[in]shadersthe shader table for the constraint
See also
PxConstraintConnector PxConstraintSolverPrep PxConstraintProject PxConstraintVisualize

◆ setFlag()

virtual void PxConstraint::setFlag ( PxConstraintFlag::Enum  flag,
bool  value 
)
pure virtual

Set a flag for this constraint.

Parameters
[in]flagthe constraint flag
[in]valuethe new value of the flag
See also
PxConstraintFlags

◆ setFlags()

virtual void PxConstraint::setFlags ( PxConstraintFlags  flags)
pure virtual

Set the flags for this constraint.

Parameters
[in]flagsthe new constraint flags

default: PxConstraintFlag::eDRIVE_LIMITS_ARE_FORCES

See also
PxConstraintFlags

◆ setMinResponseThreshold()

virtual void PxConstraint::setMinResponseThreshold ( PxReal  threshold)
pure virtual

Set the minimum response threshold for a constraint row.

When using mass modification for a joint or infinite inertia for a jointed body, very stiff solver constraints can be generated which can destabilize simulation. Setting this value to a small positive value (e.g. 1e-8) will cause constraint rows to be ignored if very large changes in impulses will generate only small changes in velocity. When setting this value, also set PxConstraintFlag::eDISABLE_PREPROCESSING. The solver accuracy for this joint may be reduced.

Parameters
[in]thresholdthe minimum response threshold
See also
PxConstraintFlag::eDISABLE_PREPROCESSING

The documentation for this class was generated from the following file: