Bullet Collision Detection & Physics Library
Main Page
Namespaces
Classes
Files
File List
File Members
src
BulletDynamics
Vehicle
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
19
struct
btWheelInfoConstructionInfo
20
{
21
btVector3
m_chassisConnectionCS
;
22
btVector3
m_wheelDirectionCS
;
23
btVector3
m_wheelAxleCS
;
24
btScalar
m_suspensionRestLength
;
25
btScalar
m_maxSuspensionTravelCm
;
26
btScalar
m_wheelRadius
;
27
28
btScalar
m_suspensionStiffness
;
29
btScalar
m_wheelsDampingCompression
;
30
btScalar
m_wheelsDampingRelaxation
;
31
btScalar
m_frictionSlip
;
32
btScalar
m_maxSuspensionForce
;
33
bool
m_bIsFrontWheel
;
34
35
};
36
38
struct
btWheelInfo
39
{
40
struct
RaycastInfo
41
{
42
//set by raycaster
43
btVector3
m_contactNormalWS
;
//contactnormal
44
btVector3
m_contactPointWS
;
//raycast hitpoint
45
btScalar
m_suspensionLength
;
46
btVector3
m_hardPointWS
;
//raycast starting point
47
btVector3
m_wheelDirectionWS
;
//direction in worldspace
48
btVector3
m_wheelAxleWS
;
// axle in worldspace
49
bool
m_isInContact
;
50
void
*
m_groundObject
;
//could be general void* ptr
51
};
52
53
RaycastInfo
m_raycastInfo
;
54
55
btTransform
m_worldTransform
;
56
57
btVector3
m_chassisConnectionPointCS
;
//const
58
btVector3
m_wheelDirectionCS
;
//const
59
btVector3
m_wheelAxleCS
;
// const or modified by steering
60
btScalar
m_suspensionRestLength1
;
//const
61
btScalar
m_maxSuspensionTravelCm
;
62
btScalar
getSuspensionRestLength()
const
;
63
btScalar
m_wheelsRadius
;
//const
64
btScalar
m_suspensionStiffness
;
//const
65
btScalar
m_wheelsDampingCompression
;
//const
66
btScalar
m_wheelsDampingRelaxation
;
//const
67
btScalar
m_frictionSlip
;
68
btScalar
m_steering
;
69
btScalar
m_rotation
;
70
btScalar
m_deltaRotation
;
71
btScalar
m_rollInfluence
;
72
btScalar
m_maxSuspensionForce
;
73
74
btScalar
m_engineForce
;
75
76
btScalar
m_brake
;
77
78
bool
m_bIsFrontWheel
;
79
80
void
*
m_clientInfo
;
//can be used to store pointer to sync transforms...
81
82
btWheelInfo
() {}
83
84
btWheelInfo
(
btWheelInfoConstructionInfo
& ci)
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.);
100
m_engineForce =
btScalar
(0.);
101
m_rotation =
btScalar
(0.);
102
m_deltaRotation =
btScalar
(0.);
103
m_brake =
btScalar
(0.);
104
m_rollInfluence =
btScalar
(0.1);
105
m_bIsFrontWheel = ci.
m_bIsFrontWheel
;
106
m_maxSuspensionForce = ci.
m_maxSuspensionForce
;
107
108
}
109
110
void
updateWheel(
const
btRigidBody
& chassis,
RaycastInfo
& raycastInfo);
111
112
btScalar
m_clippedInvContactDotSuspension
;
113
btScalar
m_suspensionRelativeVelocity
;
114
//calculated by suspension
115
btScalar
m_wheelsSuspensionForce
;
116
btScalar
m_skidInfo
;
117
118
};
119
120
#endif //BT_WHEEL_INFO_H
121
btWheelInfo::m_worldTransform
btTransform m_worldTransform
Definition:
btWheelInfo.h:55
btWheelInfo::RaycastInfo::m_groundObject
void * m_groundObject
Definition:
btWheelInfo.h:50
btWheelInfo::RaycastInfo::m_wheelDirectionWS
btVector3 m_wheelDirectionWS
Definition:
btWheelInfo.h:47
btVector3.h
btWheelInfo::m_suspensionRelativeVelocity
btScalar m_suspensionRelativeVelocity
Definition:
btWheelInfo.h:113
btWheelInfo::m_wheelsSuspensionForce
btScalar m_wheelsSuspensionForce
Definition:
btWheelInfo.h:115
btWheelInfo::m_rotation
btScalar m_rotation
Definition:
btWheelInfo.h:69
btWheelInfo::m_chassisConnectionPointCS
btVector3 m_chassisConnectionPointCS
Definition:
btWheelInfo.h:57
btWheelInfo::m_maxSuspensionTravelCm
btScalar m_maxSuspensionTravelCm
Definition:
btWheelInfo.h:61
btWheelInfo::m_frictionSlip
btScalar m_frictionSlip
Definition:
btWheelInfo.h:67
btWheelInfo::RaycastInfo
Definition:
btWheelInfo.h:40
btWheelInfoConstructionInfo::m_frictionSlip
btScalar m_frictionSlip
Definition:
btWheelInfo.h:31
btWheelInfoConstructionInfo::m_suspensionRestLength
btScalar m_suspensionRestLength
Definition:
btWheelInfo.h:24
btWheelInfo::RaycastInfo::m_isInContact
bool m_isInContact
Definition:
btWheelInfo.h:49
btTransform.h
btWheelInfoConstructionInfo::m_suspensionStiffness
btScalar m_suspensionStiffness
Definition:
btWheelInfo.h:28
btWheelInfo
btWheelInfo contains information per wheel about friction and suspension.
Definition:
btWheelInfo.h:38
btWheelInfo::RaycastInfo::m_hardPointWS
btVector3 m_hardPointWS
Definition:
btWheelInfo.h:46
btWheelInfo::m_suspensionStiffness
btScalar m_suspensionStiffness
Definition:
btWheelInfo.h:64
btWheelInfo::m_wheelDirectionCS
btVector3 m_wheelDirectionCS
Definition:
btWheelInfo.h:58
btWheelInfo::m_wheelsRadius
btScalar m_wheelsRadius
Definition:
btWheelInfo.h:63
btWheelInfoConstructionInfo::m_wheelsDampingCompression
btScalar m_wheelsDampingCompression
Definition:
btWheelInfo.h:29
btWheelInfo::m_steering
btScalar m_steering
Definition:
btWheelInfo.h:68
btWheelInfo::m_maxSuspensionForce
btScalar m_maxSuspensionForce
Definition:
btWheelInfo.h:72
btRigidBody
The btRigidBody is the main class for rigid body objects.
Definition:
btRigidBody.h:62
btWheelInfo::m_wheelsDampingCompression
btScalar m_wheelsDampingCompression
Definition:
btWheelInfo.h:65
btWheelInfoConstructionInfo::m_wheelRadius
btScalar m_wheelRadius
Definition:
btWheelInfo.h:26
btWheelInfo::m_clientInfo
void * m_clientInfo
Definition:
btWheelInfo.h:80
btWheelInfo::m_deltaRotation
btScalar m_deltaRotation
Definition:
btWheelInfo.h:70
btWheelInfoConstructionInfo::m_bIsFrontWheel
bool m_bIsFrontWheel
Definition:
btWheelInfo.h:33
btWheelInfoConstructionInfo::m_wheelsDampingRelaxation
btScalar m_wheelsDampingRelaxation
Definition:
btWheelInfo.h:30
btVector3
btVector3 can be used to represent 3D points and vectors.
Definition:
btVector3.h:83
btWheelInfo::m_wheelAxleCS
btVector3 m_wheelAxleCS
Definition:
btWheelInfo.h:59
btWheelInfo::m_rollInfluence
btScalar m_rollInfluence
Definition:
btWheelInfo.h:71
btTransform
The btTransform class supports rigid transforms with only translation and rotation and no scaling/she...
Definition:
btTransform.h:34
btWheelInfoConstructionInfo::m_maxSuspensionTravelCm
btScalar m_maxSuspensionTravelCm
Definition:
btWheelInfo.h:25
btWheelInfo::m_wheelsDampingRelaxation
btScalar m_wheelsDampingRelaxation
Definition:
btWheelInfo.h:66
btWheelInfo::m_raycastInfo
RaycastInfo m_raycastInfo
Definition:
btWheelInfo.h:53
btWheelInfoConstructionInfo
Definition:
btWheelInfo.h:19
btWheelInfo::m_clippedInvContactDotSuspension
btScalar m_clippedInvContactDotSuspension
Definition:
btWheelInfo.h:112
btWheelInfo::m_brake
btScalar m_brake
Definition:
btWheelInfo.h:76
btWheelInfo::m_skidInfo
btScalar m_skidInfo
Definition:
btWheelInfo.h:116
btWheelInfo::m_bIsFrontWheel
bool m_bIsFrontWheel
Definition:
btWheelInfo.h:78
btWheelInfo::btWheelInfo
btWheelInfo()
Definition:
btWheelInfo.h:82
btWheelInfoConstructionInfo::m_wheelDirectionCS
btVector3 m_wheelDirectionCS
Definition:
btWheelInfo.h:22
btWheelInfo::m_suspensionRestLength1
btScalar m_suspensionRestLength1
Definition:
btWheelInfo.h:60
btWheelInfo::RaycastInfo::m_contactNormalWS
btVector3 m_contactNormalWS
Definition:
btWheelInfo.h:43
btWheelInfoConstructionInfo::m_maxSuspensionForce
btScalar m_maxSuspensionForce
Definition:
btWheelInfo.h:32
btWheelInfo::RaycastInfo::m_wheelAxleWS
btVector3 m_wheelAxleWS
Definition:
btWheelInfo.h:48
btWheelInfo::m_engineForce
btScalar m_engineForce
Definition:
btWheelInfo.h:74
btWheelInfoConstructionInfo::m_wheelAxleCS
btVector3 m_wheelAxleCS
Definition:
btWheelInfo.h:23
btWheelInfo::RaycastInfo::m_contactPointWS
btVector3 m_contactPointWS
Definition:
btWheelInfo.h:44
btScalar
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
Definition:
btScalar.h:292
btWheelInfo::btWheelInfo
btWheelInfo(btWheelInfoConstructionInfo &ci)
Definition:
btWheelInfo.h:84
btWheelInfo::RaycastInfo::m_suspensionLength
btScalar m_suspensionLength
Definition:
btWheelInfo.h:45
btWheelInfoConstructionInfo::m_chassisConnectionCS
btVector3 m_chassisConnectionCS
Definition:
btWheelInfo.h:21
Generated by
1.8.11