diff options
Diffstat (limited to 'APEX_1.4/module/particles/include/ModuleParticlesImpl.h')
| -rw-r--r-- | APEX_1.4/module/particles/include/ModuleParticlesImpl.h | 308 |
1 files changed, 0 insertions, 308 deletions
diff --git a/APEX_1.4/module/particles/include/ModuleParticlesImpl.h b/APEX_1.4/module/particles/include/ModuleParticlesImpl.h deleted file mode 100644 index 5375a340..00000000 --- a/APEX_1.4/module/particles/include/ModuleParticlesImpl.h +++ /dev/null @@ -1,308 +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 __MODULE_PARTICLES_IMPL_H__ -#define __MODULE_PARTICLES_IMPL_H__ - -#include "Apex.h" -#include "ModuleParticles.h" -#include "ApexSDKIntl.h" -#include "ModuleIntl.h" -#include "ModuleBase.h" - -#include "ApexRWLockable.h" -#include "ApexSDKHelpers.h" -#include "ParticlesDebugRenderParams.h" -#include "ParticlesModuleParameters.h" -#include "EffectPackageGraphicsMaterialsParams.h" - -#include "EffectPackageAssetParams.h" -#include "EffectPackageActorParams.h" - -#include "GraphicsMaterialData.h" -#include "VolumeRenderMaterialData.h" -#include "EmitterEffect.h" -#include "RigidBodyEffect.h" - -#include "HeatSourceEffect.h" -#include "SubstanceSourceEffect.h" -#include "VelocitySourceEffect.h" -#include "ForceFieldEffect.h" -#include "JetFieldSamplerEffect.h" -#include "WindFieldSamplerEffect.h" -#include "NoiseFieldSamplerEffect.h" -#include "VortexFieldSamplerEffect.h" -#include "AttractorFieldSamplerEffect.h" -#include "TurbulenceFieldSamplerEffect.h" -#include "FlameEmitterEffect.h" - -#include "EffectPackageData.h" -#include "AttractorFieldSamplerData.h" -#include "JetFieldSamplerData.h" -#include "WindFieldSamplerData.h" -#include "NoiseFieldSamplerData.h" -#include "VortexFieldSamplerData.h" -#include "TurbulenceFieldSamplerData.h" -#include "HeatSourceData.h" -#include "SubstanceSourceData.h" -#include "VelocitySourceData.h" -#include "ForceFieldData.h" -#include "EmitterData.h" -#include "GraphicsEffectData.h" -#include "ParticleSimulationData.h" -#include "FlameEmitterData.h" - -#include "EffectPackageIOSDatabaseParams.h" -#include "EffectPackageIOFXDatabaseParams.h" -#include "EffectPackageEmitterDatabaseParams.h" -#include "EffectPackageDatabaseParams.h" -#include "EffectPackageFieldSamplerDatabaseParams.h" - -#include "ReadCheck.h" -#include "WriteCheck.h" - -namespace nvidia -{ -namespace apex -{ -class SceneIntl; -class ModuleTurbulenceFS; -class EmitterActor; -class EmitterAsset; -} -namespace particles -{ -class ParticlesAsset; -class ParticlesAssetAuthoring; -class ParticlesScene; - -typedef Array< ModuleSceneIntl* > ModuleSceneVector; - -class ModuleParticlesDesc : public ApexDesc -{ -public: - - /** - \brief Constructor sets to default. - */ - PX_INLINE ModuleParticlesDesc() - { - setToDefault(); - } - /** - \brief (re)sets the structure to the default. - */ - PX_INLINE void setToDefault() - { - ApexDesc::setToDefault(); - moduleValue = 0; - } - - /** - Returns true if an object can be created using this descriptor. - */ - PX_INLINE bool isValid() const - { - return ApexDesc::isValid(); - } - - /** - ModuleBase configurable parameter. - */ - uint32_t moduleValue; -}; - - -class ModuleParticlesImpl : public ModuleParticles, public ModuleIntl, public ModuleBase, public ApexRWLockable -{ -public: - APEX_RW_LOCKABLE_BOILERPLATE - - ModuleParticlesImpl(ApexSDKIntl* sdk); - ~ModuleParticlesImpl(); - - void init(const ModuleParticlesDesc& desc); - - // base class methods - void init(NvParameterized::Interface&) {} - NvParameterized::Interface* getDefaultModuleDesc(); - void release() - { - ModuleBase::release(); - } - void destroy(); - const char* getName() const - { - READ_ZONE(); - return ModuleBase::getName(); - } - - virtual bool setEffectPackageGraphicsMaterialsDatabase(const NvParameterized::Interface* dataBase); - - virtual const NvParameterized::Interface* getEffectPackageGraphicsMaterialsDatabase() const; - - virtual bool setEffectPackageIOSDatabase(const NvParameterized::Interface* dataBase); - virtual bool setEffectPackageIOFXDatabase(const NvParameterized::Interface* dataBase); - virtual bool setEffectPackageEmitterDatabase(const NvParameterized::Interface* dataBase); - virtual bool setEffectPackageDatabase(const NvParameterized::Interface* dataBase); - virtual bool setEffectPackageFieldSamplerDatabase(const NvParameterized::Interface* dataBase); - - virtual const NvParameterized::Interface* getEffectPackageIOSDatabase(void) const - { - READ_ZONE(); - return mEffectPackageIOSDatabaseParams; - }; - virtual const NvParameterized::Interface* getEffectPackageIOFXDatabase(void) const - { - READ_ZONE(); - return mEffectPackageIOFXDatabaseParams; - }; - virtual const NvParameterized::Interface* getEffectPackageEmitterDatabase(void) const - { - READ_ZONE(); - return mEffectPackageEmitterDatabaseParams; - }; - virtual const NvParameterized::Interface* getEffectPackageDatabase(void) const - { - READ_ZONE(); - return mEffectPackageDatabaseParams; - }; - virtual const NvParameterized::Interface* getEffectPackageFieldSamplerDatabase(void) const - { - READ_ZONE(); - return mEffectPackageFieldSamplerDatabaseParams; - }; - - bool initParticleSimulationData(ParticleSimulationData* ed); - - virtual NvParameterized::Interface* locateResource(const char* resourceName, // the name of the resource - const char* nameSpace); - - virtual const char** getResourceNames(const char* nameSpace, uint32_t& nameCount, const char** &variants); - - virtual const NvParameterized::Interface* locateGraphicsMaterialData(const char* name) const; - virtual const NvParameterized::Interface* locateVolumeRenderMaterialData(const char* name) const; - - - ModuleSceneIntl* createInternalModuleScene(SceneIntl&, RenderDebugInterface*); - void releaseModuleSceneIntl(ModuleSceneIntl&); - uint32_t forceLoadAssets(); - AuthObjTypeID getModuleID() const; - RenderableIterator* createRenderableIterator(const Scene&); - - AuthObjTypeID getParticlesAssetTypeID() const; - - uint32_t getModuleValue() const - { - return mModuleValue; - } - - ModuleTurbulenceFS* getModuleTurbulenceFS(void) - { - return mTurbulenceModule; - } - - ParticlesScene* getParticlesScene(const Scene& apexScene); - - virtual void setEnableScreenCulling(bool state, bool znegative) - { - WRITE_ZONE(); - mEnableScreenCulling = state; - mZnegative = znegative; - } - - bool getEnableScreenCulling(void) const - { - return mEnableScreenCulling; - } - - bool getZnegative(void) const - { - return mZnegative; - } - - virtual void resetEmitterPool(void); - - virtual void setUseEmitterPool(bool state) - { - WRITE_ZONE(); - mUseEmitterPool = state; - } - - virtual bool getUseEmitterPool(void) const - { - READ_ZONE(); - return mUseEmitterPool; - } - - PxMaterial *getDefaultMaterial(void) const - { - return mDefaultMaterial; - } - - virtual void notifyReleaseSDK(void); - - virtual void notifyChildGone(ModuleIntl* imodule); - -protected: - bool mUseEmitterPool; - bool mEnableScreenCulling; - bool mZnegative; - - ResourceList mAuthorableObjects; - ResourceList mEffectPackageAuthorableObjects; - - ResourceList mParticlesScenes; - - uint32_t mModuleValue; - - friend class ParticlesAsset; - - /** - \brief Used by the ParticleEffectTool to initialize the default database values for the editor - */ - virtual void initializeDefaultDatabases(void); - - virtual nvidia::apex::Module* getModule(const char* moduleName); - -private: - - bool fixFieldSamplerCollisionFilterNames(NvParameterized::Interface *fs); - - bool fixupNamedReferences(void); - - NvParameterized::Interface* mEffectPackageIOSDatabaseParams; - NvParameterized::Interface* mEffectPackageIOFXDatabaseParams; - NvParameterized::Interface* mEffectPackageEmitterDatabaseParams; - NvParameterized::Interface* mEffectPackageDatabaseParams; - NvParameterized::Interface* mEffectPackageFieldSamplerDatabaseParams; - - ParticlesModuleParameters* mModuleParams; - NvParameterized::Interface* mGraphicsMaterialsDatabase; - ModuleTurbulenceFS* mTurbulenceModule; - ModuleSceneVector mScenes; - Array< const char*> mTempNames; - Array< const char*> mTempVariantNames; - - nvidia::apex::Module* mModuleBasicIos; // Instantiate the BasicIOS module statically - nvidia::apex::Module* mModuleEmitter; // Instantiate the Emitter module statically - nvidia::apex::Module* mModuleIofx; // Instantiate the IOFX module statically - nvidia::apex::Module* mModuleFieldSampler; // Instantiate the field sampler module statically - nvidia::apex::Module* mModuleBasicFS; // Instantiate the BasicFS module statically - nvidia::apex::Module* mModuleParticleIos; // PhysX 3.x only : Instantiate the ParticleIOS module - nvidia::apex::Module* mModuleForceField; // PhysX 3.x only : Instantiate the ForceField module - PxMaterial *mDefaultMaterial; -}; - -} -} // end namespace nvidia - -#endif // __MODULE_PARTICLES_H__ |