aboutsummaryrefslogtreecommitdiff
path: root/APEX_1.4/module/iofx_legacy/src/autogen/ModuleIOFXLegacy.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'APEX_1.4/module/iofx_legacy/src/autogen/ModuleIOFXLegacy.cpp')
-rw-r--r--APEX_1.4/module/iofx_legacy/src/autogen/ModuleIOFXLegacy.cpp86
1 files changed, 86 insertions, 0 deletions
diff --git a/APEX_1.4/module/iofx_legacy/src/autogen/ModuleIOFXLegacy.cpp b/APEX_1.4/module/iofx_legacy/src/autogen/ModuleIOFXLegacy.cpp
new file mode 100644
index 00000000..6d615d4b
--- /dev/null
+++ b/APEX_1.4/module/iofx_legacy/src/autogen/ModuleIOFXLegacy.cpp
@@ -0,0 +1,86 @@
+/*
+* Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+*
+* NVIDIA CORPORATION and its licensors retain all intellectual property
+* and proprietary rights in and to this software, related documentation
+* and any modifications thereto. Any use, reproduction, disclosure or
+* distribution of this software and related documentation without an express
+* license agreement from NVIDIA CORPORATION is strictly prohibited.
+*
+* This code was autogenerated from ModuleIOFXLegacy.template
+*/
+
+#include "ApexUsingNamespace.h"
+#include "Apex.h"
+#include "ApexLegacyModule.h"
+#include "ApexRWLockable.h"
+#include "legacy/ModuleIofxLegacy.h"
+#include "IofxLegacyRender.h"
+#include "PsHashMap.h"
+
+#include "ModuleIOFXLegacyRegistration.h"
+
+namespace nvidia
+{
+namespace apex
+{
+namespace legacy
+{
+
+class ModuleIOFXLegacy : public TApexLegacyModule<ModuleIofxLegacy>, public ApexRWLockable
+{
+public:
+ APEX_RW_LOCKABLE_BOILERPLATE
+
+ ModuleIOFXLegacy(ApexSDKIntl* inSdk)
+ {
+ mName = "IOFX_Legacy";
+ mSdk = inSdk;
+ mApiProxy = this;
+ ModuleIOFXLegacyRegistration::invokeRegistration(mSdk->getParameterizedTraits());
+ }
+
+ virtual nvidia::apex::IofxRenderCallback* getIofxLegacyRenderCallback(const Scene& apexScene)
+ {
+ IofxLegacyRenderCallback* &renderCallback = mSceneCallbackMap[&apexScene];
+ if (renderCallback == NULL)
+ {
+ renderCallback = PX_NEW(IofxLegacyRenderCallback)(&apexScene);
+ }
+ return renderCallback;
+ }
+
+
+ virtual ~ModuleIOFXLegacy()
+ {
+ for (SceneCallbackMap_t::Iterator it = mSceneCallbackMap.getIterator(); !it.done(); ++it)
+ {
+ IofxLegacyRenderCallback* renderCallback = it->second;
+ if (renderCallback)
+ {
+ PX_DELETE(renderCallback);
+ }
+ }
+ }
+
+protected:
+ void releaseLegacyObjects()
+ {
+ ModuleIOFXLegacyRegistration::invokeUnregistration(mSdk->getParameterizedTraits());
+ }
+
+private:
+ typedef nvidia::shdfnd::HashMap<const Scene*, IofxLegacyRenderCallback*> SceneCallbackMap_t;
+ SceneCallbackMap_t mSceneCallbackMap;
+};
+
+void instantiateModuleIOFXLegacy()
+{
+ ApexSDKIntl *sdk = GetInternalApexSDK();
+ ModuleIOFXLegacy *impl = PX_NEW(ModuleIOFXLegacy)(sdk);
+ sdk->registerExternalModule((Module *) impl, (ModuleIntl *) impl);
+}
+
+}
+}
+}