Main Page
Class Hierarchy
Compound List
Compound Members
Include
vehicle
PxVehicleTireFriction.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
3
*
4
* NVIDIA CORPORATION and its licensors retain all intellectual property
5
* and proprietary rights in and to this software, related documentation
6
* and any modifications thereto. Any use, reproduction, disclosure or
7
* distribution of this software and related documentation without an express
8
* license agreement from NVIDIA CORPORATION is strictly prohibited.
9
*/
10
// Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
11
// Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
12
13
#ifndef PX_VEHICLE_TIREFRICTION_H
14
#define PX_VEHICLE_TIREFRICTION_H
15
19
#include "
foundation/PxSimpleTypes.h
"
20
21
#ifndef PX_DOXYGEN
22
namespace
physx
23
{
24
#endif
25
26
class
PxMaterial
;
27
32
struct
PxVehicleDrivableSurfaceType
33
{
34
enum
35
{
36
eSURFACE_TYPE_UNKNOWN=0xffffffff
37
};
38
PxU32
mType
;
39
};
40
45
class
PxVehicleDrivableSurfaceToTireFrictionPairs
46
{
47
public
:
48
49
friend
class
VehicleSurfaceTypeHashTable;
50
51
enum
52
{
53
eMAX_NB_SURFACE_TYPES=256
54
};
55
67
static
PxVehicleDrivableSurfaceToTireFrictionPairs
* allocate
68
(
const
PxU32
maxNbTireTypes,
const
PxU32
maxNbSurfaceTypes);
69
84
void
setup
85
(
const
PxU32
nbTireTypes,
const
PxU32
nbSurfaceTypes,
86
const
PxMaterial
** drivableSurfaceMaterials,
const
PxVehicleDrivableSurfaceType
* drivableSurfaceTypes);
87
91
void
release();
92
100
void
setTypePairFriction(
const
PxU32
surfaceType,
const
PxU32
tireType,
const
PxReal
value);
101
109
PxReal
getTypePairFriction(
const
PxU32
surfaceType,
const
PxU32
tireType)
const
;
110
116
PxU32
getMaxNbSurfaceTypes
()
const
{
return
mMaxNbSurfaceTypes;}
117
123
PxU32
getMaxNbTireTypes
()
const
{
return
mMaxNbTireTypes;}
124
125
private
:
126
133
PxReal
*
mPairs
;
134
145
const
PxMaterial
**
mDrivableSurfaceMaterials
;
146
157
PxVehicleDrivableSurfaceType
*
mDrivableSurfaceTypes
;
158
166
PxU32
mNbSurfaceTypes
;
167
173
PxU32
mMaxNbSurfaceTypes
;
174
180
PxU32
mNbTireTypes
;
181
187
PxU32
mMaxNbTireTypes
;
188
189
190
#if !defined(PX_P64)
191
PxU32
mPad[1];
192
#else
193
PxU32
mPad[2];
194
#endif
195
196
PxVehicleDrivableSurfaceToTireFrictionPairs
(){}
197
~PxVehicleDrivableSurfaceToTireFrictionPairs
(){}
198
};
199
PX_COMPILE_TIME_ASSERT
(0==(
sizeof
(
PxVehicleDrivableSurfaceToTireFrictionPairs
) & 15));
200
201
#ifndef PX_DOXYGEN
202
}
// namespace physx
203
#endif
204
206
#endif //PX_VEHICLE_TIREFRICTION_H
Copyright © 2008-2015 NVIDIA Corporation, 2701 San Tomas Expressway, Santa Clara, CA 95050 U.S.A. All rights reserved.
www.nvidia.com