RavEngine
Loading...
Searching...
No Matches
PxVehiclePvdFunctions.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 "vehicle2/PxVehicleParams.h"
36#include "vehicle2/braking/PxVehicleBrakingParams.h"
37#include "vehicle2/commands/PxVehicleCommandStates.h"
38#include "vehicle2/drivetrain/PxVehicleDrivetrainParams.h"
39#include "vehicle2/drivetrain/PxVehicleDrivetrainStates.h"
40#include "vehicle2/physxActor/PxVehiclePhysXActorStates.h"
41#include "vehicle2/physxConstraints/PxVehiclePhysXConstraintParams.h"
42#include "vehicle2/physxConstraints/PxVehiclePhysXConstraintStates.h"
43#include "vehicle2/physxRoadGeometry/PxVehiclePhysXRoadGeometryParams.h"
44#include "vehicle2/physxRoadGeometry/PxVehiclePhysXRoadGeometryState.h"
45#include "vehicle2/roadGeometry/PxVehicleRoadGeometryState.h"
46#include "vehicle2/steering/PxVehicleSteeringParams.h"
47#include "vehicle2/suspension/PxVehicleSuspensionParams.h"
48#include "vehicle2/suspension/PxVehicleSuspensionStates.h"
49#include "vehicle2/tire/PxVehicleTireParams.h"
50#include "vehicle2/tire/PxVehicleTireStates.h"
51#include "vehicle2/wheel/PxVehicleWheelParams.h"
52#include "vehicle2/wheel/PxVehicleWheelStates.h"
53
54class OmniPvdWriter;
55namespace physx
56{
57class PxAllocatorCallback;
58namespace vehicle2
59{
60struct PxVehiclePvdAttributeHandles;
61struct PxVehiclePvdObjectHandles;
62} // namespace vehicle2
63} // namespace physx
64
65#if !PX_DOXYGEN
66namespace physx
67{
68namespace vehicle2
69{
70#endif
71
89void PxVehiclePvdRigidBodyRegister
90(const PxVehicleRigidBodyParams* rbodyParams, const PxVehicleRigidBodyState* rbodyState,
91 const PxVehiclePvdAttributeHandles& attributeHandles,
92 PxVehiclePvdObjectHandles* objectHandles, OmniPvdWriter* omniWriter);
93
108void PxVehiclePvdRigidBodyWrite
109(const PxVehicleRigidBodyParams* rbodyParams, const PxVehicleRigidBodyState* rbodyState,
110 const PxVehiclePvdAttributeHandles& attributeHandles,
111 const PxVehiclePvdObjectHandles& objectHandles, OmniPvdWriter* omniWriter);
112
126void PxVehiclePvdSuspensionStateCalculationParamsRegister
127(const PxVehicleSuspensionStateCalculationParams* suspStateCalcParams,
128 const PxVehiclePvdAttributeHandles& attributeHandles,
129 PxVehiclePvdObjectHandles* objectHandles, OmniPvdWriter* omniWriter);
130
144void PxVehiclePvdSuspensionStateCalculationParamsWrite
145(const PxVehicleSuspensionStateCalculationParams* suspStateCalcParams,
146 const PxVehiclePvdAttributeHandles& attributeHandles,
147 const PxVehiclePvdObjectHandles& objectHandles, OmniPvdWriter* omniWriter);
148
168void PxVehiclePvdCommandResponseRegister
169(const PxVehicleSizedArrayData<const PxVehicleBrakeCommandResponseParams>& brakeResponseParams,
170 const PxVehicleSteerCommandResponseParams* steerResponseParams,
171 const PxVehicleArrayData<PxReal>& brakeResponseStates,
172 const PxVehicleArrayData<PxReal>& steerResponseStates,
173 const PxVehiclePvdAttributeHandles& attributeHandles,
174 PxVehiclePvdObjectHandles* objectHandles, OmniPvdWriter* omniWriter);
175
199void PxVehiclePvdCommandResponseWrite
200(const PxVehicleAxleDescription& axleDesc,
201 const PxVehicleSizedArrayData<const PxVehicleBrakeCommandResponseParams>& brakeResponseParams,
202 const PxVehicleSteerCommandResponseParams* steerResponseParams,
203 const PxVehicleArrayData<PxReal>& brakeResponseStates,
204 const PxVehicleArrayData<PxReal>& steerResponseStates,
205 const PxVehiclePvdAttributeHandles& attributeHandles,
206 const PxVehiclePvdObjectHandles& objectHandles, OmniPvdWriter* omniWriter);
207
241void PxVehiclePvdWheelAttachmentsRegister
242(const PxVehicleAxleDescription& axleDesc,
243 const PxVehicleArrayData<const PxVehicleWheelParams>& wheelParams,
244 const PxVehicleArrayData<const PxVehicleWheelActuationState>& wheelActuationStates,
245 const PxVehicleArrayData<const PxVehicleWheelRigidBody1dState>& wheelRigidBody1dStates,
246 const PxVehicleArrayData<const PxVehicleWheelLocalPose>& wheelLocalPoses,
247 const PxVehicleArrayData<const PxVehicleRoadGeometryState>& roadGeometryStates,
248 const PxVehicleArrayData<const PxVehicleSuspensionParams>& suspParams,
249 const PxVehicleArrayData<const PxVehicleSuspensionComplianceParams>& suspCompParams,
250 const PxVehicleArrayData<const PxVehicleSuspensionForceParams>& suspForceParams,
251 const PxVehicleArrayData<const PxVehicleSuspensionState>& suspStates,
252 const PxVehicleArrayData<const PxVehicleSuspensionComplianceState>& suspCompStates,
253 const PxVehicleArrayData<const PxVehicleSuspensionForce>& suspForces,
254 const PxVehicleArrayData<const PxVehicleTireForceParams>& tireForceParams,
255 const PxVehicleArrayData<const PxVehicleTireDirectionState>& tireDirectionStates,
256 const PxVehicleArrayData<const PxVehicleTireSpeedState>& tireSpeedStates,
257 const PxVehicleArrayData<const PxVehicleTireSlipState>& tireSlipStates,
258 const PxVehicleArrayData<const PxVehicleTireStickyState>& tireStickyStates,
259 const PxVehicleArrayData<const PxVehicleTireGripState>& tireGripStates,
260 const PxVehicleArrayData<const PxVehicleTireCamberAngleState>& tireCamberStates,
261 const PxVehicleArrayData<const PxVehicleTireForce>& tireForces,
262 const PxVehiclePvdAttributeHandles& attributeHandles,
263 PxVehiclePvdObjectHandles* objectHandles, OmniPvdWriter* omniWriter);
264
297void PxVehiclePvdWheelAttachmentsWrite
298(const PxVehicleAxleDescription& axleDesc,
299 const PxVehicleArrayData<const PxVehicleWheelParams>& wheelParams,
300 const PxVehicleArrayData<const PxVehicleWheelActuationState>& wheelActuationStates,
301 const PxVehicleArrayData<const PxVehicleWheelRigidBody1dState>& wheelRigidBody1dStates,
302 const PxVehicleArrayData<const PxVehicleWheelLocalPose>& wheelLocalPoses,
303 const PxVehicleArrayData<const PxVehicleRoadGeometryState>& roadGeometryStates,
304 const PxVehicleArrayData<const PxVehicleSuspensionParams>& suspParams,
305 const PxVehicleArrayData<const PxVehicleSuspensionComplianceParams>& suspCompParams,
306 const PxVehicleArrayData<const PxVehicleSuspensionForceParams>& suspForceParams,
307 const PxVehicleArrayData<const PxVehicleSuspensionState>& suspStates,
308 const PxVehicleArrayData<const PxVehicleSuspensionComplianceState>& suspCompStates,
309 const PxVehicleArrayData<const PxVehicleSuspensionForce>& suspForces,
310 const PxVehicleArrayData<const PxVehicleTireForceParams>& tireForceParams,
311 const PxVehicleArrayData<const PxVehicleTireDirectionState>& tireDirectionStates,
312 const PxVehicleArrayData<const PxVehicleTireSpeedState>& tireSpeedStates,
313 const PxVehicleArrayData<const PxVehicleTireSlipState>& tireSlipStates,
314 const PxVehicleArrayData<const PxVehicleTireStickyState>& tireStickyStates,
315 const PxVehicleArrayData<const PxVehicleTireGripState>& tireGripStates,
316 const PxVehicleArrayData<const PxVehicleTireCamberAngleState>& tireCamberStates,
317 const PxVehicleArrayData<const PxVehicleTireForce>& tireForces,
318 const PxVehiclePvdAttributeHandles& attributeHandles,
319 const PxVehiclePvdObjectHandles& objectHandles, OmniPvdWriter* omniWriter);
320
336void PxVehiclePvdAntiRollsRegister
337(const PxVehicleSizedArrayData<const PxVehicleAntiRollForceParams>& antiRollForceParams, const PxVehicleAntiRollTorque* antiRollTorque,
338 const PxVehiclePvdAttributeHandles& attributeHandles,
339 PxVehiclePvdObjectHandles* objectHandles, OmniPvdWriter* omniWriter);
340
355void PxVehiclePvdAntiRollsWrite
356(const PxVehicleSizedArrayData<const PxVehicleAntiRollForceParams>& antiRollForceParams, const PxVehicleAntiRollTorque* antiRollTorque,
357 const PxVehiclePvdAttributeHandles& attributeHandles,
358 const PxVehiclePvdObjectHandles& objectHandles, OmniPvdWriter* omniWriter);
359
379void PxVehiclePvdDirectDrivetrainRegister
380(const PxVehicleCommandState* commandState, const PxVehicleDirectDriveTransmissionCommandState* transmissionCommandState,
381 const PxVehicleDirectDriveThrottleCommandResponseParams* directDriveThrottleResponseParams,
382 const PxVehicleArrayData<PxReal>& directDriveThrottleResponseState,
383 const PxVehiclePvdAttributeHandles& attributeHandles,
384 PxVehiclePvdObjectHandles* objectHandles, OmniPvdWriter* omniWriter);
385
405void PxVehiclePvdDirectDrivetrainWrite
406(const PxVehicleAxleDescription& axleDesc,
407 const PxVehicleCommandState* commandState, const PxVehicleDirectDriveTransmissionCommandState* transmissionCommandState,
408 const PxVehicleDirectDriveThrottleCommandResponseParams* directDriveThrottleResponseParams,
409 const PxVehicleArrayData<PxReal>& directDriveThrottleResponseState,
410 const PxVehiclePvdAttributeHandles& attributeHandles,
411 const PxVehiclePvdObjectHandles& objectHandles, OmniPvdWriter* omniWriter);
412
441void PxVehiclePvdEngineDrivetrainRegister
442(const PxVehicleCommandState* commandState, const PxVehicleEngineDriveTransmissionCommandState* transmissionCommandState,
443 const PxVehicleClutchCommandResponseParams* clutchResponseParams,
444 const PxVehicleClutchParams* clutchParams,
445 const PxVehicleEngineParams* engineParams,
446 const PxVehicleGearboxParams* gearboxParams,
447 const PxVehicleAutoboxParams* autoboxParams,
448 const PxVehicleMultiWheelDriveDifferentialParams* multiWheelDiffParams,
449 const PxVehicleFourWheelDriveDifferentialParams* fourWheelDiffPrams,
450 const PxVehicleClutchCommandResponseState* clutchResponseState,
451 const PxVehicleEngineDriveThrottleCommandResponseState* throttleResponseState,
452 const PxVehicleEngineState* engineState,
453 const PxVehicleGearboxState* gearboxState,
454 const PxVehicleAutoboxState* autoboxState,
455 const PxVehicleDifferentialState* diffState,
456 const PxVehicleClutchSlipState* clutchSlipState,
457 const PxVehiclePvdAttributeHandles& attributeHandles,
458 PxVehiclePvdObjectHandles* objectHandles, OmniPvdWriter* omniWriter);
459
487void PxVehiclePvdEngineDrivetrainWrite
488(const PxVehicleCommandState* commandState, const PxVehicleEngineDriveTransmissionCommandState* transmissionCommandState,
489 const PxVehicleClutchCommandResponseParams* clutchResponseParams,
490 const PxVehicleClutchParams* clutchParams,
491 const PxVehicleEngineParams* engineParams,
492 const PxVehicleGearboxParams* gearboxParams,
493 const PxVehicleAutoboxParams* autoboxParams,
494 const PxVehicleMultiWheelDriveDifferentialParams* multiWheelDiffParams,
495 const PxVehicleFourWheelDriveDifferentialParams* fourWheelDiffPrams,
496 const PxVehicleClutchCommandResponseState* clutchResponseState,
497 const PxVehicleEngineDriveThrottleCommandResponseState* throttleResponseState,
498 const PxVehicleEngineState* engineState,
499 const PxVehicleGearboxState* gearboxState,
500 const PxVehicleAutoboxState* autoboxState,
501 const PxVehicleDifferentialState* diffState,
502 const PxVehicleClutchSlipState* clutchSlipState,
503 const PxVehiclePvdAttributeHandles& attributeHandles,
504 const PxVehiclePvdObjectHandles& objectHandles, OmniPvdWriter* omniWriter);
505
528void PxVehiclePvdPhysXWheelAttachmentRegister
529(const PxVehicleAxleDescription& axleDesc,
530 const PxVehicleArrayData<const PxVehiclePhysXSuspensionLimitConstraintParams>& physxSuspLimitConstraintParams,
531 const PxVehicleArrayData<const PxVehiclePhysXMaterialFrictionParams>& physxMaterialFrictionParams,
532 const PxVehiclePhysXActor* physxActor, const PxVehiclePhysXRoadGeometryQueryParams* physxRoadGeometryQueryParams,
533 const PxVehicleArrayData<const PxVehiclePhysXRoadGeometryQueryState>& physxRoadGeomState,
534 const PxVehicleArrayData<const PxVehiclePhysXConstraintState>& physxConstraintStates,
535 const PxVehiclePvdAttributeHandles& attributeHandles,
536 PxVehiclePvdObjectHandles* objectHandles, OmniPvdWriter* omniWriter);
537
559void PxVehiclePvdPhysXWheelAttachmentWrite
560(const PxVehicleAxleDescription& axleDesc,
561 const PxVehicleArrayData<const PxVehiclePhysXSuspensionLimitConstraintParams>& physxSuspLimitConstraintParams,
562 const PxVehicleArrayData<const PxVehiclePhysXMaterialFrictionParams>& physxMaterialFrictionParams,
563 const PxVehiclePhysXActor* physxActor, const PxVehiclePhysXRoadGeometryQueryParams* physxRoadGeometryQueryParams,
564 const PxVehicleArrayData<const PxVehiclePhysXRoadGeometryQueryState>& physxRoadGeomState,
565 const PxVehicleArrayData<const PxVehiclePhysXConstraintState>& physxConstraintStates,
566 const PxVehiclePvdAttributeHandles& attributeHandles,
567 const PxVehiclePvdObjectHandles& objectHandles, OmniPvdWriter* omniWriter);
568
582void PxVehiclePvdPhysXRigidActorRegister
583(const PxVehiclePhysXActor* physxActor,
584 const PxVehiclePvdAttributeHandles& attributeHandles,
585 PxVehiclePvdObjectHandles* objectHandles, OmniPvdWriter* omniWriter);
586
600void PxVehiclePvdPhysXRigidActorWrite
601(const PxVehiclePhysXActor* physxActor,
602 const PxVehiclePvdAttributeHandles& attributeHandles,
603 const PxVehiclePvdObjectHandles& objectHandles, OmniPvdWriter* omniWriter);
604
605#if !PX_DOXYGEN
606} // namespace vehicle2
607} // namespace physx
608#endif
609
Used to write debug information to an OmniPvdWriteStream.
Definition OmniPvdWriter.h:47
Sorts an array of objects in ascending order, assuming that the predicate implements the < operator:
Definition PxBoxController.h:39