Public Member Functions | Protected Member Functions | List of all members
PxConstraint Class Referenceabstract

A plugin class for implementing constraints. More...

#include <PxConstraint.h>

Inheritance diagram for PxConstraint:
Inheritance graph
[legend]
Collaboration diagram for PxConstraint:
Collaboration graph
[legend]

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 * 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_INLINE PxType getConcreteType () const
 Returns concrete type of object. More...
 
PX_INLINE void setBaseFlag (PxBaseFlag::Enum flag, bool value)
 Set PxBaseFlag. More...
 
PX_INLINE void setBaseFlags (PxBaseFlags inFlags)
 Set PxBaseFlags. More...
 
PX_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

PX_INLINE PxConstraint::PxConstraint ( PxType  concreteType,
PxBaseFlags  baseFlags 
)
inlineprotected
PX_INLINE PxConstraint::PxConstraint ( PxBaseFlags  baseFlags)
inlineprotected
virtual PxConstraint::~PxConstraint ( )
inlineprotectedvirtual

Member Function Documentation

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
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
virtual const char* PxConstraint::getConcreteTypeName ( ) const
inlinevirtual

Returns string name of dynamic type.

Returns
Class name of most derived type of this object.

Reimplemented from PxBase.

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()
virtual PxConstraintFlags PxConstraint::getFlags ( ) const
pure virtual

Retrieve the flags for this constraint.

Returns
the constraint flags
See Also
PxConstraintFlags
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
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
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().

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.

virtual void PxConstraint::markDirty ( )
pure virtual

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

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.

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
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
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
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
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

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


Copyright © 2008-2015 NVIDIA Corporation, 2701 San Tomas Expressway, Santa Clara, CA 95050 U.S.A. All rights reserved. www.nvidia.com