diff options
Diffstat (limited to 'APEX_1.4/include/emitter/ModuleEmitter.h')
| -rw-r--r-- | APEX_1.4/include/emitter/ModuleEmitter.h | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/APEX_1.4/include/emitter/ModuleEmitter.h b/APEX_1.4/include/emitter/ModuleEmitter.h new file mode 100644 index 00000000..e26dd615 --- /dev/null +++ b/APEX_1.4/include/emitter/ModuleEmitter.h @@ -0,0 +1,71 @@ +/* + * 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_EMITTER_H +#define MODULE_EMITTER_H + +#include "Apex.h" + +namespace nvidia +{ +namespace apex +{ + + +PX_PUSH_PACK_DEFAULT + +class EmitterAsset; +class EmitterAssetAuthoring; + +class GroundEmitterAsset; +class GroundEmitterAssetAuthoring; + +class ImpactEmitterAsset; +class ImpactEmitterAssetAuthoring; + + +/** +\brief An APEX Module that provides generic Emitter classes +*/ +class ModuleEmitter : public Module +{ +protected: + virtual ~ModuleEmitter() {} + +public: + + /// get rate scale. Rate parameter in all emitters will be multiplied by rate scale. + virtual float getRateScale() const = 0; + + /// get density scale. Density parameter in all emitters except ground emitters will be multiplied by density scale. + virtual float getDensityScale() const = 0; + + /// get ground density scale. Density parameter in all ground emitters will be multiplied by ground density scale. + virtual float getGroundDensityScale() const = 0; + + /// set rate scale. Rate parameter in all module emitters will be multiplied by rate scale. + virtual void setRateScale(float rateScale) = 0; + + /// set density scale. Density parameter in all emitters except ground emitters will be multiplied by density scale. + virtual void setDensityScale(float densityScale) = 0; + + /// set ground density scale. Density parameter in all ground emitters will be multiplied by ground density scale. + virtual void setGroundDensityScale(float groundDensityScale) = 0; +}; + + + +PX_POP_PACK + +} +} // end namespace nvidia + +#endif // MODULE_EMITTER_H |