![]()  | 
  
    Jolt Physics
    
   A multi core friendly Game Physics Engine 
   | 
 
Wheel object specifically for TrackedVehicleController. More...
#include <TrackedVehicleController.h>
  
Public Member Functions | |
| JPH_OVERRIDE_NEW_DELETE | WheelTV (const WheelSettingsTV &inWheel) | 
| Constructor.  More... | |
| const WheelSettingsTV * | GetSettings () const | 
| Override GetSettings and cast to the correct class.  More... | |
| void | CalculateAngularVelocity (const VehicleConstraint &inConstraint) | 
| Update the angular velocity of the wheel based on the angular velocity of the track.  More... | |
| void | Update (uint inWheelIndex, float inDeltaTime, const VehicleConstraint &inConstraint) | 
| Update the wheel rotation based on the current angular velocity.  More... | |
  Public Member Functions inherited from Wheel | |
| JPH_OVERRIDE_NEW_DELETE | Wheel (const WheelSettings &inSettings) | 
| Constructor / destructor.  More... | |
| virtual | ~Wheel ()=default | 
| const WheelSettings * | GetSettings () const | 
| Get settings for the wheel.  More... | |
| float | GetAngularVelocity () const | 
| Get the angular velocity (rad/s) for this wheel, note that positive means the wheel is rotating such that the car moves forward.  More... | |
| void | SetAngularVelocity (float inVel) | 
| Update the angular velocity (rad/s)  More... | |
| float | GetRotationAngle () const | 
| Get the current rotation angle of the wheel in radians [0, 2 pi].  More... | |
| void | SetRotationAngle (float inAngle) | 
| Set the current rotation angle of the wheel in radians [0, 2 pi].  More... | |
| float | GetSteerAngle () const | 
| Get the current steer angle of the wheel in radians [-pi, pi], positive is to the left.  More... | |
| void | SetSteerAngle (float inAngle) | 
| Set the current steer angle of the wheel in radians [-pi, pi].  More... | |
| bool | HasContact () const | 
| Returns true if the wheel is touching an object.  More... | |
| BodyID | GetContactBodyID () const | 
| Returns the body ID of the body that this wheel is touching.  More... | |
| SubShapeID | GetContactSubShapeID () const | 
| Returns the sub shape ID where we're contacting the body.  More... | |
| RVec3 | GetContactPosition () const | 
| Returns the current contact position in world space (note by the time you call this the vehicle has moved)  More... | |
| Vec3 | GetContactPointVelocity () const | 
| Velocity of the contact point (m / s, not relative to the wheel but in world space)  More... | |
| Vec3 | GetContactNormal () const | 
| Returns the current contact normal in world space (note by the time you call this the vehicle has moved)  More... | |
| Vec3 | GetContactLongitudinal () const | 
| Returns longitudinal direction (direction along the wheel relative to floor) in world space (note by the time you call this the vehicle has moved)  More... | |
| Vec3 | GetContactLateral () const | 
| Returns lateral direction (sideways direction) in world space (note by the time you call this the vehicle has moved)  More... | |
| float | GetSuspensionLength () const | 
| Get the length of the suspension for a wheel (m) relative to the suspension attachment point (hard point)  More... | |
| bool | HasHitHardPoint () const | 
| Check if the suspension hit its upper limit.  More... | |
| float | GetSuspensionLambda () const | 
| Get the total impulse (N s) that was applied by the suspension.  More... | |
| float | GetLongitudinalLambda () const | 
| Get total impulse (N s) applied along the forward direction of the wheel.  More... | |
| float | GetLateralLambda () const | 
| Get total impulse (N s) applied along the sideways direction of the wheel.  More... | |
| bool | SolveLongitudinalConstraintPart (const VehicleConstraint &inConstraint, float inMinImpulse, float inMaxImpulse) | 
| Internal function that should only be called by the controller. Used to apply impulses in the forward direction of the vehicle.  More... | |
| bool | SolveLateralConstraintPart (const VehicleConstraint &inConstraint, float inMinImpulse, float inMaxImpulse) | 
| Internal function that should only be called by the controller. Used to apply impulses in the sideways direction of the vehicle.  More... | |
  Public Member Functions inherited from NonCopyable | |
