diff options
Diffstat (limited to 'APEX_1.4/module/fieldsampler/src/ModuleFieldSamplerImpl.cpp')
| -rw-r--r-- | APEX_1.4/module/fieldsampler/src/ModuleFieldSamplerImpl.cpp | 281 |
1 files changed, 0 insertions, 281 deletions
diff --git a/APEX_1.4/module/fieldsampler/src/ModuleFieldSamplerImpl.cpp b/APEX_1.4/module/fieldsampler/src/ModuleFieldSamplerImpl.cpp deleted file mode 100644 index 7634c180..00000000 --- a/APEX_1.4/module/fieldsampler/src/ModuleFieldSamplerImpl.cpp +++ /dev/null @@ -1,281 +0,0 @@ -/* - * 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. - */ - - -#include "ApexDefs.h" -#include "Apex.h" -#include "ModuleFieldSamplerImpl.h" -#include "ModuleFieldSamplerRegistration.h" -#include "FieldSamplerScene.h" -#include "FieldSamplerManager.h" -#include "SceneIntl.h" -#include "PsMemoryBuffer.h" -#include "ModulePerfScope.h" -using namespace fieldsampler; - -#include "ApexSDKIntl.h" -#include "ApexUsingNamespace.h" - -#include "Lock.h" - -#include "ReadCheck.h" -#include "WriteCheck.h" - -namespace nvidia -{ -namespace apex -{ - -#if defined(_USRDLL) - -/* Modules don't have to link against the framework, they keep their own */ -ApexSDKIntl* gApexSdk = 0; -ApexSDK* GetApexSDK() -{ - return gApexSdk; -} -ApexSDKIntl* GetInternalApexSDK() -{ - return gApexSdk; -} - -APEX_API Module* CALL_CONV createModule( - ApexSDKIntl* inSdk, - ModuleIntl** niRef, - uint32_t APEXsdkVersion, - uint32_t PhysXsdkVersion, - ApexCreateError* errorCode) -{ - if (APEXsdkVersion != APEX_SDK_VERSION) - { - if (errorCode) - { - *errorCode = APEX_CE_WRONG_VERSION; - } - return NULL; - } - - if (PhysXsdkVersion != PX_PHYSICS_VERSION) - { - if (errorCode) - { - *errorCode = APEX_CE_WRONG_VERSION; - } - return NULL; - } - - gApexSdk = inSdk; - ModuleFieldSamplerImpl* impl = PX_NEW(ModuleFieldSampler)(inSdk); - *niRef = (ModuleIntl*) impl; - return (Module*) impl; -} - -#else -/* Statically linking entry function */ -void instantiateModuleFieldSampler() -{ - ApexSDKIntl* sdk = GetInternalApexSDK(); - nvidia::fieldsampler::ModuleFieldSamplerImpl* impl = PX_NEW(fieldsampler::ModuleFieldSamplerImpl)(sdk); - sdk->registerExternalModule((Module*) impl, (ModuleIntl*) impl); -} -#endif // `defined(_USRDLL) -} - -namespace fieldsampler -{ -/* === ModuleFieldSamplerImpl Implementation === */ -ModuleFieldSamplerImpl::ModuleFieldSamplerImpl(ApexSDKIntl* sdk) -{ - mName = "FieldSampler"; - mSdk = sdk; - mApiProxy = this; - mModuleParams = NULL; - - /* Register the NvParameterized factories */ - NvParameterized::Traits* traits = mSdk->getParameterizedTraits(); - ModuleFieldSamplerRegistration::invokeRegistration(traits); -} - -ModuleFieldSamplerImpl::~ModuleFieldSamplerImpl() -{ -} - -void ModuleFieldSamplerImpl::destroy() -{ - NvParameterized::Traits* traits = mSdk->getParameterizedTraits(); - - if (mModuleParams) - { - mModuleParams->destroy(); - mModuleParams = NULL; - } - - ModuleBase::destroy(); - - if (traits) - { - /* Remove the NvParameterized factories */ - ModuleFieldSamplerRegistration::invokeUnregistration(traits); - } - - delete this; -} - -void ModuleFieldSamplerImpl::init(NvParameterized::Interface&) -{ -} - -NvParameterized::Interface* ModuleFieldSamplerImpl::getDefaultModuleDesc() -{ - NvParameterized::Traits* traits = mSdk->getParameterizedTraits(); - - if (!mModuleParams) - { - mModuleParams = DYNAMIC_CAST(FieldSamplerModuleParameters*) - (traits->createNvParameterized("FieldSamplerModuleParameters")); - PX_ASSERT(mModuleParams); - } - else - { - mModuleParams->initDefaults(); - } - - return mModuleParams; -} - -FieldSamplerManagerIntl* ModuleFieldSamplerImpl::getInternalFieldSamplerManager(const Scene& apexScene) -{ - FieldSamplerScene* scene = ModuleFieldSamplerImpl::getFieldSamplerScene(apexScene); - return scene->getManager(); -} - - -AuthObjTypeID ModuleFieldSamplerImpl::getModuleID() const -{ - return 0; -} - - -/* == Example Scene methods == */ -ModuleSceneIntl* ModuleFieldSamplerImpl::createInternalModuleScene(SceneIntl& scene, RenderDebugInterface* debugRender) -{ -#if APEX_CUDA_SUPPORT - READ_LOCK(scene); - if (scene.getTaskManager()->getGpuDispatcher() && scene.isUsingCuda()) - { - return PX_NEW(FieldSamplerSceneGPU)(*this, scene, debugRender, mFieldSamplerScenes); - } - else -#endif - return PX_NEW(FieldSamplerSceneCPU)(*this, scene, debugRender, mFieldSamplerScenes); -} - -void ModuleFieldSamplerImpl::releaseModuleSceneIntl(ModuleSceneIntl& scene) -{ - FieldSamplerScene* es = DYNAMIC_CAST(FieldSamplerScene*)(&scene); - es->destroy(); -} - -nvidia::fieldsampler::FieldSamplerScene* ModuleFieldSamplerImpl::getFieldSamplerScene(const Scene& apexScene) const -{ - for (uint32_t i = 0 ; i < mFieldSamplerScenes.getSize() ; i++) - { - FieldSamplerScene* es = DYNAMIC_CAST(FieldSamplerScene*)(mFieldSamplerScenes.getResource(i)); - if (es->mApexScene == &apexScene) - { - return es; - } - } - - PX_ASSERT(!"Unable to locate an appropriate FieldSamplerScene"); - return NULL; -} - -RenderableIterator* ModuleFieldSamplerImpl::createRenderableIterator(const Scene& apexScene) -{ - FieldSamplerScene* es = getFieldSamplerScene(apexScene); - if (es) - { - return es->createRenderableIterator(); - } - - return NULL; -} - - - -bool ModuleFieldSamplerImpl::setFieldSamplerWeightedCollisionFilterCallback(const Scene& apexScene,FieldSamplerWeightedCollisionFilterCallback *callback) -{ - WRITE_ZONE(); - FieldSamplerScene* scene = getFieldSamplerScene(apexScene); - if (scene != NULL) - { - DYNAMIC_CAST(FieldSamplerManager*)(scene->getManager())->setFieldSamplerWeightedCollisionFilterCallback(callback); - return true; - } - return false; - -} - -#if PX_PHYSICS_VERSION_MAJOR == 3 -void ModuleFieldSamplerImpl::enablePhysXMonitor(const Scene& apexScene, bool enable) -{ - WRITE_ZONE(); - getFieldSamplerScene(apexScene)->enablePhysXMonitor(enable); -} - -void ModuleFieldSamplerImpl::setPhysXMonitorFilterData(const Scene& apexScene, physx::PxFilterData filterData) -{ - WRITE_ZONE(); - getFieldSamplerScene(apexScene)->setPhysXFilterData(filterData); -} -#endif - -uint32_t ModuleFieldSamplerImpl::createForceSampleBatch(const Scene& apexScene, uint32_t maxCount, const physx::PxFilterData filterData) -{ - WRITE_ZONE(); - FieldSamplerScene* fsScene = getFieldSamplerScene(apexScene); - if (fsScene) - { - return fsScene->createForceSampleBatch(maxCount, filterData); - } - return (uint32_t)~0; -} - - -void ModuleFieldSamplerImpl::releaseForceSampleBatch(const Scene& apexScene, uint32_t batchId) -{ - WRITE_ZONE(); - FieldSamplerScene* fsScene = getFieldSamplerScene(apexScene); - if (fsScene) - { - fsScene->releaseForceSampleBatch(batchId); - } -} - - -void ModuleFieldSamplerImpl::submitForceSampleBatch(const Scene& apexScene, uint32_t batchId, - PxVec4* forces, const uint32_t forcesStride, - const PxVec3* positions, const uint32_t positionsStride, - const PxVec3* velocities, const uint32_t velocitiesStride, - const float* mass, const uint32_t massStride, - const uint32_t* indices, const uint32_t numIndices) -{ - WRITE_ZONE(); - FieldSamplerScene* fsScene = getFieldSamplerScene(apexScene); - if (fsScene) - { - fsScene->submitForceSampleBatch(batchId, forces, forcesStride, positions, positionsStride, velocities, velocitiesStride, mass, massStride, indices, numIndices); - } -} - - -} -} // end namespace nvidia::apex |