00001 // 00002 // Redistribution and use in source and binary forms, with or without 00003 // modification, are permitted provided that the following conditions 00004 // are met: 00005 // * Redistributions of source code must retain the above copyright 00006 // notice, this list of conditions and the following disclaimer. 00007 // * Redistributions in binary form must reproduce the above copyright 00008 // notice, this list of conditions and the following disclaimer in the 00009 // documentation and/or other materials provided with the distribution. 00010 // * Neither the name of NVIDIA CORPORATION nor the names of its 00011 // contributors may be used to endorse or promote products derived 00012 // from this software without specific prior written permission. 00013 // 00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY 00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 00017 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00025 // 00026 // Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved. 00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved. 00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved. 00029 00030 00031 #ifndef PX_PHYSICS_NXPHYSICS_API 00032 #define PX_PHYSICS_NXPHYSICS_API 00033 00044 // Foundation SDK 00045 #include "foundation/Px.h" 00046 #include "foundation/PxAllocatorCallback.h" 00047 #include "foundation/PxAssert.h" 00048 #include "foundation/PxBitAndData.h" 00049 #include "foundation/PxBounds3.h" 00050 #include "foundation/PxErrorCallback.h" 00051 #include "foundation/PxErrors.h" 00052 #include "foundation/PxFlags.h" 00053 #include "foundation/PxFoundation.h" 00054 #include "foundation/PxFoundationVersion.h" 00055 #include "foundation/PxIntrinsics.h" 00056 #include "foundation/PxIO.h" 00057 #include "foundation/PxMat33.h" 00058 #include "foundation/PxMat44.h" 00059 #include "foundation/PxMath.h" 00060 #include "foundation/PxMathUtils.h" 00061 #include "foundation/PxPlane.h" 00062 #include "foundation/PxPreprocessor.h" 00063 #include "foundation/PxQuat.h" 00064 #include "foundation/PxSimpleTypes.h" 00065 #include "foundation/PxStrideIterator.h" 00066 #include "foundation/PxTransform.h" 00067 #include "foundation/PxUnionCast.h" 00068 #include "foundation/PxVec2.h" 00069 #include "foundation/PxVec3.h" 00070 #include "foundation/PxVec4.h" 00071 00072 //Not physics specific utilities and common code 00073 #include "common/PxCoreUtilityTypes.h" 00074 #include "common/PxPhysXCommonConfig.h" 00075 #include "common/PxRenderBuffer.h" 00076 #include "common/PxBase.h" 00077 #include "common/PxTolerancesScale.h" 00078 #include "common/PxTypeInfo.h" 00079 #include "common/PxStringTable.h" 00080 #include "common/PxSerializer.h" 00081 #include "common/PxMetaData.h" 00082 #include "common/PxMetaDataFlags.h" 00083 #include "common/PxSerialFramework.h" 00084 #include "common/PxPhysicsInsertionCallback.h" 00085 00086 //Task Manager 00087 #include "task/PxTask.h" 00088 00089 // Cuda Mananger 00090 #if PX_SUPPORT_GPU_PHYSX 00091 #include "gpu/PxGpu.h" 00092 #endif 00093 00094 //Geometry Library 00095 #include "geometry/PxBoxGeometry.h" 00096 #include "geometry/PxCapsuleGeometry.h" 00097 #include "geometry/PxConvexMesh.h" 00098 #include "geometry/PxConvexMeshGeometry.h" 00099 #include "geometry/PxGeometry.h" 00100 #include "geometry/PxGeometryHelpers.h" 00101 #include "geometry/PxGeometryQuery.h" 00102 #include "geometry/PxHeightField.h" 00103 #include "geometry/PxHeightFieldDesc.h" 00104 #include "geometry/PxHeightFieldFlag.h" 00105 #include "geometry/PxHeightFieldGeometry.h" 00106 #include "geometry/PxHeightFieldSample.h" 00107 #include "geometry/PxMeshQuery.h" 00108 #include "geometry/PxMeshScale.h" 00109 #include "geometry/PxPlaneGeometry.h" 00110 #include "geometry/PxSimpleTriangleMesh.h" 00111 #include "geometry/PxSphereGeometry.h" 00112 #include "geometry/PxTriangle.h" 00113 #include "geometry/PxTriangleMesh.h" 00114 #include "geometry/PxTriangleMeshGeometry.h" 00115 00116 00117 // PhysX Core SDK 00118 #include "PxActor.h" 00119 #include "PxAggregate.h" 00120 #include "PxArticulation.h" 00121 #include "PxArticulationJoint.h" 00122 #include "PxArticulationLink.h" 00123 #include "PxBatchQuery.h" 00124 #include "PxBatchQueryDesc.h" 00125 #include "PxClient.h" 00126 #include "PxConstraint.h" 00127 #include "PxConstraintDesc.h" 00128 #include "PxContact.h" 00129 #include "PxContactModifyCallback.h" 00130 #include "PxDeletionListener.h" 00131 #include "PxFiltering.h" 00132 #include "PxForceMode.h" 00133 #include "PxLockedData.h" 00134 #include "PxMaterial.h" 00135 #include "PxPhysics.h" 00136 #include "PxPhysicsVersion.h" 00137 #include "PxPhysXConfig.h" 00138 #include "PxQueryFiltering.h" 00139 #include "PxQueryReport.h" 00140 #include "PxRigidActor.h" 00141 #include "PxRigidBody.h" 00142 #include "PxRigidDynamic.h" 00143 #include "PxRigidStatic.h" 00144 #include "PxScene.h" 00145 #include "PxSceneDesc.h" 00146 #include "PxSceneLock.h" 00147 #include "PxShape.h" 00148 #include "PxSimulationEventCallback.h" 00149 #include "PxSimulationStatistics.h" 00150 #include "PxSpatialIndex.h" 00151 #include "PxVisualizationParameter.h" 00152 #include "PxVolumeCache.h" 00153 #include "PxPruningStructure.h" 00154 00155 //Character Controller 00156 #include "characterkinematic/PxBoxController.h" 00157 #include "characterkinematic/PxCapsuleController.h" 00158 #include "characterkinematic/PxCharacter.h" 00159 #include "characterkinematic/PxController.h" 00160 #include "characterkinematic/PxControllerBehavior.h" 00161 #include "characterkinematic/PxControllerManager.h" 00162 #include "characterkinematic/PxControllerObstacles.h" 00163 #include "characterkinematic/PxExtended.h" 00164 00165 //Cloth Simulation 00166 #if PX_USE_CLOTH_API 00167 #include "cloth/PxCloth.h" 00168 #include "cloth/PxClothCollisionData.h" 00169 #include "cloth/PxClothFabric.h" 00170 #include "cloth/PxClothParticleData.h" 00171 #include "cloth/PxClothTypes.h" 00172 #endif 00173 00174 //Cooking (data preprocessing) 00175 #include "cooking/Pxc.h" 00176 #include "cooking/PxConvexMeshDesc.h" 00177 #include "cooking/PxCooking.h" 00178 #include "cooking/PxTriangleMeshDesc.h" 00179 #include "cooking/PxBVH33MidphaseDesc.h" 00180 #include "cooking/PxBVH34MidphaseDesc.h" 00181 #include "cooking/PxMidphaseDesc.h" 00182 00183 //Extensions to the SDK 00184 #include "extensions/PxDefaultStreams.h" 00185 #include "extensions/PxDistanceJoint.h" 00186 #include "extensions/PxExtensionsAPI.h" 00187 #include "extensions/PxFixedJoint.h" 00188 #include "extensions/PxJoint.h" 00189 #include "extensions/PxJointLimit.h" 00190 #include "extensions/PxParticleExt.h" 00191 #include "extensions/PxPrismaticJoint.h" 00192 #include "extensions/PxRevoluteJoint.h" 00193 #include "extensions/PxRigidBodyExt.h" 00194 #include "extensions/PxShapeExt.h" 00195 #include "extensions/PxSimpleFactory.h" 00196 #include "extensions/PxSmoothNormals.h" 00197 #include "extensions/PxSphericalJoint.h" 00198 #include "extensions/PxStringTableExt.h" 00199 #include "extensions/PxTriangleMeshExt.h" 00200 #include "extensions/PxConvexMeshExt.h" 00201 00202 //Serialization 00203 #include "extensions/PxSerialization.h" 00204 #include "extensions/PxBinaryConverter.h" 00205 #include "extensions/PxRepXSerializer.h" 00206 00207 //Particle Simulation 00208 #if PX_USE_PARTICLE_SYSTEM_API 00209 #include "particles/PxParticleBase.h" 00210 #include "particles/PxParticleBaseFlag.h" 00211 #include "particles/PxParticleCreationData.h" 00212 #include "particles/PxParticleFlag.h" 00213 #include "particles/PxParticleFluid.h" 00214 #include "particles/PxParticleFluidReadData.h" 00215 #include "particles/PxParticleReadData.h" 00216 #include "particles/PxParticleSystem.h" 00217 #endif 00218 00219 //Vehicle Simulation 00220 #include "vehicle/PxVehicleComponents.h" 00221 #include "vehicle/PxVehicleDrive.h" 00222 #include "vehicle/PxVehicleDrive4W.h" 00223 #include "vehicle/PxVehicleDriveTank.h" 00224 #include "vehicle/PxVehicleSDK.h" 00225 #include "vehicle/PxVehicleShaders.h" 00226 #include "vehicle/PxVehicleTireFriction.h" 00227 #include "vehicle/PxVehicleUpdate.h" 00228 #include "vehicle/PxVehicleUtilControl.h" 00229 #include "vehicle/PxVehicleUtilSetup.h" 00230 #include "vehicle/PxVehicleUtilTelemetry.h" 00231 #include "vehicle/PxVehicleWheels.h" 00232 #include "vehicle/PxVehicleNoDrive.h" 00233 #include "vehicle/PxVehicleDriveNW.h" 00234 00235 //Connecting the SDK to Visual Debugger 00236 #include "pvd/PxPvdSceneClient.h" 00237 #include "pvd/PxPvd.h" 00238 #include "pvd/PxPvdTransport.h" 00240 #endif