| NonCopyable ()=default | |
| NonCopyable (const NonCopyable &)=delete | |
| void | operator= (const NonCopyable &)=delete | 
Public Attributes | |
| int | mTrackIndex = -1 | 
| Index in mTracks to which this wheel is attached (calculated on initialization)  More... | |
| float | mCombinedLongitudinalFriction = 0.0f | 
| Combined friction coefficient in longitudinal direction (combines terrain and track)  More... | |
| float | mCombinedLateralFriction = 0.0f | 
| Combined friction coefficient in lateral direction (combines terrain and track)  More... | |
| float | mBrakeImpulse = 0.0f | 
| Amount of impulse that the brakes can apply to the floor (excluding friction), spread out from brake impulse applied on track.  More... | |
Additional Inherited Members | |
  Protected Attributes inherited from Wheel | |
| RefConst< WheelSettings > | mSettings | 
| Configuration settings for this wheel.  More... | |
| BodyID | mContactBodyID | 
| ID of body for ground.  More... | |
| SubShapeID | mContactSubShapeID | 
| Sub shape ID for ground.  More... | |
| Body * | mContactBody = nullptr | 
| Body for ground.  More... | |
| float | mSuspensionLength | 
| Current length of the suspension.  More... | |
| RVec3 | mContactPosition | 
| Position of the contact point between wheel and ground.  More... | |
| Vec3 | mContactPointVelocity | 
| Velocity of the contact point (m / s, not relative to the wheel but in world space)  More... | |
| Vec3 | mContactNormal | 
| Normal of the contact point between wheel and ground.  More... | |
| Vec3 | mContactLongitudinal | 
| Vector perpendicular to normal in the forward direction.  More... | |
| Vec3 | mContactLateral | 
| Vector perpendicular to normal and longitudinal direction in the right direction.  More... | |
| Real | mAxlePlaneConstant | 
| Constant for the contact plane of the axle, defined as ContactNormal . (WorldSpaceSuspensionPoint + SuspensionLength * WorldSpaceSuspensionDirection)  More... | |
| float | mAntiRollBarImpulse = 0.0f | 
| Amount of impulse applied to the suspension from the anti-rollbars.  More... | |
| float | mSteerAngle = 0.0f | 
| Rotation around the suspension direction, positive is to the left.  More... | |
| float | mAngularVelocity = 0.0f | 
| Rotation speed of wheel, positive when the wheels cause the vehicle to move forwards (rad/s)  More... | |
| float | mAngle = 0.0f | 
| Current rotation of the wheel (rad, [0, 2 pi])  More... | |
| AxisConstraintPart | mSuspensionPart | 
| Controls movement up/down along the contact normal.  More... | |
| AxisConstraintPart | mSuspensionMaxUpPart | 
| Adds a hard limit when reaching the minimal suspension length.  More... | |
| AxisConstraintPart | mLongitudinalPart | 
| Controls movement forward/backward.  More... | |
| AxisConstraintPart | mLateralPart | 
| Controls movement sideways (slip)  More... | |
Wheel object specifically for TrackedVehicleController.
      
  | 
  explicit | 
Constructor.
| void WheelTV::CalculateAngularVelocity | ( | const VehicleConstraint & | inConstraint | ) | 
Update the angular velocity of the wheel based on the angular velocity of the track.
      
  | 
  inline | 
Override GetSettings and cast to the correct class.
| void WheelTV::Update | ( | uint | inWheelIndex, | 
| float | inDeltaTime, | ||
| const VehicleConstraint & | inConstraint | ||
| ) | 
Update the wheel rotation based on the current angular velocity.
| float WheelTV::mBrakeImpulse = 0.0f | 
Amount of impulse that the brakes can apply to the floor (excluding friction), spread out from brake impulse applied on track.
| float WheelTV::mCombinedLateralFriction = 0.0f | 
Combined friction coefficient in lateral direction (combines terrain and track)
| float WheelTV::mCombinedLongitudinalFriction = 0.0f | 
Combined friction coefficient in longitudinal direction (combines terrain and track)
| int WheelTV::mTrackIndex = -1 | 
Index in mTracks to which this wheel is attached (calculated on initialization)