Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/trunk/src/external/bullet/BulletDynamics/Vehicle/btWheelInfo.h @ 8351

Last change on this file since 8351 was 8351, checked in by rgrieder, 13 years ago

Merged kicklib2 branch back to trunk (includes former branches ois_update, mac_osx and kicklib).

Notes for updating

Linux:
You don't need an extra package for CEGUILua and Tolua, it's already shipped with CEGUI.
However you do need to make sure that the OgreRenderer is installed too with CEGUI 0.7 (may be a separate package).
Also, Orxonox now recognises if you install the CgProgramManager (a separate package available on newer Ubuntu on Debian systems).

Windows:
Download the new dependency packages versioned 6.0 and use these. If you have problems with that or if you don't like the in game console problem mentioned below, you can download the new 4.3 version of the packages (only available for Visual Studio 2005/2008).

Key new features:

  • *Support for Mac OS X*
  • Visual Studio 2010 support
  • Bullet library update to 2.77
  • OIS library update to 1.3
  • Support for CEGUI 0.7 —> Support for Arch Linux and even SuSE
  • Improved install target
  • Compiles now with GCC 4.6
  • Ogre Cg Shader plugin activated for Linux if available
  • And of course lots of bug fixes

There are also some regressions:

  • No support for CEGUI 0.5, Ogre 1.4 and boost 1.35 - 1.39 any more
  • In game console is not working in main menu for CEGUI 0.7
  • Tolua (just the C lib, not the application) and CEGUILua libraries are no longer in our repository. —> You will need to get these as well when compiling Orxonox
  • And of course lots of new bugs we don't yet know about
  • Property svn:eol-style set to native
File size: 3.3 KB
Line 
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 WHEEL_INFO_H
12#define WHEEL_INFO_H
13
14#include "LinearMath/btVector3.h"
15#include "LinearMath/btTransform.h"
16
17class btRigidBody;
18
19struct 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
37/// btWheelInfo contains information per wheel about friction and suspension.
38struct 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 //WHEEL_INFO_H
119
Note: See TracBrowser for help on using the repository browser.