EffectPackageActor.h
Go to the documentation of this file.
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 EFFECT_PACKAGE_ACTOR_H 00013 #define EFFECT_PACKAGE_ACTOR_H 00014 00015 #include "Actor.h" 00016 #include "EmitterActor.h" 00017 00030 struct ID3D11ShaderResourceView; 00031 struct ID3D11DeviceContext; 00032 00033 namespace physx 00034 { 00035 class PxRigidDynamic; 00036 } 00037 00038 namespace nvidia 00039 { 00040 00041 namespace general_renderdebug4 00042 { 00044 class RenderDebugInterface; 00045 }; 00046 00047 namespace apex 00048 { 00049 00053 enum EffectType 00054 { 00055 ET_EMITTER, 00056 ET_HEAT_SOURCE, 00057 ET_SUBSTANCE_SOURCE, 00058 ET_TURBULENCE_FS, 00059 ET_JET_FS, 00060 ET_ATTRACTOR_FS, 00061 ET_FORCE_FIELD, 00062 ET_NOISE_FS, 00063 ET_VORTEX_FS, 00064 ET_WIND_FS, 00065 ET_RIGID_BODY, 00066 ET_VELOCITY_SOURCE, 00067 ET_FLAME_EMITTER, 00068 ET_LAST 00069 }; 00070 00071 class Actor; 00072 class RenderVolume; 00073 00077 class EffectPackageActor : public Actor 00078 { 00079 public: 00080 00091 virtual void fadeOut(float fadetime) = 0; 00092 00102 virtual void fadeIn(float fadetime) = 0; 00103 00107 virtual uint32_t getEffectCount() const = 0; 00108 00114 virtual EffectType getEffectType(uint32_t effectIndex) const = 0; 00115 00121 virtual const char* getEffectName(uint32_t effectIndex) const = 0; 00122 00128 virtual bool isEffectEnabled(uint32_t effectIndex) const = 0; 00129 00136 virtual bool setEffectEnabled(uint32_t effectIndex, bool state) = 0; 00137 00143 virtual void setCurrentScale(float scale) = 0; 00144 00148 virtual float getCurrentScale(void) const = 0; 00149 00157 virtual bool getEffectPose(uint32_t effectIndex, PxTransform& pose, bool worldSpace) = 0; 00158 00166 virtual bool setEffectPose(uint32_t effectIndex, const PxTransform& pose, bool worldSpace) = 0; 00167 00180 virtual Actor* getEffectActor(uint32_t effectIndex) const = 0; 00181 00191 virtual PxRigidDynamic* getEffectRigidDynamic(uint32_t effectIndex) const = 0; 00192 00200 virtual void setEmitterState(bool state) = 0; 00201 00207 virtual uint32_t getActiveParticleCount() const = 0; 00208 00217 virtual bool isStillEmitting() const = 0; 00218 00222 virtual bool isAlive(void) const = 0; 00223 00233 virtual void setEnabled(bool state) = 0; 00234 00238 virtual bool getEnabled() const = 0; 00239 00247 virtual void setPose(const PxTransform& pose) = 0; 00248 00252 virtual const PxTransform& getPose() const = 0; 00253 00257 virtual void refresh() = 0; 00258 00262 virtual void release() = 0; 00263 00267 virtual const char* getName() const = 0; 00268 00272 virtual float getDuration() const = 0; 00273 00277 virtual float getCurrentLife() const = 0; 00278 00282 virtual void setPreferredRenderVolume(RenderVolume* volume) = 0; 00283 00287 virtual const char * hasVolumeRenderMaterial(uint32_t &index) const = 0; 00288 00292 virtual void setApexEmitterValidateCallback(EmitterActor::EmitterValidateCallback *callback) = 0; 00293 }; 00294 00295 00296 }; // end of apex namespace 00297 }; // end of physx namespace 00298 00299 #endif
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.