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_COMMON_NX
15#define PX_PHYSICS_COMMON_NX
16
17/** \addtogroup common
18@{ */
19
20#include "foundation/Px.h"
21
22
23// define API function declaration (public API only needed because of extensions)
24#if defined PX_PHYSX_STATIC_LIB || defined PX_PHYSX_CORE_STATIC_LIB
25 #define PX_PHYSX_CORE_API
26#else
27 #if (defined(PX_WINDOWS) || defined(PX_WINMODERN))
28 #if defined PX_PHYSX_CORE_EXPORTS
29 #define PX_PHYSX_CORE_API __declspec(dllexport)
30 #else
31 #define PX_PHYSX_CORE_API __declspec(dllimport)
32 #endif
33 #elif defined(PX_UNIX)
34 #define PX_PHYSX_CORE_API PX_UNIX_EXPORT
35 #else
36 #define PX_PHYSX_CORE_API
37 #endif
38#endif
39
40#if (defined(PX_WINDOWS) || defined(PX_WINMODERN)) && !defined(__CUDACC__)
41 #if defined PX_PHYSX_COMMON_EXPORTS
42 #define PX_PHYSX_COMMON_API __declspec(dllexport)
43 #else
44 #define PX_PHYSX_COMMON_API __declspec(dllimport)
45 #endif
46#elif defined(PX_UNIX)
47 #define PX_PHYSX_COMMON_API PX_UNIX_EXPORT
48#else
49 #define PX_PHYSX_COMMON_API
50#endif
51
52// Changing these parameters requires recompilation of the SDK
53
54#ifndef PX_DOXYGEN
55namespace physx
56{
57#endif
58 class PxCollection;
59 class PxBase;
60
61 class PxHeightField;
62 class PxHeightFieldDesc;
63
64 class PxTriangleMesh;
65 class PxConvexMesh;
66
67 typedef PxU32 PxTriangleID;
68 typedef PxU16 PxMaterialTableIndex;
69
70#ifndef PX_DOXYGEN
71} // namespace physx
72#endif
73
74/** @} */
75#endif
76