1 | #ifndef PHYSX_LOADER_H
|
---|
2 | #define PHYSX_LOADER_H
|
---|
3 | /*----------------------------------------------------------------------------*\
|
---|
4 | |
|
---|
5 | | NovodeX Technology
|
---|
6 | |
|
---|
7 | | www.novodex.com
|
---|
8 | |
|
---|
9 | \*----------------------------------------------------------------------------*/
|
---|
10 |
|
---|
11 | #include "NxPhysicsSDK.h"
|
---|
12 | #include "NxUtilLib.h"
|
---|
13 |
|
---|
14 | #ifdef _USRDLL
|
---|
15 | #define NXPHYSXLOADERDLL_API extern "C" __declspec(dllexport)
|
---|
16 | #elif defined NX_USE_SDK_STATICLIBS
|
---|
17 | #define NXPHYSXLOADERDLL_API
|
---|
18 | #else
|
---|
19 | #define NXPHYSXLOADERDLL_API extern "C" __declspec(dllimport)
|
---|
20 | #endif
|
---|
21 |
|
---|
22 |
|
---|
23 | /** \addtogroup PhysXLoader
|
---|
24 | @{
|
---|
25 | */
|
---|
26 |
|
---|
27 | /**
|
---|
28 | \brief Creates an instance of the physics SDK.
|
---|
29 |
|
---|
30 | Creates an instance of this class. May not be a class member to avoid name mangling.
|
---|
31 | Pass the constant NX_PHYSICS_SDK_VERSION as the argument.
|
---|
32 | Because the class is a singleton class, multiple calls return the same object.
|
---|
33 |
|
---|
34 | \param sdkVersion Version number we are expecting(should be NX_PHYSICS_SDK_VERSION)
|
---|
35 | \param allocator User supplied interface for allocating memory(see #NxUserAllocator)
|
---|
36 | \param outputStream User supplied interface for reporting errors and displaying messages(see #NxUserOutputStream)
|
---|
37 | \param desc Optional descriptor used to define hardware allocation parameters
|
---|
38 | */
|
---|
39 | NXPHYSXLOADERDLL_API NxPhysicsSDK *NxCreatePhysicsSDK(NxU32 sdkVersion, NxUserAllocator* allocator = NULL, NxUserOutputStream* outputStream = NULL, const NxPhysicsSDKDesc &desc = NxPhysicsSDKDesc());
|
---|
40 |
|
---|
41 | /**
|
---|
42 | \brief Release an instance of the PhysX SDK.
|
---|
43 | */
|
---|
44 | NXPHYSXLOADERDLL_API void NxReleasePhysicsSDK(NxPhysicsSDK *sdk);
|
---|
45 |
|
---|
46 | /**
|
---|
47 | \brief Retrieves the Physics SDK allocator.
|
---|
48 |
|
---|
49 | Used by NxAllocateable's inlines and other macros below.
|
---|
50 |
|
---|
51 | Before using this function the user must call #NxCreatePhysicsSDK(). If #NxCreatePhysicsSDK()
|
---|
52 | has not been called then NULL will be returned.
|
---|
53 | */
|
---|
54 | NXPHYSXLOADERDLL_API NxUserAllocator *NxGetPhysicsSDKAllocator();
|
---|
55 |
|
---|
56 | /**
|
---|
57 | \brief Retrieves the Foundation SDK after it has been created.
|
---|
58 |
|
---|
59 | Before using this function the user must call #NxCreatePhysicsSDK(). If #NxCreatePhysicsSDK()
|
---|
60 | has not been called then NULL will be returned..
|
---|
61 | */
|
---|
62 | NXPHYSXLOADERDLL_API NxFoundationSDK* NxGetFoundationSDK();
|
---|
63 |
|
---|
64 | /**
|
---|
65 | \brief Retrieves the Physics SDK after it has been created.
|
---|
66 |
|
---|
67 | Before using this function the user must call #NxCreatePhysicsSDK(). If #NxCreatePhysicsSDK()
|
---|
68 | has not been called then NULL will be returned.
|
---|
69 | */
|
---|
70 | NXPHYSXLOADERDLL_API NxPhysicsSDK* NxGetPhysicsSDK();
|
---|
71 |
|
---|
72 | /**
|
---|
73 | \brief Retrieves the Physics SDK Utility Library
|
---|
74 |
|
---|
75 | Before using this function the user must call #NxCreatePhysicsSDK(). If #NxCreatePhysicsSDK()
|
---|
76 | has not been called then NULL will be returned.
|
---|
77 | */
|
---|
78 |
|
---|
79 | NXPHYSXLOADERDLL_API NxUtilLib *NxGetUtilLib();
|
---|
80 |
|
---|
81 | /** @} */
|
---|
82 |
|
---|
83 | #endif
|
---|
84 |
|
---|
85 |
|
---|
86 | //AGCOPYRIGHTBEGIN
|
---|
87 | ///////////////////////////////////////////////////////////////////////////
|
---|
88 | // Copyright © 2005 AGEIA Technologies.
|
---|
89 | // All rights reserved. www.ageia.com
|
---|
90 | ///////////////////////////////////////////////////////////////////////////
|
---|
91 | //AGCOPYRIGHTEND
|
---|
92 |
|
---|