/* * 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, 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 SceneCallbackMap_t; SceneCallbackMap_t mSceneCallbackMap; }; void instantiateModuleIOFXLegacy() { ApexSDKIntl *sdk = GetInternalApexSDK(); ModuleIOFXLegacy *impl = PX_NEW(ModuleIOFXLegacy)(sdk); sdk->registerExternalModule((Module *) impl, (ModuleIntl *) impl); } } } }