Bullet Collision Detection & Physics Library
btWheelInfo.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
3 *
4 * Permission to use, copy, modify, distribute and sell this software
5 * and its documentation for any purpose is hereby granted without fee,
6 * provided that the above copyright notice appear in all copies.
7 * Erwin Coumans makes no representations about the suitability
8 * of this software for any purpose.
9 * It is provided "as is" without express or implied warranty.
10*/
11#ifndef BT_WHEEL_INFO_H
12#define BT_WHEEL_INFO_H
13
16
17class btRigidBody;
18
20{
27
34
35};
36
39{
41 {
42 //set by raycaster
44 btVector3 m_contactPointWS;//raycast hitpoint
46 btVector3 m_hardPointWS;//raycast starting point
47 btVector3 m_wheelDirectionWS; //direction in worldspace
48 btVector3 m_wheelAxleWS; // axle in worldspace
50 void* m_groundObject; //could be general void* ptr
51 };
52
54
56
59 btVector3 m_wheelAxleCS; // const or modified by steering
73
75
77
79
80 void* m_clientInfo;//can be used to store pointer to sync transforms...
81
83
85
86 {
87
88 m_suspensionRestLength1 = ci.m_suspensionRestLength;
89 m_maxSuspensionTravelCm = ci.m_maxSuspensionTravelCm;
90
91 m_wheelsRadius = ci.m_wheelRadius;
92 m_suspensionStiffness = ci.m_suspensionStiffness;
93 m_wheelsDampingCompression = ci.m_wheelsDampingCompression;
94 m_wheelsDampingRelaxation = ci.m_wheelsDampingRelaxation;
95 m_chassisConnectionPointCS = ci.m_chassisConnectionCS;
96 m_wheelDirectionCS = ci.m_wheelDirectionCS;
97 m_wheelAxleCS = ci.m_wheelAxleCS;
98 m_frictionSlip = ci.m_frictionSlip;
99 m_steering = btScalar(0.);
101 m_rotation = btScalar(0.);
103 m_brake = btScalar(0.);
105 m_bIsFrontWheel = ci.m_bIsFrontWheel;
106 m_maxSuspensionForce = ci.m_maxSuspensionForce;
107
108 }
109
110 void updateWheel(const btRigidBody& chassis,RaycastInfo& raycastInfo);
111
114 //calculated by suspension
117
118};
119
120#endif //BT_WHEEL_INFO_H
121
const T & btMax(const T &a, const T &b)
Definition btMinMax.h:29
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
Definition btScalar.h:292
The btRigidBody is the main class for rigid body objects.
Definition btRigidBody.h:63
The btTransform class supports rigid transforms with only translation and rotation and no scaling/she...
Definition btTransform.h:34
btVector3 can be used to represent 3D points and vectors.
Definition btVector3.h:84
btWheelInfo contains information per wheel about friction and suspension.
Definition btWheelInfo.h:39
btScalar m_clippedInvContactDotSuspension
btScalar m_skidInfo
void updateWheel(const btRigidBody &chassis, RaycastInfo &raycastInfo)
btScalar m_suspensionStiffness
Definition btWheelInfo.h:64
btVector3 m_wheelDirectionCS
Definition btWheelInfo.h:58
btScalar getSuspensionRestLength() const
btScalar m_suspensionRestLength1
Definition btWheelInfo.h:60
btScalar m_maxSuspensionForce
Definition btWheelInfo.h:72
btScalar m_rotation
Definition btWheelInfo.h:69
btScalar m_maxSuspensionTravelCm
Definition btWheelInfo.h:61
btScalar m_steering
Definition btWheelInfo.h:68
btScalar m_wheelsSuspensionForce
btScalar m_wheelsRadius
Definition btWheelInfo.h:63
bool m_bIsFrontWheel
Definition btWheelInfo.h:78
btScalar m_rollInfluence
Definition btWheelInfo.h:71
btVector3 m_chassisConnectionPointCS
Definition btWheelInfo.h:57
void * m_clientInfo
Definition btWheelInfo.h:80
btScalar m_brake
Definition btWheelInfo.h:76
btScalar m_wheelsDampingCompression
Definition btWheelInfo.h:65
btVector3 m_wheelAxleCS
Definition btWheelInfo.h:59
btScalar m_suspensionRelativeVelocity
btScalar m_deltaRotation
Definition btWheelInfo.h:70
btScalar m_frictionSlip
Definition btWheelInfo.h:67
btScalar m_wheelsDampingRelaxation
Definition btWheelInfo.h:66
btWheelInfo(btWheelInfoConstructionInfo &ci)
Definition btWheelInfo.h:84
btTransform m_worldTransform
Definition btWheelInfo.h:55
RaycastInfo m_raycastInfo
Definition btWheelInfo.h:53
btScalar m_engineForce
Definition btWheelInfo.h:74