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 
14 #include "LinearMath/btVector3.h"
15 #include "LinearMath/btTransform.h"
16 
17 class btRigidBody;
18 
20 {
27 
34 
35 };
36 
39 {
40  struct RaycastInfo
41  {
42  //set by raycaster
43  btVector3 m_contactNormalWS;//contactnormal
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 
90 
99  m_steering = btScalar(0.);
100  m_engineForce = btScalar(0.);
101  m_rotation = btScalar(0.);
103  m_brake = btScalar(0.);
104  m_rollInfluence = btScalar(0.1);
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 
btWheelInfo::m_deltaRotation
btScalar m_deltaRotation
Definition: btWheelInfo.h:70
btWheelInfo::RaycastInfo::m_suspensionLength
btScalar m_suspensionLength
Definition: btWheelInfo.h:45
btRigidBody
The btRigidBody is the main class for rigid body objects.
Definition: btRigidBody.h:62
btWheelInfo::m_worldTransform
btTransform m_worldTransform
Definition: btWheelInfo.h:55
btWheelInfo::m_suspensionRelativeVelocity
btScalar m_suspensionRelativeVelocity
Definition: btWheelInfo.h:113
btWheelInfo::m_clientInfo
void * m_clientInfo
Definition: btWheelInfo.h:80
btWheelInfo::m_rollInfluence
btScalar m_rollInfluence
Definition: btWheelInfo.h:71
btScalar
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
Definition: btScalar.h:292
btWheelInfoConstructionInfo::m_chassisConnectionCS
btVector3 m_chassisConnectionCS
Definition: btWheelInfo.h:21
btWheelInfoConstructionInfo::m_frictionSlip
btScalar m_frictionSlip
Definition: btWheelInfo.h:31
btWheelInfo::m_skidInfo
btScalar m_skidInfo
Definition: btWheelInfo.h:116
btWheelInfo::btWheelInfo
btWheelInfo()
Definition: btWheelInfo.h:82
btWheelInfo::m_rotation
btScalar m_rotation
Definition: btWheelInfo.h:69
btWheelInfo::updateWheel
void updateWheel(const btRigidBody &chassis, RaycastInfo &raycastInfo)
Definition: btWheelInfo.cpp:22
btWheelInfo::RaycastInfo::m_contactNormalWS
btVector3 m_contactNormalWS
Definition: btWheelInfo.h:43
btWheelInfo::getSuspensionRestLength
btScalar getSuspensionRestLength() const
Definition: btWheelInfo.cpp:15
btWheelInfoConstructionInfo::m_bIsFrontWheel
bool m_bIsFrontWheel
Definition: btWheelInfo.h:33
btWheelInfo::RaycastInfo
Definition: btWheelInfo.h:40
btWheelInfoConstructionInfo
Definition: btWheelInfo.h:19
btWheelInfoConstructionInfo::m_suspensionStiffness
btScalar m_suspensionStiffness
Definition: btWheelInfo.h:28
btWheelInfoConstructionInfo::m_suspensionRestLength
btScalar m_suspensionRestLength
Definition: btWheelInfo.h:24
btVector3.h
btWheelInfo::m_wheelsSuspensionForce
btScalar m_wheelsSuspensionForce
Definition: btWheelInfo.h:115
btWheelInfo::m_maxSuspensionTravelCm
btScalar m_maxSuspensionTravelCm
Definition: btWheelInfo.h:61
btWheelInfo::m_suspensionStiffness
btScalar m_suspensionStiffness
Definition: btWheelInfo.h:64
btWheelInfoConstructionInfo::m_wheelsDampingCompression
btScalar m_wheelsDampingCompression
Definition: btWheelInfo.h:29
btWheelInfo::RaycastInfo::m_groundObject
void * m_groundObject
Definition: btWheelInfo.h:50
btWheelInfo::m_suspensionRestLength1
btScalar m_suspensionRestLength1
Definition: btWheelInfo.h:60
btTransform.h
btWheelInfo::RaycastInfo::m_wheelDirectionWS
btVector3 m_wheelDirectionWS
Definition: btWheelInfo.h:47
btWheelInfo::RaycastInfo::m_hardPointWS
btVector3 m_hardPointWS
Definition: btWheelInfo.h:46
btTransform
The btTransform class supports rigid transforms with only translation and rotation and no scaling/she...
Definition: btTransform.h:34
btVector3
btVector3 can be used to represent 3D points and vectors.
Definition: btVector3.h:83
btWheelInfoConstructionInfo::m_wheelsDampingRelaxation
btScalar m_wheelsDampingRelaxation
Definition: btWheelInfo.h:30
btWheelInfo::m_bIsFrontWheel
bool m_bIsFrontWheel
Definition: btWheelInfo.h:78
btWheelInfoConstructionInfo::m_wheelRadius
btScalar m_wheelRadius
Definition: btWheelInfo.h:26
btWheelInfo::m_brake
btScalar m_brake
Definition: btWheelInfo.h:76
btWheelInfo::m_maxSuspensionForce
btScalar m_maxSuspensionForce
Definition: btWheelInfo.h:72
btWheelInfo::m_chassisConnectionPointCS
btVector3 m_chassisConnectionPointCS
Definition: btWheelInfo.h:57
btWheelInfoConstructionInfo::m_maxSuspensionTravelCm
btScalar m_maxSuspensionTravelCm
Definition: btWheelInfo.h:25
btWheelInfo::m_frictionSlip
btScalar m_frictionSlip
Definition: btWheelInfo.h:67
btWheelInfo::m_wheelsDampingCompression
btScalar m_wheelsDampingCompression
Definition: btWheelInfo.h:65
btWheelInfoConstructionInfo::m_wheelDirectionCS
btVector3 m_wheelDirectionCS
Definition: btWheelInfo.h:22
btWheelInfoConstructionInfo::m_wheelAxleCS
btVector3 m_wheelAxleCS
Definition: btWheelInfo.h:23
btWheelInfoConstructionInfo::m_maxSuspensionForce
btScalar m_maxSuspensionForce
Definition: btWheelInfo.h:32
btWheelInfo::m_wheelDirectionCS
btVector3 m_wheelDirectionCS
Definition: btWheelInfo.h:58
btWheelInfo::m_wheelsDampingRelaxation
btScalar m_wheelsDampingRelaxation
Definition: btWheelInfo.h:66
btWheelInfo::RaycastInfo::m_contactPointWS
btVector3 m_contactPointWS
Definition: btWheelInfo.h:44
btWheelInfo::m_steering
btScalar m_steering
Definition: btWheelInfo.h:68
btWheelInfo::m_engineForce
btScalar m_engineForce
Definition: btWheelInfo.h:74
btWheelInfo::m_clippedInvContactDotSuspension
btScalar m_clippedInvContactDotSuspension
Definition: btWheelInfo.h:112
btWheelInfo::btWheelInfo
btWheelInfo(btWheelInfoConstructionInfo &ci)
Definition: btWheelInfo.h:84
btWheelInfo::RaycastInfo::m_wheelAxleWS
btVector3 m_wheelAxleWS
Definition: btWheelInfo.h:48
btWheelInfo
btWheelInfo contains information per wheel about friction and suspension.
Definition: btWheelInfo.h:38
btWheelInfo::m_raycastInfo
RaycastInfo m_raycastInfo
Definition: btWheelInfo.h:53
btWheelInfo::m_wheelAxleCS
btVector3 m_wheelAxleCS
Definition: btWheelInfo.h:59
btWheelInfo::m_wheelsRadius
btScalar m_wheelsRadius
Definition: btWheelInfo.h:63
btWheelInfo::RaycastInfo::m_isInContact
bool m_isInContact
Definition: btWheelInfo.h:49