aboutsummaryrefslogtreecommitdiff
path: root/APEX_1.4/module/particles/include/ParticlesScene.h
diff options
context:
space:
mode:
authorsschirm <[email protected]>2016-12-23 14:20:36 +0100
committersschirm <[email protected]>2016-12-23 14:56:17 +0100
commitef6937e69e8ee3f409cf9d460d5ad300a65d5924 (patch)
tree710426e8daa605551ce3f34b581897011101c30f /APEX_1.4/module/particles/include/ParticlesScene.h
parentInitial commit: (diff)
downloadphysx-3.4-ef6937e69e8ee3f409cf9d460d5ad300a65d5924.tar.xz
physx-3.4-ef6937e69e8ee3f409cf9d460d5ad300a65d5924.zip
PhysX 3.4 / APEX 1.4 release candidate @21506124
Diffstat (limited to 'APEX_1.4/module/particles/include/ParticlesScene.h')
-rw-r--r--APEX_1.4/module/particles/include/ParticlesScene.h192
1 files changed, 0 insertions, 192 deletions
diff --git a/APEX_1.4/module/particles/include/ParticlesScene.h b/APEX_1.4/module/particles/include/ParticlesScene.h
deleted file mode 100644
index 0715e03d..00000000
--- a/APEX_1.4/module/particles/include/ParticlesScene.h
+++ /dev/null
@@ -1,192 +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.
- */
-
-
-#ifndef __PARTICLES_SCENE_H__
-#define __PARTICLES_SCENE_H__
-
-#include "Apex.h"
-#include "PairFilter.h"
-#include "ModuleParticlesImpl.h"
-
-#include "ApexResource.h"
-#include "ApexContext.h"
-#include "ApexSDKHelpers.h"
-
-#include "RenderDebugInterface.h"
-#include "ApexSDKIntl.h"
-#include "ModuleIntl.h"
-
-#include "DebugRenderParams.h"
-#include "ParticlesDebugRenderParams.h"
-#include "PxTask.h"
-
-namespace nvidia
-{
-
-namespace apex
-{
-class SceneIntl;
-}
-namespace emitter
-{
-class EmitterActor;
-class EmitterAsset;
-}
-
-namespace particles
-{
-
-class ModuleParticlesImpl;
-
-#define EMITTER_FORGET_TIME 30
-
-class EmitterPool
-{
-public:
- EmitterPool()
- {
- mEmitter = NULL;
- mEmitterTime = 0;
- }
-
- EmitterPool(EmitterActor* emitterActor, float simTime);
-
- ~EmitterPool()
- {
- }
-
- bool process(float simTime);
- void releaseEmitter();
-
- EmitterActor* mEmitter;
- float mEmitterTime;
-};
-
-typedef Array< EmitterPool > EmitterPoolVector;
-
-class ParticlesScene : public ModuleSceneIntl, public ApexContext, public ApexResourceInterface, public ApexResource
-{
-public:
-
-
- ParticlesScene(ModuleParticlesImpl& module, SceneIntl& scene, RenderDebugInterface* renderDebug, ResourceList& list);
- ~ParticlesScene();
-
-
-
- /* ModuleSceneIntl */
- void updateActors(float deltaTime);
- void submitTasks(float elapsedTime, float substepSize, uint32_t numSubSteps);
- virtual void updateFromSimulate(float dt);
-
- virtual void visualize();
- virtual void fetchResults();
- virtual void fetchResultsPostRenderUnlock();
-
- virtual void setModulePhysXScene(PxScene* s);
- virtual PxScene* getModulePhysXScene() const
- {
- return mPhysXScene;
- }
-
- virtual Module* getModule()
- {
- return mModule;
- }
-
- bool lockRenderResources()
- {
- renderLockAllActors(); // Lock options not implemented yet
- return true;
- }
-
- bool unlockRenderResources()
- {
- renderUnLockAllActors(); // Lock options not implemented yet
- return true;
- }
-
- /* ApexResourceInterface */
- uint32_t getListIndex() const
- {
- return m_listIndex;
- }
- void setListIndex(ResourceList& list, uint32_t index)
- {
- m_listIndex = index;
- m_list = &list;
- }
- virtual void release()
- {
- mModule->releaseModuleSceneIntl(*this);
- }
-
- virtual SceneStats* getStats()
- {
- return NULL;
- }
-
-
- SceneIntl* mApexScene;
-
- ModuleParticlesImpl* getModuleParticles() const
- {
- return mModule;
- }
-
- void addToEmitterPool(EmitterActor* emitterActor);
- EmitterActor* getEmitterFromPool(EmitterAsset* assert);
-
- void resetEmitterPool();
-
-private:
- void destroy();
-
- ModuleParticlesImpl* mModule;
-
- PxScene* mPhysXScene;
- RenderDebugInterface* mRenderDebug;
-
- DebugRenderParams* mDebugRenderParams;
- ParticlesDebugRenderParams* mParticlesDebugRenderParams;
-
- class TaskUpdate : public PxTask
- {
- public:
- TaskUpdate(ParticlesScene& owner) : mOwner(owner) {}
- const char* getName() const
- {
- return "ParticlesScene::Update";
- }
- void run();
-
- protected:
- ParticlesScene& mOwner;
-
- private:
- TaskUpdate& operator=(const TaskUpdate&);
- };
-
- TaskUpdate mUpdateTask;
- friend class ModuleParticlesImpl;
- friend class ParticlesActor;
- friend class TaskUpdate;
-
-
- float mCheckTime;
- float mSimTime;
- EmitterPoolVector mEmitterPool;
-};
-
-}
-} // end namespace nvidia
-
-#endif