ModuleTurbulenceFS.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_TURBULENCE_FS_H 00013 #define MODULE_TURBULENCE_FS_H 00014 00015 #include "Apex.h" 00016 #include "Shape.h" 00017 #include "VelocitySourceActor.h" 00018 #include "HeatSourceActor.h" 00019 #include "SubstanceSourceActor.h" 00020 #include "FlameEmitterActor.h" 00021 #include "TestBase.h" 00022 #include "PxFiltering.h" 00023 00024 namespace nvidia 00025 { 00026 namespace apex 00027 { 00028 00029 class TurbulenceFSAsset; 00030 class TurbulenceFSAssetAuthoring; 00031 00032 class TurbulenceRenderCallback; 00033 00037 class ModuleTurbulenceFS : public Module 00038 { 00039 public: 00040 00042 virtual bool setCustomTimestep(const Scene& apexScene, float timestep, int numIterations) = 0; 00043 00045 virtual bool setMultiSolveEnabled(const Scene& apexScene, bool enabled) = 0; 00046 00048 virtual void enableOutputVelocityField() = 0; 00049 00051 virtual void enableOutputDensityField() = 0; 00052 00054 virtual void enableOutputFlameField() = 0; 00055 00057 virtual void setCustomFilterShader(physx::PxSimulationFilterShader shader, const void* shaderData, uint32_t shaderDataSize) = 0; 00058 00060 virtual const TestBase* getTestBase(Scene* apexScene) const = 0; 00061 00063 virtual int32_t getGridSizePow() const = 0; 00064 00066 virtual void setGridSizePow(int32_t power) = 0; 00067 00069 virtual void prepareRenderables(const Scene&) = 0; 00070 00075 virtual bool setTurbulenceRenderCallback(const Scene& apexScene, TurbulenceRenderCallback* ) = 0; 00076 00081 virtual TurbulenceRenderCallback* getTurbulenceRenderCallback(const Scene& apexScene) const = 0; 00082 00083 protected: 00084 virtual ~ModuleTurbulenceFS() {} 00085 }; 00086 00087 #if !defined(_USRDLL) 00088 00092 void instantiateModuleTurbulenceFS(); 00093 #endif 00094 00095 } 00096 } // end namespace nvidia 00097 00098 #endif // MODULE_TURBULENCE_FS_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.