ModuleEmitter.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_EMITTER_H 00013 #define MODULE_EMITTER_H 00014 00015 #include "Apex.h" 00016 00017 namespace nvidia 00018 { 00019 namespace apex 00020 { 00021 00022 00023 PX_PUSH_PACK_DEFAULT 00024 00025 class EmitterAsset; 00026 class EmitterAssetAuthoring; 00027 00028 class GroundEmitterAsset; 00029 class GroundEmitterAssetAuthoring; 00030 00031 class ImpactEmitterAsset; 00032 class ImpactEmitterAssetAuthoring; 00033 00034 00038 class ModuleEmitter : public Module 00039 { 00040 protected: 00041 virtual ~ModuleEmitter() {} 00042 00043 public: 00044 00046 virtual float getRateScale() const = 0; 00047 00049 virtual float getDensityScale() const = 0; 00050 00052 virtual float getGroundDensityScale() const = 0; 00053 00055 virtual void setRateScale(float rateScale) = 0; 00056 00058 virtual void setDensityScale(float densityScale) = 0; 00059 00061 virtual void setGroundDensityScale(float groundDensityScale) = 0; 00062 }; 00063 00064 00065 00066 PX_POP_PACK 00067 00068 } 00069 } // end namespace nvidia 00070 00071 #endif // MODULE_EMITTER_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.