Data structure with instanced dynamics data and configuration data of a vehicle with no drive model. More...
#include <PxVehicleNoDrive.h>
Public Member Functions | |
void | free () |
Deallocate a PxVehicleNoDrive instance. More... | |
void | setup (PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData) |
Set up a vehicle using simulation data for the wheels. More... | |
void | setToRestState () |
Set a vehicle to its rest state. Aside from the rigid body transform, this will set the vehicle and rigid body to the state they were in immediately after setup or create. More... | |
void | setBrakeTorque (const PxU32 id, const PxReal brakeTorque) |
Set the brake torque to be applied to a specific wheel. More... | |
void | setDriveTorque (const PxU32 id, const PxReal driveTorque) |
Set the drive torque to be applied to a specific wheel. More... | |
void | setSteerAngle (const PxU32 id, const PxReal steerAngle) |
Set the steer angle to be applied to a specific wheel. More... | |
PxReal | getBrakeTorque (const PxU32 id) const |
Get the brake torque that has been applied to a specific wheel. More... | |
PxReal | getDriveTorque (const PxU32 id) const |
Get the drive torque that has been applied to a specific wheel. More... | |
PxReal | getSteerAngle (const PxU32 id) const |
Get the steer angle that has been applied to a specific wheel. More... | |
PxVehicleNoDrive (PxBaseFlags baseFlags) | |
virtual void | exportExtraData (PxSerializationContext &) |
void | importExtraData (PxDeserializationContext &) |
virtual const char * | getConcreteTypeName () const |
Returns string name of dynamic type. More... | |
virtual bool | isKindOf (const char *name) const |
Returns whether a given type name matches with the type of this instance. More... | |
PxU32 | getNbSteerAngle () const |
PxU32 | getNbDriveTorque () const |
PxU32 | getNbBrakeTorque () const |
Public Member Functions inherited from PxVehicleWheels | |
PX_FORCE_INLINE PxU32 | getVehicleType () const |
Return the type of vehicle. More... | |
PX_FORCE_INLINE PxRigidDynamic * | getRigidDynamicActor () |
Get non-const ptr to PxRigidDynamic instance that is the vehicle's physx representation. More... | |
PX_FORCE_INLINE const PxRigidDynamic * | getRigidDynamicActor () const |
Get const ptr to PxRigidDynamic instance that is the vehicle's physx representation. More... | |
PxReal | computeForwardSpeed () const |
Compute the rigid body velocity component along the forward vector of the rigid body transform. More... | |
PxReal | computeSidewaysSpeed () const |
Compute the rigid body velocity component along the right vector of the rigid body transform. More... | |
virtual void | requires (PxProcessPxBaseCallback &c) |
void | importExtraData (PxDeserializationContext &) |
void | resolveReferences (PxDeserializationContext &) |
PX_FORCE_INLINE PxU32 | getNbNonDrivenWheels () const |
PxVehicleWheels (PxType concreteType, PxBaseFlags baseFlags) | |
PxVehicleWheels (PxBaseFlags baseFlags) | |
virtual | ~PxVehicleWheels () |
virtual void | release () |
Releases the PxBase instance, please check documentation of release in derived class. 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... | |
Static Public Member Functions | |
static PxVehicleNoDrive * | allocate (const PxU32 nbWheels) |
Allocate a PxVehicleNoDrive instance for a vehicle without drive model and with nbWheels. More... | |
static PxVehicleNoDrive * | create (PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData) |
Allocate and set up a vehicle using simulation data for the wheels. More... | |
static PxVehicleNoDrive * | createObject (PxU8 *&address, PxDeserializationContext &context) |
static void | getBinaryMetaData (PxOutputStream &stream) |
Static Public Member Functions inherited from PxVehicleWheels | |
static void | getBinaryMetaData (PxOutputStream &stream) |
Protected Member Functions | |
PxVehicleNoDrive () | |
~PxVehicleNoDrive () | |
Protected Member Functions inherited from PxVehicleWheels | |
void | setToRestState () |
Set all wheels to their rest state. More... | |
bool | isValid () const |
Test that all configuration and instanced dynamics data is valid. More... | |
void | free () |
Deallocate a PxVehicleWheels instance. More... | |
void | setup (PxPhysics *physics, PxRigidDynamic *vehActor, const PxVehicleWheelsSimData &wheelsData, const PxU32 nbDrivenWheels, const PxU32 nbNonDrivenWheels) |
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 |
Private Member Functions | |
bool | isValid () const |
Test if the instanced dynamics and configuration data has legal values. More... | |
Private Attributes | |
PxReal * | mSteerAngles |
PxReal * | mDriveTorques |
PxReal * | mBrakeTorques |
PxU32 | mPad [1] |
Friends | |
class | PxVehicleUpdate |
Additional Inherited Members | |
Public Attributes inherited from PxVehicleWheels | |
PxVehicleWheelsSimData | mWheelsSimData |
Data describing the setup of all the wheels/suspensions/tires. More... | |
PxVehicleWheelsDynData | mWheelsDynData |
Data describing the dynamic state of all wheels/suspension/tires. More... | |
Static Protected Member Functions inherited from PxVehicleWheels | |
static PxU32 | computeByteSize (const PxU32 nbWheels4) |
static PxU8 * | patchupPointers (PxVehicleWheels *veh, PxU8 *ptr, const PxU32 nbWheels4, const PxU32 nbWheels, bool renew=true) |
Protected Attributes inherited from PxVehicleWheels | |
PxRigidDynamic * | mActor |
The rigid body actor that represents the vehicle in the PhysX SDK. More... | |
PxU8 | mType |
Vehicle type (eVehicleDriveTypes) More... | |
PxU8 | mPad [14] |
Data structure with instanced dynamics data and configuration data of a vehicle with no drive model.
|
inline |
|
protected |
|
inlineprotected |
|
static |
Allocate a PxVehicleNoDrive instance for a vehicle without drive model and with nbWheels.
[in] | nbWheels | is the number of wheels on the vehicle. |
|
static |
Allocate and set up a vehicle using simulation data for the wheels.
[in] | physics | is a PxPhysics instance that is needed to create special vehicle constraints that are maintained by the vehicle. |
[in] | vehActor | is a PxRigidDynamic instance that is used to represent the vehicle in the PhysX SDK. |
[in] | wheelsData | describes the configuration of all suspension/tires/wheels of the vehicle. The vehicle instance takes a copy of this data. |
|
static |
|
virtual |
Reimplemented from PxVehicleWheels.
void PxVehicleNoDrive::free | ( | ) |
Deallocate a PxVehicleNoDrive instance.
|
static |
Get the brake torque that has been applied to a specific wheel.
[in] | id | is the wheel being queried for its brake torque |
|
inlinevirtual |
Returns string name of dynamic type.
Reimplemented from PxVehicleWheels.
Get the drive torque that has been applied to a specific wheel.
[in] | id | is the wheel being queried for its drive torque |
|
inline |
|
inline |
|
inline |
Get the steer angle that has been applied to a specific wheel.
[in] | id | is the wheel being queried for its steer angle |
void PxVehicleNoDrive::importExtraData | ( | PxDeserializationContext & | ) |
|
inlinevirtual |
Returns whether a given type name matches with the type of this instance.
Reimplemented from PxVehicleWheels.
References PxBase::isKindOf().
|
private |
Test if the instanced dynamics and configuration data has legal values.
Set the brake torque to be applied to a specific wheel.
[in] | id | is the wheel being given the brake torque |
[in] | brakeTorque | is the value of the brake torque |
Set the drive torque to be applied to a specific wheel.
[in] | id | is the wheel being given the brake torque |
[in] | driveTorque | is the value of the brake torque |
Set the steer angle to be applied to a specific wheel.
[in] | id | is the wheel being given the steer angle |
[in] | steerAngle | is the value of the steer angle in radians. |
void PxVehicleNoDrive::setToRestState | ( | ) |
Set a vehicle to its rest state. Aside from the rigid body transform, this will set the vehicle and rigid body to the state they were in immediately after setup or create.
void PxVehicleNoDrive::setup | ( | PxPhysics * | physics, |
PxRigidDynamic * | vehActor, | ||
const PxVehicleWheelsSimData & | wheelsData | ||
) |
Set up a vehicle using simulation data for the wheels.
[in] | physics | is a PxPhysics instance that is needed to create special vehicle constraints that are maintained by the vehicle. |
[in] | vehActor | is a PxRigidDynamic instance that is used to represent the vehicle in the PhysX SDK. |
[in] | wheelsData | describes the configuration of all suspension/tires/wheels of the vehicle. The vehicle instance takes a copy of this data. |
|
friend |
|
private |
|
private |
|
private |
|
private |