RavEngine
Loading...
Searching...
No Matches
PxVehicleSuspensionStates.h
1// Redistribution and use in source and binary forms, with or without
2// modification, are permitted provided that the following conditions
3// are met:
4// * Redistributions of source code must retain the above copyright
5// notice, this list of conditions and the following disclaimer.
6// * Redistributions in binary form must reproduce the above copyright
7// notice, this list of conditions and the following disclaimer in the
8// documentation and/or other materials provided with the distribution.
9// * Neither the name of NVIDIA CORPORATION nor the names of its
10// contributors may be used to endorse or promote products derived
11// from this software without specific prior written permission.
12//
13// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
14// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
17// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
21// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24//
25// Copyright (c) 2008-2022 NVIDIA Corporation. All rights reserved.
26// Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
27// Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
28
29#pragma once
30
35#include "foundation/PxSimpleTypes.h"
36#include "foundation/PxVec3.h"
37#include "foundation/PxMemory.h"
38
39#if !PX_DOXYGEN
40namespace physx
41{
42namespace vehicle2
43{
44#endif
45
46#define PX_VEHICLE_UNSPECIFIED_JOUNCE PX_MAX_F32
47#define PX_VEHICLE_UNSPECIFIED_SEPARATION PX_MAX_F32
48
53{
61 PxReal jounce;
62
67
82 PxReal separation;
83
84 PX_FORCE_INLINE void setToDefault(const PxReal _jounce = PX_VEHICLE_UNSPECIFIED_JOUNCE,
85 const PxReal _separation = PX_VEHICLE_UNSPECIFIED_SEPARATION)
86 {
87 jounce = _jounce;
88 jounceSpeed = 0;
89 separation = _separation;
90 }
91};
92
97{
102 PxReal toe;
103
108 PxReal camber;
109
115
121
122 PX_FORCE_INLINE void setToDefault()
123 {
125 }
126};
127
132{
140
148
156
157 PX_FORCE_INLINE void setToDefault()
158 {
159 PxMemZero(this, sizeof(PxVehicleSuspensionForce));
160 }
161};
162
168{
176
177 PX_FORCE_INLINE void setToDefault()
178 {
179 PxMemZero(this, sizeof(PxVehicleAntiRollTorque));
180 }
181};
182
183
184#if !PX_DOXYGEN
185} // namespace vehicle2
186} // namespace physx
187#endif
188
3 Element vector class.
Definition PxVec3.h:50
#define PX_FORCE_INLINE
Definition PxPreprocessor.h:335
Sorts an array of objects in ascending order, assuming that the predicate implements the < operator:
Definition PxBoxController.h:39
PX_FORCE_INLINE void * PxMemZero(void *dest, PxU32 count)
Sets the bytes of the provided buffer to zero.
Definition PxMemory.h:53
The anti-roll torque of all anti-roll bars accumulates in a single torque to apply to the vehicle's r...
Definition PxVehicleSuspensionStates.h:168
PxVec3 antiRollTorque
The accumulated torque to apply to the rigid body.
Definition PxVehicleSuspensionStates.h:175
The effect of suspension compliance on toe and camber angle and on the tire and suspension force appl...
Definition PxVehicleSuspensionStates.h:97
PxReal toe
The toe angle in radians that arises from suspension compliance.
Definition PxVehicleSuspensionStates.h:102
PxVec3 tireForceAppPoint
The tire force application point that arises from suspension compliance.
Definition PxVehicleSuspensionStates.h:114
PxReal camber
The camber angle in radians that arises from suspension compliance.
Definition PxVehicleSuspensionStates.h:108
PxVec3 suspForceAppPoint
The suspension force application point that arises from suspension compliance.
Definition PxVehicleSuspensionStates.h:120
The force and torque for a single suspension to apply to the vehicle's rigid body.
Definition PxVehicleSuspensionStates.h:132
PxVec3 force
The force to apply to the rigid body.
Definition PxVehicleSuspensionStates.h:139
PxReal normalForce
The component of force that lies along the normal of the plane under the wheel.
Definition PxVehicleSuspensionStates.h:155
PxVec3 torque
The torque to apply to the rigid body.
Definition PxVehicleSuspensionStates.h:147
Definition PxVehicleSuspensionStates.h:53
PxReal separation
separation holds extra information about the contact state of the wheel with the ground.
Definition PxVehicleSuspensionStates.h:82
PxReal jounceSpeed
jounceSpeed is the rate of change of jounce.
Definition PxVehicleSuspensionStates.h:66
PxReal jounce
jounce is the distance from maximum droop.
Definition PxVehicleSuspensionStates.h:61