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
14#ifndef PX_PHYSICS_NXPHYSICS_API
15#define PX_PHYSICS_NXPHYSICS_API
16/** \addtogroup physics
17@{
18*/
19
20/**
21This is the main include header for the Physics SDK, for users who
22want to use a single #include file.
23
24Alternatively, one can instead directly #include a subset of the below files.
25*/
26
27// Foundation SDK
28#include "foundation/Px.h"
29#include "foundation/PxAllocatorCallback.h"
30#include "foundation/PxAssert.h"
31#include "foundation/PxBitAndData.h"
32#include "foundation/PxBounds3.h"
33#include "foundation/PxBroadcastingAllocator.h"
34#include "foundation/PxErrorCallback.h"
35#include "foundation/PxErrors.h"
36#include "foundation/PxFlags.h"
37#include "foundation/PxFoundation.h"
38#include "foundation/PxIntrinsics.h"
39#include "foundation/PxIO.h"
40#include "foundation/PxMat33.h"
41#include "foundation/PxMat44.h"
42#include "foundation/PxMath.h"
43#include "foundation/PxPlane.h"
44#include "foundation/PxPreprocessor.h"
45#include "foundation/PxQuat.h"
46#include "foundation/PxSimpleTypes.h"
47#include "foundation/PxStrideIterator.h"
48#include "foundation/PxString.h"
49#include "foundation/PxTransform.h"
50#include "foundation/PxUnionCast.h"
51#include "foundation/PxVec2.h"
52#include "foundation/PxVec3.h"
53#include "foundation/PxVec4.h"
54#include "foundation/PxVersionNumber.h"
55
56//Not physics specific utilities and common code
57#include "common/PxCoreUtilityTypes.h"
58#include "common/PxMathUtils.h"
59#include "common/PxPhysXCommonConfig.h"
60#include "common/PxRenderBuffer.h"
61#include "common/PxBase.h"
62#include "common/PxTolerancesScale.h"
63#include "common/PxTypeInfo.h"
64#include "common/PxStringTable.h"
65#include "common/PxSerializer.h"
66#include "common/PxMetaData.h"
67#include "common/PxMetaDataFlags.h"
68#include "common/PxSerialFramework.h"
69#include "common/PxPhysicsInsertionCallback.h"
70
71//Profiling
72#include "physxprofilesdk/PxProfileBase.h"
73#include "physxprofilesdk/PxProfileCompileTimeEventFilter.h"
74#include "physxprofilesdk/PxProfileContextProvider.h"
75#include "physxprofilesdk/PxProfileEventBufferClient.h"
76#include "physxprofilesdk/PxProfileEventBufferClientManager.h"
77#include "physxprofilesdk/PxProfileEventFilter.h"
78#include "physxprofilesdk/PxProfileEventHandler.h"
79#include "physxprofilesdk/PxProfileEventId.h"
80#include "physxprofilesdk/PxProfileEventMutex.h"
81#include "physxprofilesdk/PxProfileEventNames.h"
82#include "physxprofilesdk/PxProfileEvents.h"
83#include "physxprofilesdk/PxProfileEventSender.h"
84#include "physxprofilesdk/PxProfileEventSystem.h"
85#include "physxprofilesdk/PxProfileMemoryEventTypes.h"
86#include "physxprofilesdk/PxProfileScopedEvent.h"
87#include "physxprofilesdk/PxProfileZone.h"
88#include "physxprofilesdk/PxProfileZoneManager.h"
89
90//Connecting to Visual Debugger Directly
91#include "physxvisualdebuggersdk/PvdConnection.h"
92#include "physxvisualdebuggersdk/PvdConnectionFlags.h"
93#include "physxvisualdebuggersdk/PvdConnectionManager.h"
94#include "physxvisualdebuggersdk/PvdDataStream.h"
95#include "physxvisualdebuggersdk/PvdErrorCodes.h"
96#include "physxvisualdebuggersdk/PvdNetworkStreams.h"
97
98//Connecting the SDK to Visual Debugger
99#include "pvd/PxVisualDebugger.h"
100
101//Task Manager
102#include "pxtask/PxCpuDispatcher.h"
103#include "pxtask/PxCudaContextManager.h"
104#include "pxtask/PxCudaMemoryManager.h"
105#include "pxtask/PxGpuCopyDesc.h"
106#include "pxtask/PxGpuCopyDescQueue.h"
107#include "pxtask/PxGpuDispatcher.h"
108#include "pxtask/PxGpuTask.h"
109#include "pxtask/PxSpuDispatcher.h"
110#include "pxtask/PxSpuTask.h"
111#include "pxtask/PxTask.h"
112#include "pxtask/PxTaskManager.h"
113
114
115//Geometry Library
116#include "geometry/PxBoxGeometry.h"
117#include "geometry/PxCapsuleGeometry.h"
118#include "geometry/PxConvexMesh.h"
119#include "geometry/PxConvexMeshGeometry.h"
120#include "geometry/PxGeometry.h"
121#include "geometry/PxGeometryHelpers.h"
122#include "geometry/PxGeometryQuery.h"
123#include "geometry/PxHeightField.h"
124#include "geometry/PxHeightFieldDesc.h"
125#include "geometry/PxHeightFieldFlag.h"
126#include "geometry/PxHeightFieldGeometry.h"
127#include "geometry/PxHeightFieldSample.h"
128#include "geometry/PxMeshQuery.h"
129#include "geometry/PxMeshScale.h"
130#include "geometry/PxPlaneGeometry.h"
131#include "geometry/PxSimpleTriangleMesh.h"
132#include "geometry/PxSphereGeometry.h"
133#include "geometry/PxTriangle.h"
134#include "geometry/PxTriangleMesh.h"
135#include "geometry/PxTriangleMeshGeometry.h"
136
137
138// PhysX Core SDK
139#include "PxActor.h"
140#include "PxAggregate.h"
141#include "PxArticulation.h"
142#include "PxArticulationJoint.h"
143#include "PxArticulationLink.h"
144#include "PxBatchQuery.h"
145#include "PxBatchQueryDesc.h"
146#include "PxClient.h"
147#include "PxConstraint.h"
148#include "PxConstraintDesc.h"
149#include "PxContact.h"
150#include "PxContactModifyCallback.h"
151#include "PxDeletionListener.h"
152#include "PxFiltering.h"
153#include "PxForceMode.h"
154#include "PxLockedData.h"
155#include "PxMaterial.h"
156#include "PxPhysics.h"
157#include "PxPhysXConfig.h"
158#include "PxQueryFiltering.h"
159#include "PxQueryReport.h"
160#include "PxRigidActor.h"
161#include "PxRigidBody.h"
162#include "PxRigidDynamic.h"
163#include "PxRigidStatic.h"
164#include "PxScene.h"
165#include "PxSceneDesc.h"
166#include "PxSceneLock.h"
167#include "PxShape.h"
168#include "PxSimulationEventCallback.h"
169#include "PxSimulationStatistics.h"
170#include "PxSpatialIndex.h"
171#include "PxVisualizationParameter.h"
172#include "PxVolumeCache.h"
173
174//Character Controller
175#include "characterkinematic/PxBoxController.h"
176#include "characterkinematic/PxCapsuleController.h"
177#include "characterkinematic/PxCharacter.h"
178#include "characterkinematic/PxController.h"
179#include "characterkinematic/PxControllerBehavior.h"
180#include "characterkinematic/PxControllerManager.h"
181#include "characterkinematic/PxControllerObstacles.h"
182#include "characterkinematic/PxExtended.h"
183
184//Cloth Simulation
185#if PX_USE_CLOTH_API
186#include "cloth/PxCloth.h"
187#include "cloth/PxClothCollisionData.h"
188#include "cloth/PxClothFabric.h"
189#include "cloth/PxClothParticleData.h"
190#include "cloth/PxClothTypes.h"
191#endif
192
193//Cooking (data preprocessing)
194#include "cooking/Pxc.h"
195#include "cooking/PxConvexMeshDesc.h"
196#include "cooking/PxCooking.h"
197#include "cooking/PxGaussMapLimit.h"
198#include "cooking/PxTriangleMeshDesc.h"
199
200//Extensions to the SDK
201#include "extensions/PxDefaultStreams.h"
202#include "extensions/PxDistanceJoint.h"
203#include "extensions/PxExtensionsAPI.h"
204#include "extensions/PxFixedJoint.h"
205#include "extensions/PxJoint.h"
206#include "extensions/PxJointLimit.h"
207#include "extensions/PxParticleExt.h"
208#include "extensions/PxPrismaticJoint.h"
209#include "extensions/PxRevoluteJoint.h"
210#include "extensions/PxRigidBodyExt.h"
211#include "extensions/PxShapeExt.h"
212#include "extensions/PxSimpleFactory.h"
213#include "extensions/PxSmoothNormals.h"
214#include "extensions/PxSphericalJoint.h"
215#include "extensions/PxStringTableExt.h"
216#include "extensions/PxTriangleMeshExt.h"
217#include "extensions/PxVisualDebuggerExt.h"
218#include "extensions/PxDefaultBufferedProfiler.h"
219
220//Serialization
221#include "extensions/PxSerialization.h"
222#include "extensions/PxBinaryConverter.h"
223#include "extensions/PxRepXSerializer.h"
224#include "extensions/PxJointRepXSerializer.h"
225
226//Particle Simulation
227#if PX_USE_PARTICLE_SYSTEM_API
228#include "particles/PxParticleBase.h"
229#include "particles/PxParticleBaseFlag.h"
230#include "particles/PxParticleCreationData.h"
231#include "particles/PxParticleFlag.h"
232#include "particles/PxParticleFluid.h"
233#include "particles/PxParticleFluidReadData.h"
234#include "particles/PxParticleReadData.h"
235#include "particles/PxParticleSystem.h"
236#endif
237
238//Vehicle Simulation
239#include "vehicle/PxVehicleComponents.h"
240#include "vehicle/PxVehicleDrive.h"
241#include "vehicle/PxVehicleDrive4W.h"
242#include "vehicle/PxVehicleDriveTank.h"
243#include "vehicle/PxVehicleSDK.h"
244#include "vehicle/PxVehicleShaders.h"
245#include "vehicle/PxVehicleTireFriction.h"
246#include "vehicle/PxVehicleUpdate.h"
247#include "vehicle/PxVehicleUtilControl.h"
248#include "vehicle/PxVehicleUtilSetup.h"
249#include "vehicle/PxVehicleUtilTelemetry.h"
250#include "vehicle/PxVehicleWheels.h"
251#include "vehicle/PxVehicleNoDrive.h"
252#include "vehicle/PxVehicleDriveNW.h"
253
254/** @} */
255#endif
256