From dcc81a70f184ebfcbeccf974e209b77b5603ed29 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 7 Aug 2023 21:43:03 -0700
Subject: [PATCH 1/3] PhysX: Fix breakage due to
 reinterpret_cast<SomeType*>(NULL) on musl

Use nullptr instead of reinterpret_cast. Musl does not define as int but
nullptr

error: reinterpret_cast from 'std::nullptr_t' to 'PxVehicleTireData *' is not allowed

Change-Id: I11bf68c252afb9b7e35d08dfa119df9decca28ab
---
 .../include/PxAutoGeneratedMetaDataObjects.h  | 68 +++++++++----------
 .../PxExtensionAutoGeneratedMetaDataObjects.h | 32 ++++-----
 .../PxVehicleAutoGeneratedMetaDataObjects.h   | 52 +++++++-------
 3 files changed, 76 insertions(+), 76 deletions(-)

diff --git a/src/3rdparty/PhysX/source/physxmetadata/core/include/PxAutoGeneratedMetaDataObjects.h b/src/3rdparty/PhysX/source/physxmetadata/core/include/PxAutoGeneratedMetaDataObjects.h
index ef08baa..90de14c 100644
--- a/src/3rdparty/PhysX/source/physxmetadata/core/include/PxAutoGeneratedMetaDataObjects.h
+++ b/src/3rdparty/PhysX/source/physxmetadata/core/include/PxAutoGeneratedMetaDataObjects.h
@@ -69,7 +69,7 @@ template<> struct PxEnumTraits< physx::PxShapeFlag::Enum > { PxEnumTraits() : Na
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxPhysics*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -167,7 +167,7 @@ template<> struct PxEnumTraits< physx::PxCombineMode::Enum > { PxEnumTraits() :
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxMaterial*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -258,7 +258,7 @@ template<> struct PxEnumTraits< physx::PxActorFlag::Enum > { PxEnumTraits() : Na
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxActor*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -314,7 +314,7 @@ template<> struct PxEnumTraits< physx::PxActorFlag::Enum > { PxEnumTraits() : Na
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxRigidActor*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -435,7 +435,7 @@ template<> struct PxEnumTraits< physx::PxRigidBodyFlag::Enum > { PxEnumTraits()
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxRigidBody*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -533,7 +533,7 @@ template<> struct PxEnumTraits< physx::PxRigidDynamicLockFlag::Enum > { PxEnumTr
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxRigidDynamic*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -592,7 +592,7 @@ template<> struct PxEnumTraits< physx::PxRigidDynamicLockFlag::Enum > { PxEnumTr
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxRigidStatic*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -654,7 +654,7 @@ template<> struct PxEnumTraits< physx::PxRigidDynamicLockFlag::Enum > { PxEnumTr
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxArticulationLink*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -713,7 +713,7 @@ template<> struct PxEnumTraits< physx::PxRigidDynamicLockFlag::Enum > { PxEnumTr
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxArticulationJointBase*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -814,7 +814,7 @@ template<> struct PxEnumTraits< physx::PxArticulationJointDriveType::Enum > { Px
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxArticulationJoint*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -932,7 +932,7 @@ template<> struct PxEnumTraits< physx::PxArticulationDriveType::Enum > { PxEnumT
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxArticulationJointReducedCoordinate*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -1013,7 +1013,7 @@ template<> struct PxEnumTraits< physx::PxArticulationDriveType::Enum > { PxEnumT
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxArticulationBase*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -1079,7 +1079,7 @@ template<> struct PxEnumTraits< physx::PxArticulationDriveType::Enum > { PxEnumT
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxArticulation*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -1163,7 +1163,7 @@ template<> struct PxEnumTraits< physx::PxArticulationCache::Enum > { PxEnumTrait
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxArticulationReducedCoordinate*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -1225,7 +1225,7 @@ template<> struct PxEnumTraits< physx::PxArticulationCache::Enum > { PxEnumTrait
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxAggregate*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -1310,7 +1310,7 @@ template<> struct PxEnumTraits< physx::PxConstraintFlag::Enum > { PxEnumTraits()
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxConstraint*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -1419,7 +1419,7 @@ template<> struct PxEnumTraits< physx::PxGeometryType::Enum > { PxEnumTraits() :
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxShape*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -1483,7 +1483,7 @@ template<> struct PxEnumTraits< physx::PxGeometryType::Enum > { PxEnumTraits() :
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxPruningStructure*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -1538,7 +1538,7 @@ template<> struct PxEnumTraits< physx::PxGeometryType::Enum > { PxEnumTraits() :
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxTolerancesScale*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -1585,7 +1585,7 @@ template<> struct PxEnumTraits< physx::PxGeometryType::Enum > { PxEnumTraits() :
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxGeometry*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -1632,7 +1632,7 @@ template<> struct PxEnumTraits< physx::PxGeometryType::Enum > { PxEnumTraits() :
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxBoxGeometry*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -1687,7 +1687,7 @@ template<> struct PxEnumTraits< physx::PxGeometryType::Enum > { PxEnumTraits() :
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxCapsuleGeometry*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -1743,7 +1743,7 @@ template<> struct PxEnumTraits< physx::PxGeometryType::Enum > { PxEnumTraits() :
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxMeshScale*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -1804,7 +1804,7 @@ template<> struct PxEnumTraits< physx::PxConvexMeshGeometryFlag::Enum > { PxEnum
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxConvexMeshGeometry*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -1858,7 +1858,7 @@ template<> struct PxEnumTraits< physx::PxConvexMeshGeometryFlag::Enum > { PxEnum
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxSphereGeometry*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -1907,7 +1907,7 @@ template<> struct PxEnumTraits< physx::PxConvexMeshGeometryFlag::Enum > { PxEnum
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxPlaneGeometry*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -1970,7 +1970,7 @@ template<> struct PxEnumTraits< physx::PxMeshGeometryFlag::Enum > { PxEnumTraits
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxTriangleMeshGeometry*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -2036,7 +2036,7 @@ template<> struct PxEnumTraits< physx::PxMeshGeometryFlag::Enum > { PxEnumTraits
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxHeightFieldGeometry*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -2119,7 +2119,7 @@ template<> struct PxEnumTraits< physx::PxHeightFieldFlag::Enum > { PxEnumTraits(
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxHeightFieldDesc*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -2395,7 +2395,7 @@ template<> struct PxEnumTraits< physx::PxBroadPhaseType::Enum > { PxEnumTraits()
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxScene*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -2503,7 +2503,7 @@ template<> struct PxEnumTraits< physx::PxBroadPhaseType::Enum > { PxEnumTraits()
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxSceneLimits*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -2579,7 +2579,7 @@ template<> struct PxEnumTraits< physx::PxBroadPhaseType::Enum > { PxEnumTraits()
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxgDynamicsMemoryConfig*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -2759,7 +2759,7 @@ template<> struct PxEnumTraits< physx::PxSolverType::Enum > { PxEnumTraits() : N
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxSceneDesc*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -2934,7 +2934,7 @@ template<> struct PxEnumTraits< physx::PxSimulationStatistics::RbPairStatsType >
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxSimulationStatistics*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
diff --git a/src/3rdparty/PhysX/source/physxmetadata/extensions/include/PxExtensionAutoGeneratedMetaDataObjects.h b/src/3rdparty/PhysX/source/physxmetadata/extensions/include/PxExtensionAutoGeneratedMetaDataObjects.h
index 63f64a9..de2df28 100644
--- a/src/3rdparty/PhysX/source/physxmetadata/extensions/include/PxExtensionAutoGeneratedMetaDataObjects.h
+++ b/src/3rdparty/PhysX/source/physxmetadata/extensions/include/PxExtensionAutoGeneratedMetaDataObjects.h
@@ -102,7 +102,7 @@ template<> struct PxEnumTraits< physx::PxJointActorIndex::Enum > { PxEnumTraits(
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxJoint*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -236,7 +236,7 @@ template<> struct PxEnumTraits< physx::PxD6Drive::Enum > { PxEnumTraits() : Name
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxD6Joint*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -331,7 +331,7 @@ template<> struct PxEnumTraits< physx::PxDistanceJointFlag::Enum > { PxEnumTrait
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxDistanceJoint*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -405,7 +405,7 @@ template<> struct PxEnumTraits< physx::PxDistanceJointFlag::Enum > { PxEnumTrait
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxContactJoint*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -468,7 +468,7 @@ template<> struct PxEnumTraits< physx::PxDistanceJointFlag::Enum > { PxEnumTrait
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxFixedJoint*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -546,7 +546,7 @@ template<> struct PxEnumTraits< physx::PxPrismaticJointFlag::Enum > { PxEnumTrai
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxPrismaticJoint*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -639,7 +639,7 @@ template<> struct PxEnumTraits< physx::PxRevoluteJointFlag::Enum > { PxEnumTrait
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxRevoluteJoint*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -721,7 +721,7 @@ template<> struct PxEnumTraits< physx::PxSphericalJointFlag::Enum > { PxEnumTrai
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxSphericalJoint*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -790,7 +790,7 @@ template<> struct PxEnumTraits< physx::PxSphericalJointFlag::Enum > { PxEnumTrai
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxJointLimitParameters*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -842,7 +842,7 @@ template<> struct PxEnumTraits< physx::PxSphericalJointFlag::Enum > { PxEnumTrai
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxJointLinearLimit*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -897,7 +897,7 @@ template<> struct PxEnumTraits< physx::PxSphericalJointFlag::Enum > { PxEnumTrai
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxJointLinearLimitPair*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -953,7 +953,7 @@ template<> struct PxEnumTraits< physx::PxSphericalJointFlag::Enum > { PxEnumTrai
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxJointAngularLimitPair*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -1009,7 +1009,7 @@ template<> struct PxEnumTraits< physx::PxSphericalJointFlag::Enum > { PxEnumTrai
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxJointLimitCone*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -1071,7 +1071,7 @@ template<> struct PxEnumTraits< physx::PxSphericalJointFlag::Enum > { PxEnumTrai
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxJointLimitPyramid*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -1129,7 +1129,7 @@ template<> struct PxEnumTraits< physx::PxSphericalJointFlag::Enum > { PxEnumTrai
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxSpring*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -1187,7 +1187,7 @@ template<> struct PxEnumTraits< physx::PxD6JointDriveFlag::Enum > { PxEnumTraits
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxD6JointDrive*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
diff --git a/src/3rdparty/PhysX/source/physxvehicle/src/physxmetadata/include/PxVehicleAutoGeneratedMetaDataObjects.h b/src/3rdparty/PhysX/source/physxvehicle/src/physxmetadata/include/PxVehicleAutoGeneratedMetaDataObjects.h
index a8bf2c1..3611034 100644
--- a/src/3rdparty/PhysX/source/physxvehicle/src/physxmetadata/include/PxVehicleAutoGeneratedMetaDataObjects.h
+++ b/src/3rdparty/PhysX/source/physxvehicle/src/physxmetadata/include/PxVehicleAutoGeneratedMetaDataObjects.h
@@ -59,7 +59,7 @@
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxVehicleChassisData*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -137,7 +137,7 @@ template<> struct PxEnumTraits< const physx::PxEMPTY > { PxEnumTraits() : NameCo
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxVehicleEngineData*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -239,7 +239,7 @@ template<> struct PxEnumTraits< physx::PxVehicleGearsData::Enum > { PxEnumTraits
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxVehicleGearsData*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -296,7 +296,7 @@ template<> struct PxEnumTraits< physx::PxVehicleGearsData::Enum > { PxEnumTraits
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxVehicleAutoBoxData*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -376,7 +376,7 @@ template<> struct PxEnumTraits< physx::PxVehicleDifferential4WData::Enum > { PxE
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxVehicleDifferential4WData*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -430,7 +430,7 @@ template<> struct PxEnumTraits< physx::PxVehicleDifferential4WData::Enum > { PxE
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxVehicleDifferentialNWData*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -487,7 +487,7 @@ template<> struct PxEnumTraits< physx::PxVehicleDifferential4WData::Enum > { PxE
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxVehicleAckermannGeometryData*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -551,7 +551,7 @@ template<> struct PxEnumTraits< physx::PxVehicleClutchAccuracyMode::Enum > { PxE
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxVehicleClutchData*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -613,7 +613,7 @@ template<> struct PxEnumTraits< physx::PxVehicleClutchAccuracyMode::Enum > { PxE
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxVehicleTireLoadFilterData*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -695,7 +695,7 @@ template<> struct PxEnumTraits< physx::PxVehicleClutchAccuracyMode::Enum > { PxE
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxVehicleWheelData*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -781,7 +781,7 @@ template<> struct PxEnumTraits< physx::PxVehicleClutchAccuracyMode::Enum > { PxE
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxVehicleSuspensionData*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -845,7 +845,7 @@ template<> struct PxEnumTraits< physx::PxVehicleClutchAccuracyMode::Enum > { PxE
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxVehicleAntiRollBarData*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -919,7 +919,7 @@ template<> struct PxEnumTraits< physx::PxVehicleClutchAccuracyMode::Enum > { PxE
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxVehicleTireData*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -978,7 +978,7 @@ template<> struct PxEnumTraits< physx::PxVehicleClutchAccuracyMode::Enum > { PxE
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxVehicleWheels4SimData*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -1062,7 +1062,7 @@ template<> struct PxEnumTraits< physx::PxVehicleWheelsSimFlag::Enum > { PxEnumTr
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxVehicleWheelsSimData*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -1131,7 +1131,7 @@ template<> struct PxEnumTraits< physx::PxVehicleWheelsSimFlag::Enum > { PxEnumTr
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxVehicleWheelsDynData*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -1195,7 +1195,7 @@ template<> struct PxEnumTraits< physx::PxVehicleWheelsSimFlag::Enum > { PxEnumTr
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxVehicleWheels*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -1296,7 +1296,7 @@ template<> struct PxEnumTraits< physx::PxVehicleWheelsSimFlag::Enum > { PxEnumTr
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxVehicleDriveDynData*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -1370,7 +1370,7 @@ template<> struct PxEnumTraits< physx::PxVehicleWheelsSimFlag::Enum > { PxEnumTr
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxVehicleDriveSimData*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -1424,7 +1424,7 @@ template<> struct PxEnumTraits< physx::PxVehicleWheelsSimFlag::Enum > { PxEnumTr
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxVehicleDriveSimData4W*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -1480,7 +1480,7 @@ template<> struct PxEnumTraits< physx::PxVehicleWheelsSimFlag::Enum > { PxEnumTr
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxVehicleDrive*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -1536,7 +1536,7 @@ template<> struct PxEnumTraits< physx::PxVehicleWheelsSimFlag::Enum > { PxEnumTr
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxVehicleDrive4W*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -1602,7 +1602,7 @@ template<> struct PxEnumTraits< physx::PxVehicleDriveTankControlModel::Enum > {
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxVehicleDriveTank*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -1656,7 +1656,7 @@ template<> struct PxEnumTraits< physx::PxVehicleDriveTankControlModel::Enum > {
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxVehicleDriveSimDataNW*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -1711,7 +1711,7 @@ template<> struct PxEnumTraits< physx::PxVehicleDriveTankControlModel::Enum > {
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxVehicleDriveNW*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
@@ -1767,7 +1767,7 @@ template<> struct PxEnumTraits< physx::PxVehicleDriveTankControlModel::Enum > {
 		template<typename TReturnType, typename TOperator>
 		TReturnType visitType( TOperator inOperator ) const
 		{
-			return inOperator( reinterpret_cast<PxVehicleNoDrive*>(NULL) );
+			return inOperator( nullptr );
 		}
 		template<typename TOperator>
 		void visitBases( TOperator inOperator )
-- 
2.41.0

