APEX Framework: ModuleParticles.h Source File

NVIDIA APEX

ModuleParticles.h
00001 /*
00002  * Copyright (c) 2008-2017, NVIDIA CORPORATION.  All rights reserved.
00003  *
00004  * NVIDIA CORPORATION and its licensors retain all intellectual property
00005  * and proprietary rights in and to this software, related documentation
00006  * and any modifications thereto.  Any use, reproduction, disclosure or
00007  * distribution of this software and related documentation without an express
00008  * license agreement from NVIDIA CORPORATION is strictly prohibited.
00009  */
00010 
00011 
00012 #ifndef MODULE_PARTICLES_H
00013 #define MODULE_PARTICLES_H
00014 
00015 #include "Apex.h"
00016 
00017 
00018 namespace nvidia
00019 {
00020 
00021 
00022 namespace apex
00023 {
00024 
00025 PX_PUSH_PACK_DEFAULT
00026 
00027 class Module;
00028 class Scene;
00029 class EffectPackageActor;
00064 class ModuleParticles : public Module
00065 {
00066 public:
00067 
00071     virtual nvidia::apex::Module* getModule(const char* moduleName) = 0;
00072 
00083     virtual bool setEffectPackageGraphicsMaterialsDatabase(const NvParameterized::Interface* dataBase) = 0;
00084 
00095     virtual bool setEffectPackageIOSDatabase(const NvParameterized::Interface* dataBase) = 0;
00096 
00107     virtual bool setEffectPackageIOFXDatabase(const NvParameterized::Interface* dataBase) = 0;
00108 
00119     virtual bool setEffectPackageEmitterDatabase(const NvParameterized::Interface* dataBase) = 0;
00120 
00131     virtual bool setEffectPackageDatabase(const NvParameterized::Interface* dataBase) = 0;
00132 
00143     virtual bool setEffectPackageFieldSamplerDatabase(const NvParameterized::Interface* dataBase) = 0;
00144 
00148     virtual const NvParameterized::Interface* getEffectPackageGraphicsMaterialsDatabase() const = 0;
00149 
00153     virtual const NvParameterized::Interface* getEffectPackageIOSDatabase() const = 0;
00154 
00158     virtual const NvParameterized::Interface* getEffectPackageIOFXDatabase() const = 0;
00159 
00163     virtual const NvParameterized::Interface* getEffectPackageEmitterDatabase() const = 0;
00164 
00168     virtual const NvParameterized::Interface* getEffectPackageDatabase() const = 0;
00169 
00173     virtual const NvParameterized::Interface* getEffectPackageFieldSamplerDatabase() const = 0;
00174 
00186     virtual const NvParameterized::Interface* locateGraphicsMaterialData(const char* name) const = 0;
00187 
00198     virtual NvParameterized::Interface* locateResource(const char* resourceName,
00199             const char* nameSpace) = 0;
00200 
00201 
00211     virtual const char** getResourceNames(const char* nameSpace, uint32_t& nameCount, const char** &variants) = 0;
00212 
00222     virtual void setEnableScreenCulling(bool state, bool znegative) = 0;
00223 
00227     virtual void resetEmitterPool() = 0;
00228 
00238     virtual void setUseEmitterPool(bool state) = 0;
00239 
00243     virtual bool getUseEmitterPool() const = 0;
00244 
00248     virtual void initializeDefaultDatabases() = 0;
00249 
00250 protected:
00251     virtual ~ModuleParticles() {}
00252 };
00253 
00254 #if !defined(_USRDLL)
00255 
00259 void instantiateModuleParticles();
00260 #endif
00261 
00262 
00263 PX_POP_PACK
00264 
00265 }
00266 } // end namespace nvidia
00267 
00268 #endif // MODULE_PARTICLES_H

Generated on Fri Dec 15 2017 13:58:35
Copyright © 2012-2017 NVIDIA Corporation, 2701 San Tomas Expressway, Santa Clara, CA 95050 U.S.A. All rights reserved.