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
(
btWheelInfoConstructionInfo
& ci)
83
84
{
85
86
m_suspensionRestLength1
= ci.
m_suspensionRestLength
;
87
m_maxSuspensionTravelCm
= ci.
m_maxSuspensionTravelCm
;
88
89
m_wheelsRadius
= ci.
m_wheelRadius
;
90
m_suspensionStiffness
= ci.
m_suspensionStiffness
;
91
m_wheelsDampingCompression
= ci.
m_wheelsDampingCompression
;
92
m_wheelsDampingRelaxation
= ci.
m_wheelsDampingRelaxation
;
93
m_chassisConnectionPointCS
= ci.
m_chassisConnectionCS
;
94
m_wheelDirectionCS
= ci.
m_wheelDirectionCS
;
95
m_wheelAxleCS
= ci.
m_wheelAxleCS
;
96
m_frictionSlip
= ci.
m_frictionSlip
;
97
m_steering
=
btScalar
(0.);
98
m_engineForce
=
btScalar
(0.);
99
m_rotation
=
btScalar
(0.);
100
m_deltaRotation
=
btScalar
(0.);
101
m_brake
=
btScalar
(0.);
102
m_rollInfluence
=
btScalar
(0.1);
103
m_bIsFrontWheel
= ci.
m_bIsFrontWheel
;
104
m_maxSuspensionForce
= ci.
m_maxSuspensionForce
;
105
106
}
107
108
void
updateWheel
(
const
btRigidBody
& chassis,RaycastInfo& raycastInfo);
109
110
btScalar
m_clippedInvContactDotSuspension
;
111
btScalar
m_suspensionRelativeVelocity
;
112
//calculated by suspension
113
btScalar
m_wheelsSuspensionForce
;
114
btScalar
m_skidInfo
;
115
116
};
117
118
#endif //BT_WHEEL_INFO_H
119
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::getSuspensionRestLength
btScalar getSuspensionRestLength() const
Definition:
btWheelInfo.cpp:15
btWheelInfo::m_suspensionRelativeVelocity
btScalar m_suspensionRelativeVelocity
Definition:
btWheelInfo.h:111
btWheelInfo::m_wheelsSuspensionForce
btScalar m_wheelsSuspensionForce
Definition:
btWheelInfo.h:113
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:59
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:110
btWheelInfo::m_brake
btScalar m_brake
Definition:
btWheelInfo.h:76
btWheelInfo::m_skidInfo
btScalar m_skidInfo
Definition:
btWheelInfo.h:114
btWheelInfo::m_bIsFrontWheel
bool m_bIsFrontWheel
Definition:
btWheelInfo.h:78
btWheelInfoConstructionInfo::m_wheelDirectionCS
btVector3 m_wheelDirectionCS
Definition:
btWheelInfo.h:22
btWheelInfo::updateWheel
void updateWheel(const btRigidBody &chassis, RaycastInfo &raycastInfo)
Definition:
btWheelInfo.cpp: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:266
btWheelInfo::btWheelInfo
btWheelInfo(btWheelInfoConstructionInfo &ci)
Definition:
btWheelInfo.h:82
btWheelInfo::RaycastInfo::m_suspensionLength
btScalar m_suspensionLength
Definition:
btWheelInfo.h:45
btWheelInfoConstructionInfo::m_chassisConnectionCS
btVector3 m_chassisConnectionCS
Definition:
btWheelInfo.h:21
Generated on Wed Feb 5 2014 21:36:53 for Bullet Collision Detection & Physics Library by
1.8.6