aboutsummaryrefslogtreecommitdiff
path: root/APEX_1.4/module/turbulencefs_legacy/src
diff options
context:
space:
mode:
authorgit perforce import user <a@b>2016-10-25 12:29:14 -0600
committerSheikh Dawood Abdul Ajees <Sheikh Dawood Abdul Ajees>2016-10-25 18:56:37 -0500
commit3dfe2108cfab31ba3ee5527e217d0d8e99a51162 (patch)
treefa6485c169e50d7415a651bf838f5bcd0fd3bfbd /APEX_1.4/module/turbulencefs_legacy/src
downloadphysx-3.4-3dfe2108cfab31ba3ee5527e217d0d8e99a51162.tar.xz
physx-3.4-3dfe2108cfab31ba3ee5527e217d0d8e99a51162.zip
Initial commit:
PhysX 3.4.0 Update @ 21294896 APEX 1.4.0 Update @ 21275617 [CL 21300167]
Diffstat (limited to 'APEX_1.4/module/turbulencefs_legacy/src')
-rw-r--r--APEX_1.4/module/turbulencefs_legacy/src/autogen/FlameEmitterActorParams_0p0.cpp339
-rw-r--r--APEX_1.4/module/turbulencefs_legacy/src/autogen/FlameEmitterActorParams_0p1.cpp333
-rw-r--r--APEX_1.4/module/turbulencefs_legacy/src/autogen/FlameEmitterAssetParams_0p0.cpp698
-rw-r--r--APEX_1.4/module/turbulencefs_legacy/src/autogen/FlameEmitterPreviewParams_0p0.cpp339
-rw-r--r--APEX_1.4/module/turbulencefs_legacy/src/autogen/FlameEmitterPreviewParams_0p1.cpp333
-rw-r--r--APEX_1.4/module/turbulencefs_legacy/src/autogen/HeatSourceActorParams_0p0.cpp460
-rw-r--r--APEX_1.4/module/turbulencefs_legacy/src/autogen/HeatSourceActorParams_0p1.cpp454
-rw-r--r--APEX_1.4/module/turbulencefs_legacy/src/autogen/HeatSourceAssetParams_0p0.cpp398
-rw-r--r--APEX_1.4/module/turbulencefs_legacy/src/autogen/HeatSourceAssetParams_0p1.cpp383
-rw-r--r--APEX_1.4/module/turbulencefs_legacy/src/autogen/HeatSourceAssetParams_0p2.cpp414
-rw-r--r--APEX_1.4/module/turbulencefs_legacy/src/autogen/HeatSourceGeomBoxParams_0p0.cpp328
-rw-r--r--APEX_1.4/module/turbulencefs_legacy/src/autogen/HeatSourceGeomSphereParams_0p0.cpp316
-rw-r--r--APEX_1.4/module/turbulencefs_legacy/src/autogen/HeatSourcePreviewParams_0p0.cpp339
-rw-r--r--APEX_1.4/module/turbulencefs_legacy/src/autogen/HeatSourcePreviewParams_0p1.cpp333
-rw-r--r--APEX_1.4/module/turbulencefs_legacy/src/autogen/ModuleTurbulenceFSLegacy.cpp55
-rw-r--r--APEX_1.4/module/turbulencefs_legacy/src/autogen/SubstanceSourceActorParams_0p0.cpp460
-rw-r--r--APEX_1.4/module/turbulencefs_legacy/src/autogen/SubstanceSourceActorParams_0p1.cpp454
-rw-r--r--APEX_1.4/module/turbulencefs_legacy/src/autogen/SubstanceSourceAssetParams_0p0.cpp408
-rw-r--r--APEX_1.4/module/turbulencefs_legacy/src/autogen/SubstanceSourceAssetParams_0p1.cpp439
-rw-r--r--APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSActorParams_0p0.cpp569
-rw-r--r--APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSActorParams_0p1.cpp563
-rw-r--r--APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_0p0.cpp803
-rw-r--r--APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_0p1.cpp1443
-rw-r--r--APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_0p2.cpp1492
-rw-r--r--APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_0p3.cpp1517
-rw-r--r--APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_0p4.cpp1644
-rw-r--r--APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_0p5.cpp1644
-rw-r--r--APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_0p6.cpp1710
-rw-r--r--APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_0p7.cpp1743
-rw-r--r--APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_0p8.cpp1774
-rw-r--r--APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_0p9.cpp1724
-rw-r--r--APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_1p0.cpp1925
-rw-r--r--APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_1p1.cpp1950
-rw-r--r--APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_1p2.cpp1950
-rw-r--r--APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_1p3.cpp1917
-rw-r--r--APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_1p4.cpp2400
-rw-r--r--APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_1p5.cpp2004
-rw-r--r--APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSDebugRenderParams_0p0.cpp1021
-rw-r--r--APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSModuleParameters_0p0.cpp318
-rw-r--r--APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSPreviewParams_0p0.cpp500
-rw-r--r--APEX_1.4/module/turbulencefs_legacy/src/autogen/VelocitySourceActorParams_0p0.cpp460
-rw-r--r--APEX_1.4/module/turbulencefs_legacy/src/autogen/VelocitySourceActorParams_0p1.cpp454
-rw-r--r--APEX_1.4/module/turbulencefs_legacy/src/autogen/VelocitySourceAssetParams_0p0.cpp414
-rw-r--r--APEX_1.4/module/turbulencefs_legacy/src/autogen/VelocitySourcePreviewParams_0p0.cpp339
-rw-r--r--APEX_1.4/module/turbulencefs_legacy/src/autogen/VelocitySourcePreviewParams_0p1.cpp333
45 files changed, 39894 insertions, 0 deletions
diff --git a/APEX_1.4/module/turbulencefs_legacy/src/autogen/FlameEmitterActorParams_0p0.cpp b/APEX_1.4/module/turbulencefs_legacy/src/autogen/FlameEmitterActorParams_0p0.cpp
new file mode 100644
index 00000000..9c27e62e
--- /dev/null
+++ b/APEX_1.4/module/turbulencefs_legacy/src/autogen/FlameEmitterActorParams_0p0.cpp
@@ -0,0 +1,339 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and 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.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#include "FlameEmitterActorParams_0p0.h"
+#include <string.h>
+#include <stdlib.h>
+
+using namespace NvParameterized;
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+using namespace FlameEmitterActorParams_0p0NS;
+
+const char* const FlameEmitterActorParams_0p0Factory::vptr =
+ NvParameterized::getVptr<FlameEmitterActorParams_0p0, FlameEmitterActorParams_0p0::ClassAlignment>();
+
+const uint32_t NumParamDefs = 3;
+static NvParameterized::DefinitionImpl* ParamDefTable; // now allocated in buildTree [NumParamDefs];
+
+
+static const size_t ParamLookupChildrenTable[] =
+{
+ 1, 2,
+};
+
+#define TENUM(type) nvidia::##type
+#define CHILDREN(index) &ParamLookupChildrenTable[index]
+static const NvParameterized::ParamLookupNode ParamLookupTable[NumParamDefs] =
+{
+ { TYPE_STRUCT, false, 0, CHILDREN(0), 2 },
+ { TYPE_MAT34, false, (size_t)(&((ParametersStruct*)0)->initialPose), NULL, 0 }, // initialPose
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->initialScale), NULL, 0 }, // initialScale
+};
+
+
+bool FlameEmitterActorParams_0p0::mBuiltFlag = false;
+NvParameterized::MutexType FlameEmitterActorParams_0p0::mBuiltFlagMutex;
+
+FlameEmitterActorParams_0p0::FlameEmitterActorParams_0p0(NvParameterized::Traits* traits, void* buf, int32_t* refCount) :
+ NvParameters(traits, buf, refCount)
+{
+ //mParameterizedTraits->registerFactory(className(), &FlameEmitterActorParams_0p0FactoryInst);
+
+ if (!buf) //Do not init data if it is inplace-deserialized
+ {
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+ initDefaults();
+ }
+}
+
+FlameEmitterActorParams_0p0::~FlameEmitterActorParams_0p0()
+{
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+}
+
+void FlameEmitterActorParams_0p0::destroy()
+{
+ // We cache these fields here to avoid overwrite in destructor
+ bool doDeallocateSelf = mDoDeallocateSelf;
+ NvParameterized::Traits* traits = mParameterizedTraits;
+ int32_t* refCount = mRefCount;
+ void* buf = mBuffer;
+
+ this->~FlameEmitterActorParams_0p0();
+
+ NvParameters::destroy(this, traits, doDeallocateSelf, refCount, buf);
+}
+
+const NvParameterized::DefinitionImpl* FlameEmitterActorParams_0p0::getParameterDefinitionTree(void)
+{
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+const NvParameterized::DefinitionImpl* FlameEmitterActorParams_0p0::getParameterDefinitionTree(void) const
+{
+ FlameEmitterActorParams_0p0* tmpParam = const_cast<FlameEmitterActorParams_0p0*>(this);
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ tmpParam->buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+NvParameterized::ErrorType FlameEmitterActorParams_0p0::getParameterHandle(const char* long_name, Handle& handle) const
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+NvParameterized::ErrorType FlameEmitterActorParams_0p0::getParameterHandle(const char* long_name, Handle& handle)
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+void FlameEmitterActorParams_0p0::getVarPtr(const Handle& handle, void*& ptr, size_t& offset) const
+{
+ ptr = getVarPtrHelper(&ParamLookupTable[0], const_cast<FlameEmitterActorParams_0p0::ParametersStruct*>(&parameters()), handle, offset);
+}
+
+
+/* Dynamic Handle Indices */
+
+void FlameEmitterActorParams_0p0::freeParameterDefinitionTable(NvParameterized::Traits* traits)
+{
+ if (!traits)
+ {
+ return;
+ }
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ return;
+ }
+
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+
+ if (!mBuiltFlag)
+ {
+ return;
+ }
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ ParamDefTable[i].~DefinitionImpl();
+ }
+
+ traits->free(ParamDefTable);
+
+ mBuiltFlag = false;
+}
+
+#define PDEF_PTR(index) (&ParamDefTable[index])
+
+void FlameEmitterActorParams_0p0::buildTree(void)
+{
+
+ uint32_t allocSize = sizeof(NvParameterized::DefinitionImpl) * NumParamDefs;
+ ParamDefTable = (NvParameterized::DefinitionImpl*)(mParameterizedTraits->alloc(allocSize));
+ memset(ParamDefTable, 0, allocSize);
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ NV_PARAM_PLACEMENT_NEW(ParamDefTable + i, NvParameterized::DefinitionImpl)(*mParameterizedTraits);
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=0, longName=""
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[0];
+ ParamDef->init("", TYPE_STRUCT, "STRUCT", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=1, longName="initialPose"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[1];
+ ParamDef->init("initialPose", TYPE_MAT34, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The global pose for the actor", true);
+ ParamDefTable[1].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=2, longName="initialScale"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[2];
+ ParamDef->init("initialScale", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The space scale of the actor", true);
+ ParamDefTable[2].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // SetChildren for: nodeIndex=0, longName=""
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(1);
+ Children[1] = PDEF_PTR(2);
+
+ ParamDefTable[0].setChildren(Children, 2);
+ }
+
+ mBuiltFlag = true;
+
+}
+void FlameEmitterActorParams_0p0::initStrings(void)
+{
+}
+
+void FlameEmitterActorParams_0p0::initDynamicArrays(void)
+{
+}
+
+void FlameEmitterActorParams_0p0::initDefaults(void)
+{
+
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+ {
+ const float value[12] = {true};
+ for (int i = 0; i < 12; ++i)
+ {
+ initialPose[i] = value[i];
+ }
+ }
+ initialScale = float(1.0);
+
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+}
+
+void FlameEmitterActorParams_0p0::initReferences(void)
+{
+}
+
+void FlameEmitterActorParams_0p0::freeDynamicArrays(void)
+{
+}
+
+void FlameEmitterActorParams_0p0::freeStrings(void)
+{
+}
+
+void FlameEmitterActorParams_0p0::freeReferences(void)
+{
+}
+
+} // namespace parameterized
+} // namespace nvidia
diff --git a/APEX_1.4/module/turbulencefs_legacy/src/autogen/FlameEmitterActorParams_0p1.cpp b/APEX_1.4/module/turbulencefs_legacy/src/autogen/FlameEmitterActorParams_0p1.cpp
new file mode 100644
index 00000000..a9b5f2a2
--- /dev/null
+++ b/APEX_1.4/module/turbulencefs_legacy/src/autogen/FlameEmitterActorParams_0p1.cpp
@@ -0,0 +1,333 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and 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.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#include "FlameEmitterActorParams_0p1.h"
+#include <string.h>
+#include <stdlib.h>
+
+using namespace NvParameterized;
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+using namespace FlameEmitterActorParams_0p1NS;
+
+const char* const FlameEmitterActorParams_0p1Factory::vptr =
+ NvParameterized::getVptr<FlameEmitterActorParams_0p1, FlameEmitterActorParams_0p1::ClassAlignment>();
+
+const uint32_t NumParamDefs = 3;
+static NvParameterized::DefinitionImpl* ParamDefTable; // now allocated in buildTree [NumParamDefs];
+
+
+static const size_t ParamLookupChildrenTable[] =
+{
+ 1, 2,
+};
+
+#define TENUM(type) nvidia::##type
+#define CHILDREN(index) &ParamLookupChildrenTable[index]
+static const NvParameterized::ParamLookupNode ParamLookupTable[NumParamDefs] =
+{
+ { TYPE_STRUCT, false, 0, CHILDREN(0), 2 },
+ { TYPE_TRANSFORM, false, (size_t)(&((ParametersStruct*)0)->initialPose), NULL, 0 }, // initialPose
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->initialScale), NULL, 0 }, // initialScale
+};
+
+
+bool FlameEmitterActorParams_0p1::mBuiltFlag = false;
+NvParameterized::MutexType FlameEmitterActorParams_0p1::mBuiltFlagMutex;
+
+FlameEmitterActorParams_0p1::FlameEmitterActorParams_0p1(NvParameterized::Traits* traits, void* buf, int32_t* refCount) :
+ NvParameters(traits, buf, refCount)
+{
+ //mParameterizedTraits->registerFactory(className(), &FlameEmitterActorParams_0p1FactoryInst);
+
+ if (!buf) //Do not init data if it is inplace-deserialized
+ {
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+ initDefaults();
+ }
+}
+
+FlameEmitterActorParams_0p1::~FlameEmitterActorParams_0p1()
+{
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+}
+
+void FlameEmitterActorParams_0p1::destroy()
+{
+ // We cache these fields here to avoid overwrite in destructor
+ bool doDeallocateSelf = mDoDeallocateSelf;
+ NvParameterized::Traits* traits = mParameterizedTraits;
+ int32_t* refCount = mRefCount;
+ void* buf = mBuffer;
+
+ this->~FlameEmitterActorParams_0p1();
+
+ NvParameters::destroy(this, traits, doDeallocateSelf, refCount, buf);
+}
+
+const NvParameterized::DefinitionImpl* FlameEmitterActorParams_0p1::getParameterDefinitionTree(void)
+{
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+const NvParameterized::DefinitionImpl* FlameEmitterActorParams_0p1::getParameterDefinitionTree(void) const
+{
+ FlameEmitterActorParams_0p1* tmpParam = const_cast<FlameEmitterActorParams_0p1*>(this);
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ tmpParam->buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+NvParameterized::ErrorType FlameEmitterActorParams_0p1::getParameterHandle(const char* long_name, Handle& handle) const
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+NvParameterized::ErrorType FlameEmitterActorParams_0p1::getParameterHandle(const char* long_name, Handle& handle)
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+void FlameEmitterActorParams_0p1::getVarPtr(const Handle& handle, void*& ptr, size_t& offset) const
+{
+ ptr = getVarPtrHelper(&ParamLookupTable[0], const_cast<FlameEmitterActorParams_0p1::ParametersStruct*>(&parameters()), handle, offset);
+}
+
+
+/* Dynamic Handle Indices */
+
+void FlameEmitterActorParams_0p1::freeParameterDefinitionTable(NvParameterized::Traits* traits)
+{
+ if (!traits)
+ {
+ return;
+ }
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ return;
+ }
+
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+
+ if (!mBuiltFlag)
+ {
+ return;
+ }
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ ParamDefTable[i].~DefinitionImpl();
+ }
+
+ traits->free(ParamDefTable);
+
+ mBuiltFlag = false;
+}
+
+#define PDEF_PTR(index) (&ParamDefTable[index])
+
+void FlameEmitterActorParams_0p1::buildTree(void)
+{
+
+ uint32_t allocSize = sizeof(NvParameterized::DefinitionImpl) * NumParamDefs;
+ ParamDefTable = (NvParameterized::DefinitionImpl*)(mParameterizedTraits->alloc(allocSize));
+ memset(ParamDefTable, 0, allocSize);
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ NV_PARAM_PLACEMENT_NEW(ParamDefTable + i, NvParameterized::DefinitionImpl)(*mParameterizedTraits);
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=0, longName=""
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[0];
+ ParamDef->init("", TYPE_STRUCT, "STRUCT", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=1, longName="initialPose"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[1];
+ ParamDef->init("initialPose", TYPE_TRANSFORM, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The global pose for the actor", true);
+ ParamDefTable[1].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=2, longName="initialScale"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[2];
+ ParamDef->init("initialScale", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The space scale of the actor", true);
+ ParamDefTable[2].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // SetChildren for: nodeIndex=0, longName=""
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(1);
+ Children[1] = PDEF_PTR(2);
+
+ ParamDefTable[0].setChildren(Children, 2);
+ }
+
+ mBuiltFlag = true;
+
+}
+void FlameEmitterActorParams_0p1::initStrings(void)
+{
+}
+
+void FlameEmitterActorParams_0p1::initDynamicArrays(void)
+{
+}
+
+void FlameEmitterActorParams_0p1::initDefaults(void)
+{
+
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+ initialPose = physx::PxTransform(physx::PxIdentity);
+ initialScale = float(1.0);
+
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+}
+
+void FlameEmitterActorParams_0p1::initReferences(void)
+{
+}
+
+void FlameEmitterActorParams_0p1::freeDynamicArrays(void)
+{
+}
+
+void FlameEmitterActorParams_0p1::freeStrings(void)
+{
+}
+
+void FlameEmitterActorParams_0p1::freeReferences(void)
+{
+}
+
+} // namespace parameterized
+} // namespace nvidia
diff --git a/APEX_1.4/module/turbulencefs_legacy/src/autogen/FlameEmitterAssetParams_0p0.cpp b/APEX_1.4/module/turbulencefs_legacy/src/autogen/FlameEmitterAssetParams_0p0.cpp
new file mode 100644
index 00000000..c74347b5
--- /dev/null
+++ b/APEX_1.4/module/turbulencefs_legacy/src/autogen/FlameEmitterAssetParams_0p0.cpp
@@ -0,0 +1,698 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and 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.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#include "FlameEmitterAssetParams_0p0.h"
+#include <string.h>
+#include <stdlib.h>
+
+using namespace NvParameterized;
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+using namespace FlameEmitterAssetParams_0p0NS;
+
+const char* const FlameEmitterAssetParams_0p0Factory::vptr =
+ NvParameterized::getVptr<FlameEmitterAssetParams_0p0, FlameEmitterAssetParams_0p0::ClassAlignment>();
+
+const uint32_t NumParamDefs = 14;
+static NvParameterized::DefinitionImpl* ParamDefTable; // now allocated in buildTree [NumParamDefs];
+
+
+static const size_t ParamLookupChildrenTable[] =
+{
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+};
+
+#define TENUM(type) nvidia::##type
+#define CHILDREN(index) &ParamLookupChildrenTable[index]
+static const NvParameterized::ParamLookupNode ParamLookupTable[NumParamDefs] =
+{
+ { TYPE_STRUCT, false, 0, CHILDREN(0), 13 },
+ { TYPE_ENUM, false, (size_t)(&((ParametersStruct*)0)->EmitterType), NULL, 0 }, // EmitterType
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->Length), NULL, 0 }, // Length
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->Radius), NULL, 0 }, // Radius
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->EdgeWidth), NULL, 0 }, // EdgeWidth
+ { TYPE_VEC4, false, (size_t)(&((ParametersStruct*)0)->Velocity), NULL, 0 }, // Velocity
+ { TYPE_VEC4, false, (size_t)(&((ParametersStruct*)0)->DensityValue), NULL, 0 }, // DensityValue
+ { TYPE_VEC4, false, (size_t)(&((ParametersStruct*)0)->DensityOuterValue), NULL, 0 }, // DensityOuterValue
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->NoiseStrength), NULL, 0 }, // NoiseStrength
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->DistanceNoiseStrength), NULL, 0 }, // DistanceNoiseStrength
+ { TYPE_VEC3, false, (size_t)(&((ParametersStruct*)0)->NoiseFrequency), NULL, 0 }, // NoiseFrequency
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->NoiseOctaves), NULL, 0 }, // NoiseOctaves
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->NoiseAnimationSpeed), NULL, 0 }, // NoiseAnimationSpeed
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->fieldSamplerFilterDataName), NULL, 0 }, // fieldSamplerFilterDataName
+};
+
+
+bool FlameEmitterAssetParams_0p0::mBuiltFlag = false;
+NvParameterized::MutexType FlameEmitterAssetParams_0p0::mBuiltFlagMutex;
+
+FlameEmitterAssetParams_0p0::FlameEmitterAssetParams_0p0(NvParameterized::Traits* traits, void* buf, int32_t* refCount) :
+ NvParameters(traits, buf, refCount)
+{
+ //mParameterizedTraits->registerFactory(className(), &FlameEmitterAssetParams_0p0FactoryInst);
+
+ if (!buf) //Do not init data if it is inplace-deserialized
+ {
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+ initDefaults();
+ }
+}
+
+FlameEmitterAssetParams_0p0::~FlameEmitterAssetParams_0p0()
+{
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+}
+
+void FlameEmitterAssetParams_0p0::destroy()
+{
+ // We cache these fields here to avoid overwrite in destructor
+ bool doDeallocateSelf = mDoDeallocateSelf;
+ NvParameterized::Traits* traits = mParameterizedTraits;
+ int32_t* refCount = mRefCount;
+ void* buf = mBuffer;
+
+ this->~FlameEmitterAssetParams_0p0();
+
+ NvParameters::destroy(this, traits, doDeallocateSelf, refCount, buf);
+}
+
+const NvParameterized::DefinitionImpl* FlameEmitterAssetParams_0p0::getParameterDefinitionTree(void)
+{
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+const NvParameterized::DefinitionImpl* FlameEmitterAssetParams_0p0::getParameterDefinitionTree(void) const
+{
+ FlameEmitterAssetParams_0p0* tmpParam = const_cast<FlameEmitterAssetParams_0p0*>(this);
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ tmpParam->buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+NvParameterized::ErrorType FlameEmitterAssetParams_0p0::getParameterHandle(const char* long_name, Handle& handle) const
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+NvParameterized::ErrorType FlameEmitterAssetParams_0p0::getParameterHandle(const char* long_name, Handle& handle)
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+void FlameEmitterAssetParams_0p0::getVarPtr(const Handle& handle, void*& ptr, size_t& offset) const
+{
+ ptr = getVarPtrHelper(&ParamLookupTable[0], const_cast<FlameEmitterAssetParams_0p0::ParametersStruct*>(&parameters()), handle, offset);
+}
+
+
+/* Dynamic Handle Indices */
+
+void FlameEmitterAssetParams_0p0::freeParameterDefinitionTable(NvParameterized::Traits* traits)
+{
+ if (!traits)
+ {
+ return;
+ }
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ return;
+ }
+
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+
+ if (!mBuiltFlag)
+ {
+ return;
+ }
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ ParamDefTable[i].~DefinitionImpl();
+ }
+
+ traits->free(ParamDefTable);
+
+ mBuiltFlag = false;
+}
+
+#define PDEF_PTR(index) (&ParamDefTable[index])
+
+void FlameEmitterAssetParams_0p0::buildTree(void)
+{
+
+ uint32_t allocSize = sizeof(NvParameterized::DefinitionImpl) * NumParamDefs;
+ ParamDefTable = (NvParameterized::DefinitionImpl*)(mParameterizedTraits->alloc(allocSize));
+ memset(ParamDefTable, 0, allocSize);
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ NV_PARAM_PLACEMENT_NEW(ParamDefTable + i, NvParameterized::DefinitionImpl)(*mParameterizedTraits);
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=0, longName=""
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[0];
+ ParamDef->init("", TYPE_STRUCT, "STRUCT", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Flame emitter asset", true);
+ ParamDefTable[0].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=1, longName="EmitterType"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[1];
+ ParamDef->init("EmitterType", TYPE_ENUM, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("tweakable", uint64_t(1), true);
+ ParamDefTable[1].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("shortDescription", "Shape of the emitter", true);
+ HintTable[1].init("tweakable", uint64_t(1), true);
+ ParamDefTable[1].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+ static const char* const EnumVals[] = { "SPHERE", "CONE", "PLANE" };
+ ParamDefTable[1].setEnumVals((const char**)EnumVals, 3);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=2, longName="Length"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[2];
+ ParamDef->init("Length", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("tweakable", uint64_t(1), true);
+ ParamDefTable[2].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("shortDescription", "Length (for cone emitter)", true);
+ HintTable[1].init("tweakable", uint64_t(1), true);
+ ParamDefTable[2].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=3, longName="Radius"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[3];
+ ParamDef->init("Radius", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("tweakable", uint64_t(1), true);
+ ParamDefTable[3].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("shortDescription", "Radius (for sphere or cone emitters)", true);
+ HintTable[1].init("tweakable", uint64_t(1), true);
+ ParamDefTable[3].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=4, longName="EdgeWidth"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[4];
+ ParamDef->init("EdgeWidth", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("tweakable", uint64_t(1), true);
+ ParamDefTable[4].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("shortDescription", "Distance from shape edge at which density starts falling to outer value", true);
+ HintTable[1].init("tweakable", uint64_t(1), true);
+ ParamDefTable[4].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=5, longName="Velocity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[5];
+ ParamDef->init("Velocity", TYPE_VEC4, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("tweakable", uint64_t(1), true);
+ ParamDefTable[5].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("shortDescription", "The velocity of this emitter", true);
+ HintTable[1].init("tweakable", uint64_t(1), true);
+ ParamDefTable[5].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=6, longName="DensityValue"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[6];
+ ParamDef->init("DensityValue", TYPE_VEC4, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("tweakable", uint64_t(1), true);
+ ParamDefTable[6].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("shortDescription", "Density value", true);
+ HintTable[1].init("tweakable", uint64_t(1), true);
+ ParamDefTable[6].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=7, longName="DensityOuterValue"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[7];
+ ParamDef->init("DensityOuterValue", TYPE_VEC4, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("tweakable", uint64_t(1), true);
+ ParamDefTable[7].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("shortDescription", "Density value at outer edge", true);
+ HintTable[1].init("tweakable", uint64_t(1), true);
+ ParamDefTable[7].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=8, longName="NoiseStrength"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[8];
+ ParamDef->init("NoiseStrength", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("tweakable", uint64_t(1), true);
+ ParamDefTable[8].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("shortDescription", "Strength of procedural noise", true);
+ HintTable[1].init("tweakable", uint64_t(1), true);
+ ParamDefTable[8].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=9, longName="DistanceNoiseStrength"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[9];
+ ParamDef->init("DistanceNoiseStrength", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("tweakable", uint64_t(1), true);
+ ParamDefTable[9].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("shortDescription", "Distance Strength of procedural noise", true);
+ HintTable[1].init("tweakable", uint64_t(1), true);
+ ParamDefTable[9].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=10, longName="NoiseFrequency"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[10];
+ ParamDef->init("NoiseFrequency", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("tweakable", uint64_t(1), true);
+ ParamDefTable[10].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("shortDescription", "Frequency of procedural noise", true);
+ HintTable[1].init("tweakable", uint64_t(1), true);
+ ParamDefTable[10].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=11, longName="NoiseOctaves"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[11];
+ ParamDef->init("NoiseOctaves", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("tweakable", uint64_t(1), true);
+ ParamDefTable[11].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("shortDescription", "Number of octaves for procecural noise", true);
+ HintTable[1].init("tweakable", uint64_t(1), true);
+ ParamDefTable[11].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=12, longName="NoiseAnimationSpeed"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[12];
+ ParamDef->init("NoiseAnimationSpeed", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("tweakable", uint64_t(1), true);
+ ParamDefTable[12].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("shortDescription", "Animation speed for procedural noise", true);
+ HintTable[1].init("tweakable", uint64_t(1), true);
+ ParamDefTable[12].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=13, longName="fieldSamplerFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[13];
+ ParamDef->init("fieldSamplerFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The filter data name for FlameEmitter vs TurbulenceFS interaction.", true);
+ ParamDefTable[13].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // SetChildren for: nodeIndex=0, longName=""
+ {
+ static Definition* Children[13];
+ Children[0] = PDEF_PTR(1);
+ Children[1] = PDEF_PTR(2);
+ Children[2] = PDEF_PTR(3);
+ Children[3] = PDEF_PTR(4);
+ Children[4] = PDEF_PTR(5);
+ Children[5] = PDEF_PTR(6);
+ Children[6] = PDEF_PTR(7);
+ Children[7] = PDEF_PTR(8);
+ Children[8] = PDEF_PTR(9);
+ Children[9] = PDEF_PTR(10);
+ Children[10] = PDEF_PTR(11);
+ Children[11] = PDEF_PTR(12);
+ Children[12] = PDEF_PTR(13);
+
+ ParamDefTable[0].setChildren(Children, 13);
+ }
+
+ mBuiltFlag = true;
+
+}
+void FlameEmitterAssetParams_0p0::initStrings(void)
+{
+ fieldSamplerFilterDataName.isAllocated = true;
+ fieldSamplerFilterDataName.buf = NULL;
+}
+
+void FlameEmitterAssetParams_0p0::initDynamicArrays(void)
+{
+}
+
+void FlameEmitterAssetParams_0p0::initDefaults(void)
+{
+
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+ EmitterType = (const char*)"SPHERE";
+ Length = float(0.5);
+ Radius = float(1.0);
+ EdgeWidth = float(0.1);
+ Velocity = physx::PxVec4(initVec4(0.0,0.0,0.0,0.0));
+ DensityValue = physx::PxVec4(initVec4(0.0,0.0,0.0,0.0));
+ DensityOuterValue = physx::PxVec4(initVec4(0.0,0.0,0.0,0.0));
+ NoiseStrength = float(0.0);
+ DistanceNoiseStrength = float(0.0);
+ NoiseFrequency = physx::PxVec3(init(10.0,10.0,10.0));
+ NoiseOctaves = uint32_t(1);
+ NoiseAnimationSpeed = float(0.01);
+
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+}
+
+void FlameEmitterAssetParams_0p0::initReferences(void)
+{
+}
+
+void FlameEmitterAssetParams_0p0::freeDynamicArrays(void)
+{
+}
+
+void FlameEmitterAssetParams_0p0::freeStrings(void)
+{
+
+ if (fieldSamplerFilterDataName.isAllocated && fieldSamplerFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)fieldSamplerFilterDataName.buf);
+ }
+}
+
+void FlameEmitterAssetParams_0p0::freeReferences(void)
+{
+}
+
+} // namespace parameterized
+} // namespace nvidia
diff --git a/APEX_1.4/module/turbulencefs_legacy/src/autogen/FlameEmitterPreviewParams_0p0.cpp b/APEX_1.4/module/turbulencefs_legacy/src/autogen/FlameEmitterPreviewParams_0p0.cpp
new file mode 100644
index 00000000..927290cd
--- /dev/null
+++ b/APEX_1.4/module/turbulencefs_legacy/src/autogen/FlameEmitterPreviewParams_0p0.cpp
@@ -0,0 +1,339 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and 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.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#include "FlameEmitterPreviewParams_0p0.h"
+#include <string.h>
+#include <stdlib.h>
+
+using namespace NvParameterized;
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+using namespace FlameEmitterPreviewParams_0p0NS;
+
+const char* const FlameEmitterPreviewParams_0p0Factory::vptr =
+ NvParameterized::getVptr<FlameEmitterPreviewParams_0p0, FlameEmitterPreviewParams_0p0::ClassAlignment>();
+
+const uint32_t NumParamDefs = 3;
+static NvParameterized::DefinitionImpl* ParamDefTable; // now allocated in buildTree [NumParamDefs];
+
+
+static const size_t ParamLookupChildrenTable[] =
+{
+ 1, 2,
+};
+
+#define TENUM(type) nvidia::##type
+#define CHILDREN(index) &ParamLookupChildrenTable[index]
+static const NvParameterized::ParamLookupNode ParamLookupTable[NumParamDefs] =
+{
+ { TYPE_STRUCT, false, 0, CHILDREN(0), 2 },
+ { TYPE_MAT34, false, (size_t)(&((ParametersStruct*)0)->pose), NULL, 0 }, // pose
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->scale), NULL, 0 }, // scale
+};
+
+
+bool FlameEmitterPreviewParams_0p0::mBuiltFlag = false;
+NvParameterized::MutexType FlameEmitterPreviewParams_0p0::mBuiltFlagMutex;
+
+FlameEmitterPreviewParams_0p0::FlameEmitterPreviewParams_0p0(NvParameterized::Traits* traits, void* buf, int32_t* refCount) :
+ NvParameters(traits, buf, refCount)
+{
+ //mParameterizedTraits->registerFactory(className(), &FlameEmitterPreviewParams_0p0FactoryInst);
+
+ if (!buf) //Do not init data if it is inplace-deserialized
+ {
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+ initDefaults();
+ }
+}
+
+FlameEmitterPreviewParams_0p0::~FlameEmitterPreviewParams_0p0()
+{
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+}
+
+void FlameEmitterPreviewParams_0p0::destroy()
+{
+ // We cache these fields here to avoid overwrite in destructor
+ bool doDeallocateSelf = mDoDeallocateSelf;
+ NvParameterized::Traits* traits = mParameterizedTraits;
+ int32_t* refCount = mRefCount;
+ void* buf = mBuffer;
+
+ this->~FlameEmitterPreviewParams_0p0();
+
+ NvParameters::destroy(this, traits, doDeallocateSelf, refCount, buf);
+}
+
+const NvParameterized::DefinitionImpl* FlameEmitterPreviewParams_0p0::getParameterDefinitionTree(void)
+{
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+const NvParameterized::DefinitionImpl* FlameEmitterPreviewParams_0p0::getParameterDefinitionTree(void) const
+{
+ FlameEmitterPreviewParams_0p0* tmpParam = const_cast<FlameEmitterPreviewParams_0p0*>(this);
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ tmpParam->buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+NvParameterized::ErrorType FlameEmitterPreviewParams_0p0::getParameterHandle(const char* long_name, Handle& handle) const
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+NvParameterized::ErrorType FlameEmitterPreviewParams_0p0::getParameterHandle(const char* long_name, Handle& handle)
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+void FlameEmitterPreviewParams_0p0::getVarPtr(const Handle& handle, void*& ptr, size_t& offset) const
+{
+ ptr = getVarPtrHelper(&ParamLookupTable[0], const_cast<FlameEmitterPreviewParams_0p0::ParametersStruct*>(&parameters()), handle, offset);
+}
+
+
+/* Dynamic Handle Indices */
+
+void FlameEmitterPreviewParams_0p0::freeParameterDefinitionTable(NvParameterized::Traits* traits)
+{
+ if (!traits)
+ {
+ return;
+ }
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ return;
+ }
+
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+
+ if (!mBuiltFlag)
+ {
+ return;
+ }
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ ParamDefTable[i].~DefinitionImpl();
+ }
+
+ traits->free(ParamDefTable);
+
+ mBuiltFlag = false;
+}
+
+#define PDEF_PTR(index) (&ParamDefTable[index])
+
+void FlameEmitterPreviewParams_0p0::buildTree(void)
+{
+
+ uint32_t allocSize = sizeof(NvParameterized::DefinitionImpl) * NumParamDefs;
+ ParamDefTable = (NvParameterized::DefinitionImpl*)(mParameterizedTraits->alloc(allocSize));
+ memset(ParamDefTable, 0, allocSize);
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ NV_PARAM_PLACEMENT_NEW(ParamDefTable + i, NvParameterized::DefinitionImpl)(*mParameterizedTraits);
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=0, longName=""
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[0];
+ ParamDef->init("", TYPE_STRUCT, "STRUCT", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=1, longName="pose"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[1];
+ ParamDef->init("pose", TYPE_MAT34, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The preview actor's position and rotation", true);
+ ParamDefTable[1].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=2, longName="scale"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[2];
+ ParamDef->init("scale", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The preview actor's scale", true);
+ ParamDefTable[2].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // SetChildren for: nodeIndex=0, longName=""
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(1);
+ Children[1] = PDEF_PTR(2);
+
+ ParamDefTable[0].setChildren(Children, 2);
+ }
+
+ mBuiltFlag = true;
+
+}
+void FlameEmitterPreviewParams_0p0::initStrings(void)
+{
+}
+
+void FlameEmitterPreviewParams_0p0::initDynamicArrays(void)
+{
+}
+
+void FlameEmitterPreviewParams_0p0::initDefaults(void)
+{
+
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+ {
+ const float value[12] = {true};
+ for (int i = 0; i < 12; ++i)
+ {
+ pose[i] = value[i];
+ }
+ }
+ scale = float(1);
+
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+}
+
+void FlameEmitterPreviewParams_0p0::initReferences(void)
+{
+}
+
+void FlameEmitterPreviewParams_0p0::freeDynamicArrays(void)
+{
+}
+
+void FlameEmitterPreviewParams_0p0::freeStrings(void)
+{
+}
+
+void FlameEmitterPreviewParams_0p0::freeReferences(void)
+{
+}
+
+} // namespace parameterized
+} // namespace nvidia
diff --git a/APEX_1.4/module/turbulencefs_legacy/src/autogen/FlameEmitterPreviewParams_0p1.cpp b/APEX_1.4/module/turbulencefs_legacy/src/autogen/FlameEmitterPreviewParams_0p1.cpp
new file mode 100644
index 00000000..3d579cdd
--- /dev/null
+++ b/APEX_1.4/module/turbulencefs_legacy/src/autogen/FlameEmitterPreviewParams_0p1.cpp
@@ -0,0 +1,333 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and 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.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#include "FlameEmitterPreviewParams_0p1.h"
+#include <string.h>
+#include <stdlib.h>
+
+using namespace NvParameterized;
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+using namespace FlameEmitterPreviewParams_0p1NS;
+
+const char* const FlameEmitterPreviewParams_0p1Factory::vptr =
+ NvParameterized::getVptr<FlameEmitterPreviewParams_0p1, FlameEmitterPreviewParams_0p1::ClassAlignment>();
+
+const uint32_t NumParamDefs = 3;
+static NvParameterized::DefinitionImpl* ParamDefTable; // now allocated in buildTree [NumParamDefs];
+
+
+static const size_t ParamLookupChildrenTable[] =
+{
+ 1, 2,
+};
+
+#define TENUM(type) nvidia::##type
+#define CHILDREN(index) &ParamLookupChildrenTable[index]
+static const NvParameterized::ParamLookupNode ParamLookupTable[NumParamDefs] =
+{
+ { TYPE_STRUCT, false, 0, CHILDREN(0), 2 },
+ { TYPE_TRANSFORM, false, (size_t)(&((ParametersStruct*)0)->pose), NULL, 0 }, // pose
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->scale), NULL, 0 }, // scale
+};
+
+
+bool FlameEmitterPreviewParams_0p1::mBuiltFlag = false;
+NvParameterized::MutexType FlameEmitterPreviewParams_0p1::mBuiltFlagMutex;
+
+FlameEmitterPreviewParams_0p1::FlameEmitterPreviewParams_0p1(NvParameterized::Traits* traits, void* buf, int32_t* refCount) :
+ NvParameters(traits, buf, refCount)
+{
+ //mParameterizedTraits->registerFactory(className(), &FlameEmitterPreviewParams_0p1FactoryInst);
+
+ if (!buf) //Do not init data if it is inplace-deserialized
+ {
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+ initDefaults();
+ }
+}
+
+FlameEmitterPreviewParams_0p1::~FlameEmitterPreviewParams_0p1()
+{
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+}
+
+void FlameEmitterPreviewParams_0p1::destroy()
+{
+ // We cache these fields here to avoid overwrite in destructor
+ bool doDeallocateSelf = mDoDeallocateSelf;
+ NvParameterized::Traits* traits = mParameterizedTraits;
+ int32_t* refCount = mRefCount;
+ void* buf = mBuffer;
+
+ this->~FlameEmitterPreviewParams_0p1();
+
+ NvParameters::destroy(this, traits, doDeallocateSelf, refCount, buf);
+}
+
+const NvParameterized::DefinitionImpl* FlameEmitterPreviewParams_0p1::getParameterDefinitionTree(void)
+{
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+const NvParameterized::DefinitionImpl* FlameEmitterPreviewParams_0p1::getParameterDefinitionTree(void) const
+{
+ FlameEmitterPreviewParams_0p1* tmpParam = const_cast<FlameEmitterPreviewParams_0p1*>(this);
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ tmpParam->buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+NvParameterized::ErrorType FlameEmitterPreviewParams_0p1::getParameterHandle(const char* long_name, Handle& handle) const
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+NvParameterized::ErrorType FlameEmitterPreviewParams_0p1::getParameterHandle(const char* long_name, Handle& handle)
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+void FlameEmitterPreviewParams_0p1::getVarPtr(const Handle& handle, void*& ptr, size_t& offset) const
+{
+ ptr = getVarPtrHelper(&ParamLookupTable[0], const_cast<FlameEmitterPreviewParams_0p1::ParametersStruct*>(&parameters()), handle, offset);
+}
+
+
+/* Dynamic Handle Indices */
+
+void FlameEmitterPreviewParams_0p1::freeParameterDefinitionTable(NvParameterized::Traits* traits)
+{
+ if (!traits)
+ {
+ return;
+ }
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ return;
+ }
+
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+
+ if (!mBuiltFlag)
+ {
+ return;
+ }
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ ParamDefTable[i].~DefinitionImpl();
+ }
+
+ traits->free(ParamDefTable);
+
+ mBuiltFlag = false;
+}
+
+#define PDEF_PTR(index) (&ParamDefTable[index])
+
+void FlameEmitterPreviewParams_0p1::buildTree(void)
+{
+
+ uint32_t allocSize = sizeof(NvParameterized::DefinitionImpl) * NumParamDefs;
+ ParamDefTable = (NvParameterized::DefinitionImpl*)(mParameterizedTraits->alloc(allocSize));
+ memset(ParamDefTable, 0, allocSize);
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ NV_PARAM_PLACEMENT_NEW(ParamDefTable + i, NvParameterized::DefinitionImpl)(*mParameterizedTraits);
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=0, longName=""
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[0];
+ ParamDef->init("", TYPE_STRUCT, "STRUCT", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=1, longName="pose"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[1];
+ ParamDef->init("pose", TYPE_TRANSFORM, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The preview actor's position and rotation", true);
+ ParamDefTable[1].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=2, longName="scale"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[2];
+ ParamDef->init("scale", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The preview actor's scale", true);
+ ParamDefTable[2].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // SetChildren for: nodeIndex=0, longName=""
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(1);
+ Children[1] = PDEF_PTR(2);
+
+ ParamDefTable[0].setChildren(Children, 2);
+ }
+
+ mBuiltFlag = true;
+
+}
+void FlameEmitterPreviewParams_0p1::initStrings(void)
+{
+}
+
+void FlameEmitterPreviewParams_0p1::initDynamicArrays(void)
+{
+}
+
+void FlameEmitterPreviewParams_0p1::initDefaults(void)
+{
+
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+ pose = physx::PxTransform(physx::PxIdentity);
+ scale = float(1);
+
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+}
+
+void FlameEmitterPreviewParams_0p1::initReferences(void)
+{
+}
+
+void FlameEmitterPreviewParams_0p1::freeDynamicArrays(void)
+{
+}
+
+void FlameEmitterPreviewParams_0p1::freeStrings(void)
+{
+}
+
+void FlameEmitterPreviewParams_0p1::freeReferences(void)
+{
+}
+
+} // namespace parameterized
+} // namespace nvidia
diff --git a/APEX_1.4/module/turbulencefs_legacy/src/autogen/HeatSourceActorParams_0p0.cpp b/APEX_1.4/module/turbulencefs_legacy/src/autogen/HeatSourceActorParams_0p0.cpp
new file mode 100644
index 00000000..003a4e8c
--- /dev/null
+++ b/APEX_1.4/module/turbulencefs_legacy/src/autogen/HeatSourceActorParams_0p0.cpp
@@ -0,0 +1,460 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and 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.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#include "HeatSourceActorParams_0p0.h"
+#include <string.h>
+#include <stdlib.h>
+
+using namespace NvParameterized;
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+using namespace HeatSourceActorParams_0p0NS;
+
+const char* const HeatSourceActorParams_0p0Factory::vptr =
+ NvParameterized::getVptr<HeatSourceActorParams_0p0, HeatSourceActorParams_0p0::ClassAlignment>();
+
+const uint32_t NumParamDefs = 7;
+static NvParameterized::DefinitionImpl* ParamDefTable; // now allocated in buildTree [NumParamDefs];
+
+
+static const size_t ParamLookupChildrenTable[] =
+{
+ 1, 2, 3, 4, 5, 6,
+};
+
+#define TENUM(type) nvidia::##type
+#define CHILDREN(index) &ParamLookupChildrenTable[index]
+static const NvParameterized::ParamLookupNode ParamLookupTable[NumParamDefs] =
+{
+ { TYPE_STRUCT, false, 0, CHILDREN(0), 6 },
+ { TYPE_MAT34, false, (size_t)(&((ParametersStruct*)0)->initialPose), NULL, 0 }, // initialPose
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->initialScale), NULL, 0 }, // initialScale
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->averageTemperature), NULL, 0 }, // averageTemperature
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->stdTemperature), NULL, 0 }, // stdTemperature
+ { TYPE_REF, false, (size_t)(&((ParametersStruct*)0)->geometryType), NULL, 0 }, // geometryType
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->fieldSamplerFilterDataName), NULL, 0 }, // fieldSamplerFilterDataName
+};
+
+
+bool HeatSourceActorParams_0p0::mBuiltFlag = false;
+NvParameterized::MutexType HeatSourceActorParams_0p0::mBuiltFlagMutex;
+
+HeatSourceActorParams_0p0::HeatSourceActorParams_0p0(NvParameterized::Traits* traits, void* buf, int32_t* refCount) :
+ NvParameters(traits, buf, refCount)
+{
+ //mParameterizedTraits->registerFactory(className(), &HeatSourceActorParams_0p0FactoryInst);
+
+ if (!buf) //Do not init data if it is inplace-deserialized
+ {
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+ initDefaults();
+ }
+}
+
+HeatSourceActorParams_0p0::~HeatSourceActorParams_0p0()
+{
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+}
+
+void HeatSourceActorParams_0p0::destroy()
+{
+ // We cache these fields here to avoid overwrite in destructor
+ bool doDeallocateSelf = mDoDeallocateSelf;
+ NvParameterized::Traits* traits = mParameterizedTraits;
+ int32_t* refCount = mRefCount;
+ void* buf = mBuffer;
+
+ this->~HeatSourceActorParams_0p0();
+
+ NvParameters::destroy(this, traits, doDeallocateSelf, refCount, buf);
+}
+
+const NvParameterized::DefinitionImpl* HeatSourceActorParams_0p0::getParameterDefinitionTree(void)
+{
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+const NvParameterized::DefinitionImpl* HeatSourceActorParams_0p0::getParameterDefinitionTree(void) const
+{
+ HeatSourceActorParams_0p0* tmpParam = const_cast<HeatSourceActorParams_0p0*>(this);
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ tmpParam->buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+NvParameterized::ErrorType HeatSourceActorParams_0p0::getParameterHandle(const char* long_name, Handle& handle) const
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+NvParameterized::ErrorType HeatSourceActorParams_0p0::getParameterHandle(const char* long_name, Handle& handle)
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+void HeatSourceActorParams_0p0::getVarPtr(const Handle& handle, void*& ptr, size_t& offset) const
+{
+ ptr = getVarPtrHelper(&ParamLookupTable[0], const_cast<HeatSourceActorParams_0p0::ParametersStruct*>(&parameters()), handle, offset);
+}
+
+
+/* Dynamic Handle Indices */
+
+void HeatSourceActorParams_0p0::freeParameterDefinitionTable(NvParameterized::Traits* traits)
+{
+ if (!traits)
+ {
+ return;
+ }
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ return;
+ }
+
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+
+ if (!mBuiltFlag)
+ {
+ return;
+ }
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ ParamDefTable[i].~DefinitionImpl();
+ }
+
+ traits->free(ParamDefTable);
+
+ mBuiltFlag = false;
+}
+
+#define PDEF_PTR(index) (&ParamDefTable[index])
+
+void HeatSourceActorParams_0p0::buildTree(void)
+{
+
+ uint32_t allocSize = sizeof(NvParameterized::DefinitionImpl) * NumParamDefs;
+ ParamDefTable = (NvParameterized::DefinitionImpl*)(mParameterizedTraits->alloc(allocSize));
+ memset(ParamDefTable, 0, allocSize);
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ NV_PARAM_PLACEMENT_NEW(ParamDefTable + i, NvParameterized::DefinitionImpl)(*mParameterizedTraits);
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=0, longName=""
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[0];
+ ParamDef->init("", TYPE_STRUCT, "STRUCT", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=1, longName="initialPose"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[1];
+ ParamDef->init("initialPose", TYPE_MAT34, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The global pose for the actor.", true);
+ ParamDefTable[1].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=2, longName="initialScale"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[2];
+ ParamDef->init("initialScale", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The space scale of the actor", true);
+ ParamDefTable[2].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=3, longName="averageTemperature"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[3];
+ ParamDef->init("averageTemperature", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The arithmetic mean of a sample. Normal distribution parameter.", true);
+ ParamDefTable[3].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=4, longName="stdTemperature"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[4];
+ ParamDef->init("stdTemperature", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Standard deviation. Normal distribution parameter.", true);
+ ParamDefTable[4].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=5, longName="geometryType"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[5];
+ ParamDef->init("geometryType", TYPE_REF, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("INCLUDED", uint64_t(1), true);
+ ParamDefTable[5].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("INCLUDED", uint64_t(1), true);
+ HintTable[1].init("longDescription", "Specifies the geometry type of the source", true);
+ HintTable[2].init("shortDescription", "Geometry Type", true);
+ ParamDefTable[5].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+ static const char* const RefVariantVals[] = { "HeatSourceGeomBoxParams", "HeatSourceGeomSphereParams" };
+ ParamDefTable[5].setRefVariantVals((const char**)RefVariantVals, 2);
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=6, longName="fieldSamplerFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[6];
+ ParamDef->init("fieldSamplerFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The filter data name for HeatSource vs TurbulenceFS interaction. Overrides asset's value.", true);
+ ParamDefTable[6].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // SetChildren for: nodeIndex=0, longName=""
+ {
+ static Definition* Children[6];
+ Children[0] = PDEF_PTR(1);
+ Children[1] = PDEF_PTR(2);
+ Children[2] = PDEF_PTR(3);
+ Children[3] = PDEF_PTR(4);
+ Children[4] = PDEF_PTR(5);
+ Children[5] = PDEF_PTR(6);
+
+ ParamDefTable[0].setChildren(Children, 6);
+ }
+
+ mBuiltFlag = true;
+
+}
+void HeatSourceActorParams_0p0::initStrings(void)
+{
+ fieldSamplerFilterDataName.isAllocated = true;
+ fieldSamplerFilterDataName.buf = NULL;
+}
+
+void HeatSourceActorParams_0p0::initDynamicArrays(void)
+{
+}
+
+void HeatSourceActorParams_0p0::initDefaults(void)
+{
+
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+ {
+ const float value[12] = {true};
+ for (int i = 0; i < 12; ++i)
+ {
+ initialPose[i] = value[i];
+ }
+ }
+ initialScale = float(1.0);
+ averageTemperature = float(0);
+ stdTemperature = float(0);
+
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+}
+
+void HeatSourceActorParams_0p0::initReferences(void)
+{
+ geometryType = NULL;
+
+}
+
+void HeatSourceActorParams_0p0::freeDynamicArrays(void)
+{
+}
+
+void HeatSourceActorParams_0p0::freeStrings(void)
+{
+
+ if (fieldSamplerFilterDataName.isAllocated && fieldSamplerFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)fieldSamplerFilterDataName.buf);
+ }
+}
+
+void HeatSourceActorParams_0p0::freeReferences(void)
+{
+ if (geometryType)
+ {
+ geometryType->destroy();
+ }
+
+}
+
+} // namespace parameterized
+} // namespace nvidia
diff --git a/APEX_1.4/module/turbulencefs_legacy/src/autogen/HeatSourceActorParams_0p1.cpp b/APEX_1.4/module/turbulencefs_legacy/src/autogen/HeatSourceActorParams_0p1.cpp
new file mode 100644
index 00000000..152d2ffa
--- /dev/null
+++ b/APEX_1.4/module/turbulencefs_legacy/src/autogen/HeatSourceActorParams_0p1.cpp
@@ -0,0 +1,454 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and 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.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#include "HeatSourceActorParams_0p1.h"
+#include <string.h>
+#include <stdlib.h>
+
+using namespace NvParameterized;
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+using namespace HeatSourceActorParams_0p1NS;
+
+const char* const HeatSourceActorParams_0p1Factory::vptr =
+ NvParameterized::getVptr<HeatSourceActorParams_0p1, HeatSourceActorParams_0p1::ClassAlignment>();
+
+const uint32_t NumParamDefs = 7;
+static NvParameterized::DefinitionImpl* ParamDefTable; // now allocated in buildTree [NumParamDefs];
+
+
+static const size_t ParamLookupChildrenTable[] =
+{
+ 1, 2, 3, 4, 5, 6,
+};
+
+#define TENUM(type) nvidia::##type
+#define CHILDREN(index) &ParamLookupChildrenTable[index]
+static const NvParameterized::ParamLookupNode ParamLookupTable[NumParamDefs] =
+{
+ { TYPE_STRUCT, false, 0, CHILDREN(0), 6 },
+ { TYPE_TRANSFORM, false, (size_t)(&((ParametersStruct*)0)->initialPose), NULL, 0 }, // initialPose
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->initialScale), NULL, 0 }, // initialScale
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->averageTemperature), NULL, 0 }, // averageTemperature
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->stdTemperature), NULL, 0 }, // stdTemperature
+ { TYPE_REF, false, (size_t)(&((ParametersStruct*)0)->geometryType), NULL, 0 }, // geometryType
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->fieldSamplerFilterDataName), NULL, 0 }, // fieldSamplerFilterDataName
+};
+
+
+bool HeatSourceActorParams_0p1::mBuiltFlag = false;
+NvParameterized::MutexType HeatSourceActorParams_0p1::mBuiltFlagMutex;
+
+HeatSourceActorParams_0p1::HeatSourceActorParams_0p1(NvParameterized::Traits* traits, void* buf, int32_t* refCount) :
+ NvParameters(traits, buf, refCount)
+{
+ //mParameterizedTraits->registerFactory(className(), &HeatSourceActorParams_0p1FactoryInst);
+
+ if (!buf) //Do not init data if it is inplace-deserialized
+ {
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+ initDefaults();
+ }
+}
+
+HeatSourceActorParams_0p1::~HeatSourceActorParams_0p1()
+{
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+}
+
+void HeatSourceActorParams_0p1::destroy()
+{
+ // We cache these fields here to avoid overwrite in destructor
+ bool doDeallocateSelf = mDoDeallocateSelf;
+ NvParameterized::Traits* traits = mParameterizedTraits;
+ int32_t* refCount = mRefCount;
+ void* buf = mBuffer;
+
+ this->~HeatSourceActorParams_0p1();
+
+ NvParameters::destroy(this, traits, doDeallocateSelf, refCount, buf);
+}
+
+const NvParameterized::DefinitionImpl* HeatSourceActorParams_0p1::getParameterDefinitionTree(void)
+{
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+const NvParameterized::DefinitionImpl* HeatSourceActorParams_0p1::getParameterDefinitionTree(void) const
+{
+ HeatSourceActorParams_0p1* tmpParam = const_cast<HeatSourceActorParams_0p1*>(this);
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ tmpParam->buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+NvParameterized::ErrorType HeatSourceActorParams_0p1::getParameterHandle(const char* long_name, Handle& handle) const
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+NvParameterized::ErrorType HeatSourceActorParams_0p1::getParameterHandle(const char* long_name, Handle& handle)
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+void HeatSourceActorParams_0p1::getVarPtr(const Handle& handle, void*& ptr, size_t& offset) const
+{
+ ptr = getVarPtrHelper(&ParamLookupTable[0], const_cast<HeatSourceActorParams_0p1::ParametersStruct*>(&parameters()), handle, offset);
+}
+
+
+/* Dynamic Handle Indices */
+
+void HeatSourceActorParams_0p1::freeParameterDefinitionTable(NvParameterized::Traits* traits)
+{
+ if (!traits)
+ {
+ return;
+ }
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ return;
+ }
+
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+
+ if (!mBuiltFlag)
+ {
+ return;
+ }
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ ParamDefTable[i].~DefinitionImpl();
+ }
+
+ traits->free(ParamDefTable);
+
+ mBuiltFlag = false;
+}
+
+#define PDEF_PTR(index) (&ParamDefTable[index])
+
+void HeatSourceActorParams_0p1::buildTree(void)
+{
+
+ uint32_t allocSize = sizeof(NvParameterized::DefinitionImpl) * NumParamDefs;
+ ParamDefTable = (NvParameterized::DefinitionImpl*)(mParameterizedTraits->alloc(allocSize));
+ memset(ParamDefTable, 0, allocSize);
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ NV_PARAM_PLACEMENT_NEW(ParamDefTable + i, NvParameterized::DefinitionImpl)(*mParameterizedTraits);
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=0, longName=""
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[0];
+ ParamDef->init("", TYPE_STRUCT, "STRUCT", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=1, longName="initialPose"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[1];
+ ParamDef->init("initialPose", TYPE_TRANSFORM, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The global pose for the actor.", true);
+ ParamDefTable[1].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=2, longName="initialScale"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[2];
+ ParamDef->init("initialScale", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The space scale of the actor", true);
+ ParamDefTable[2].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=3, longName="averageTemperature"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[3];
+ ParamDef->init("averageTemperature", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The arithmetic mean of a sample. Normal distribution parameter.", true);
+ ParamDefTable[3].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=4, longName="stdTemperature"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[4];
+ ParamDef->init("stdTemperature", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Standard deviation. Normal distribution parameter.", true);
+ ParamDefTable[4].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=5, longName="geometryType"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[5];
+ ParamDef->init("geometryType", TYPE_REF, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("INCLUDED", uint64_t(1), true);
+ ParamDefTable[5].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("INCLUDED", uint64_t(1), true);
+ HintTable[1].init("longDescription", "Specifies the geometry type of the source", true);
+ HintTable[2].init("shortDescription", "Geometry Type", true);
+ ParamDefTable[5].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+ static const char* const RefVariantVals[] = { "HeatSourceGeomBoxParams", "HeatSourceGeomSphereParams" };
+ ParamDefTable[5].setRefVariantVals((const char**)RefVariantVals, 2);
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=6, longName="fieldSamplerFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[6];
+ ParamDef->init("fieldSamplerFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The filter data name for HeatSource vs TurbulenceFS interaction. Overrides asset's value.", true);
+ ParamDefTable[6].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // SetChildren for: nodeIndex=0, longName=""
+ {
+ static Definition* Children[6];
+ Children[0] = PDEF_PTR(1);
+ Children[1] = PDEF_PTR(2);
+ Children[2] = PDEF_PTR(3);
+ Children[3] = PDEF_PTR(4);
+ Children[4] = PDEF_PTR(5);
+ Children[5] = PDEF_PTR(6);
+
+ ParamDefTable[0].setChildren(Children, 6);
+ }
+
+ mBuiltFlag = true;
+
+}
+void HeatSourceActorParams_0p1::initStrings(void)
+{
+ fieldSamplerFilterDataName.isAllocated = true;
+ fieldSamplerFilterDataName.buf = NULL;
+}
+
+void HeatSourceActorParams_0p1::initDynamicArrays(void)
+{
+}
+
+void HeatSourceActorParams_0p1::initDefaults(void)
+{
+
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+ initialPose = physx::PxTransform(physx::PxIdentity);
+ initialScale = float(1.0);
+ averageTemperature = float(0);
+ stdTemperature = float(0);
+
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+}
+
+void HeatSourceActorParams_0p1::initReferences(void)
+{
+ geometryType = NULL;
+
+}
+
+void HeatSourceActorParams_0p1::freeDynamicArrays(void)
+{
+}
+
+void HeatSourceActorParams_0p1::freeStrings(void)
+{
+
+ if (fieldSamplerFilterDataName.isAllocated && fieldSamplerFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)fieldSamplerFilterDataName.buf);
+ }
+}
+
+void HeatSourceActorParams_0p1::freeReferences(void)
+{
+ if (geometryType)
+ {
+ geometryType->destroy();
+ }
+
+}
+
+} // namespace parameterized
+} // namespace nvidia
diff --git a/APEX_1.4/module/turbulencefs_legacy/src/autogen/HeatSourceAssetParams_0p0.cpp b/APEX_1.4/module/turbulencefs_legacy/src/autogen/HeatSourceAssetParams_0p0.cpp
new file mode 100644
index 00000000..baac8e93
--- /dev/null
+++ b/APEX_1.4/module/turbulencefs_legacy/src/autogen/HeatSourceAssetParams_0p0.cpp
@@ -0,0 +1,398 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and 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.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#include "HeatSourceAssetParams_0p0.h"
+#include <string.h>
+#include <stdlib.h>
+
+using namespace NvParameterized;
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+using namespace HeatSourceAssetParams_0p0NS;
+
+const char* const HeatSourceAssetParams_0p0Factory::vptr =
+ NvParameterized::getVptr<HeatSourceAssetParams_0p0, HeatSourceAssetParams_0p0::ClassAlignment>();
+
+const uint32_t NumParamDefs = 5;
+static NvParameterized::DefinitionImpl* ParamDefTable; // now allocated in buildTree [NumParamDefs];
+
+
+static const size_t ParamLookupChildrenTable[] =
+{
+ 1, 2, 3, 4,
+};
+
+#define TENUM(type) nvidia::##type
+#define CHILDREN(index) &ParamLookupChildrenTable[index]
+static const NvParameterized::ParamLookupNode ParamLookupTable[NumParamDefs] =
+{
+ { TYPE_STRUCT, false, 0, CHILDREN(0), 4 },
+ { TYPE_VEC3, false, (size_t)(&((ParametersStruct*)0)->position), NULL, 0 }, // position
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->averageTemperature), NULL, 0 }, // averageTemperature
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->stdTemperature), NULL, 0 }, // stdTemperature
+ { TYPE_REF, false, (size_t)(&((ParametersStruct*)0)->geometryType), NULL, 0 }, // geometryType
+};
+
+
+bool HeatSourceAssetParams_0p0::mBuiltFlag = false;
+NvParameterized::MutexType HeatSourceAssetParams_0p0::mBuiltFlagMutex;
+
+HeatSourceAssetParams_0p0::HeatSourceAssetParams_0p0(NvParameterized::Traits* traits, void* buf, int32_t* refCount) :
+ NvParameters(traits, buf, refCount)
+{
+ //mParameterizedTraits->registerFactory(className(), &HeatSourceAssetParams_0p0FactoryInst);
+
+ if (!buf) //Do not init data if it is inplace-deserialized
+ {
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+ initDefaults();
+ }
+}
+
+HeatSourceAssetParams_0p0::~HeatSourceAssetParams_0p0()
+{
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+}
+
+void HeatSourceAssetParams_0p0::destroy()
+{
+ // We cache these fields here to avoid overwrite in destructor
+ bool doDeallocateSelf = mDoDeallocateSelf;
+ NvParameterized::Traits* traits = mParameterizedTraits;
+ int32_t* refCount = mRefCount;
+ void* buf = mBuffer;
+
+ this->~HeatSourceAssetParams_0p0();
+
+ NvParameters::destroy(this, traits, doDeallocateSelf, refCount, buf);
+}
+
+const NvParameterized::DefinitionImpl* HeatSourceAssetParams_0p0::getParameterDefinitionTree(void)
+{
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+const NvParameterized::DefinitionImpl* HeatSourceAssetParams_0p0::getParameterDefinitionTree(void) const
+{
+ HeatSourceAssetParams_0p0* tmpParam = const_cast<HeatSourceAssetParams_0p0*>(this);
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ tmpParam->buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+NvParameterized::ErrorType HeatSourceAssetParams_0p0::getParameterHandle(const char* long_name, Handle& handle) const
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+NvParameterized::ErrorType HeatSourceAssetParams_0p0::getParameterHandle(const char* long_name, Handle& handle)
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+void HeatSourceAssetParams_0p0::getVarPtr(const Handle& handle, void*& ptr, size_t& offset) const
+{
+ ptr = getVarPtrHelper(&ParamLookupTable[0], const_cast<HeatSourceAssetParams_0p0::ParametersStruct*>(&parameters()), handle, offset);
+}
+
+
+/* Dynamic Handle Indices */
+
+void HeatSourceAssetParams_0p0::freeParameterDefinitionTable(NvParameterized::Traits* traits)
+{
+ if (!traits)
+ {
+ return;
+ }
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ return;
+ }
+
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+
+ if (!mBuiltFlag)
+ {
+ return;
+ }
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ ParamDefTable[i].~DefinitionImpl();
+ }
+
+ traits->free(ParamDefTable);
+
+ mBuiltFlag = false;
+}
+
+#define PDEF_PTR(index) (&ParamDefTable[index])
+
+void HeatSourceAssetParams_0p0::buildTree(void)
+{
+
+ uint32_t allocSize = sizeof(NvParameterized::DefinitionImpl) * NumParamDefs;
+ ParamDefTable = (NvParameterized::DefinitionImpl*)(mParameterizedTraits->alloc(allocSize));
+ memset(ParamDefTable, 0, allocSize);
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ NV_PARAM_PLACEMENT_NEW(ParamDefTable + i, NvParameterized::DefinitionImpl)(*mParameterizedTraits);
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=0, longName=""
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[0];
+ ParamDef->init("", TYPE_STRUCT, "STRUCT", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=1, longName="position"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[1];
+ ParamDef->init("position", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Initial position for heat sorce.", true);
+ ParamDefTable[1].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=2, longName="averageTemperature"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[2];
+ ParamDef->init("averageTemperature", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The arithmetic mean of a sample. Normal distribution parameter.", true);
+ ParamDefTable[2].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=3, longName="stdTemperature"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[3];
+ ParamDef->init("stdTemperature", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Standard deviation. Normal distribution parameter.", true);
+ ParamDefTable[3].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=4, longName="geometryType"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[4];
+ ParamDef->init("geometryType", TYPE_REF, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("INCLUDED", uint64_t(1), true);
+ ParamDefTable[4].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("INCLUDED", uint64_t(1), true);
+ HintTable[1].init("longDescription", "Specifies the geometry type of the source", true);
+ HintTable[2].init("shortDescription", "Geometry Type", true);
+ ParamDefTable[4].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+ static const char* const RefVariantVals[] = { "HeatSourceGeomBoxParams", "HeatSourceGeomSphereParams" };
+ ParamDefTable[4].setRefVariantVals((const char**)RefVariantVals, 2);
+
+
+
+ }
+
+ // SetChildren for: nodeIndex=0, longName=""
+ {
+ static Definition* Children[4];
+ Children[0] = PDEF_PTR(1);
+ Children[1] = PDEF_PTR(2);
+ Children[2] = PDEF_PTR(3);
+ Children[3] = PDEF_PTR(4);
+
+ ParamDefTable[0].setChildren(Children, 4);
+ }
+
+ mBuiltFlag = true;
+
+}
+void HeatSourceAssetParams_0p0::initStrings(void)
+{
+}
+
+void HeatSourceAssetParams_0p0::initDynamicArrays(void)
+{
+}
+
+void HeatSourceAssetParams_0p0::initDefaults(void)
+{
+
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+ position = physx::PxVec3(init(0.0, 0.0, 0.0));
+ averageTemperature = float(0);
+ stdTemperature = float(0);
+
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+}
+
+void HeatSourceAssetParams_0p0::initReferences(void)
+{
+ geometryType = NULL;
+
+}
+
+void HeatSourceAssetParams_0p0::freeDynamicArrays(void)
+{
+}
+
+void HeatSourceAssetParams_0p0::freeStrings(void)
+{
+}
+
+void HeatSourceAssetParams_0p0::freeReferences(void)
+{
+ if (geometryType)
+ {
+ geometryType->destroy();
+ }
+
+}
+
+} // namespace parameterized
+} // namespace nvidia
diff --git a/APEX_1.4/module/turbulencefs_legacy/src/autogen/HeatSourceAssetParams_0p1.cpp b/APEX_1.4/module/turbulencefs_legacy/src/autogen/HeatSourceAssetParams_0p1.cpp
new file mode 100644
index 00000000..391ae4c6
--- /dev/null
+++ b/APEX_1.4/module/turbulencefs_legacy/src/autogen/HeatSourceAssetParams_0p1.cpp
@@ -0,0 +1,383 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and 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.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#include "HeatSourceAssetParams_0p1.h"
+#include <string.h>
+#include <stdlib.h>
+
+using namespace NvParameterized;
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+using namespace HeatSourceAssetParams_0p1NS;
+
+const char* const HeatSourceAssetParams_0p1Factory::vptr =
+ NvParameterized::getVptr<HeatSourceAssetParams_0p1, HeatSourceAssetParams_0p1::ClassAlignment>();
+
+const uint32_t NumParamDefs = 4;
+static NvParameterized::DefinitionImpl* ParamDefTable; // now allocated in buildTree [NumParamDefs];
+
+
+static const size_t ParamLookupChildrenTable[] =
+{
+ 1, 2, 3,
+};
+
+#define TENUM(type) nvidia::##type
+#define CHILDREN(index) &ParamLookupChildrenTable[index]
+static const NvParameterized::ParamLookupNode ParamLookupTable[NumParamDefs] =
+{
+ { TYPE_STRUCT, false, 0, CHILDREN(0), 3 },
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->averageTemperature), NULL, 0 }, // averageTemperature
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->stdTemperature), NULL, 0 }, // stdTemperature
+ { TYPE_REF, false, (size_t)(&((ParametersStruct*)0)->geometryType), NULL, 0 }, // geometryType
+};
+
+
+bool HeatSourceAssetParams_0p1::mBuiltFlag = false;
+NvParameterized::MutexType HeatSourceAssetParams_0p1::mBuiltFlagMutex;
+
+HeatSourceAssetParams_0p1::HeatSourceAssetParams_0p1(NvParameterized::Traits* traits, void* buf, int32_t* refCount) :
+ NvParameters(traits, buf, refCount)
+{
+ //mParameterizedTraits->registerFactory(className(), &HeatSourceAssetParams_0p1FactoryInst);
+
+ if (!buf) //Do not init data if it is inplace-deserialized
+ {
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+ initDefaults();
+ }
+}
+
+HeatSourceAssetParams_0p1::~HeatSourceAssetParams_0p1()
+{
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+}
+
+void HeatSourceAssetParams_0p1::destroy()
+{
+ // We cache these fields here to avoid overwrite in destructor
+ bool doDeallocateSelf = mDoDeallocateSelf;
+ NvParameterized::Traits* traits = mParameterizedTraits;
+ int32_t* refCount = mRefCount;
+ void* buf = mBuffer;
+
+ this->~HeatSourceAssetParams_0p1();
+
+ NvParameters::destroy(this, traits, doDeallocateSelf, refCount, buf);
+}
+
+const NvParameterized::DefinitionImpl* HeatSourceAssetParams_0p1::getParameterDefinitionTree(void)
+{
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+const NvParameterized::DefinitionImpl* HeatSourceAssetParams_0p1::getParameterDefinitionTree(void) const
+{
+ HeatSourceAssetParams_0p1* tmpParam = const_cast<HeatSourceAssetParams_0p1*>(this);
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ tmpParam->buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+NvParameterized::ErrorType HeatSourceAssetParams_0p1::getParameterHandle(const char* long_name, Handle& handle) const
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+NvParameterized::ErrorType HeatSourceAssetParams_0p1::getParameterHandle(const char* long_name, Handle& handle)
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+void HeatSourceAssetParams_0p1::getVarPtr(const Handle& handle, void*& ptr, size_t& offset) const
+{
+ ptr = getVarPtrHelper(&ParamLookupTable[0], const_cast<HeatSourceAssetParams_0p1::ParametersStruct*>(&parameters()), handle, offset);
+}
+
+
+/* Dynamic Handle Indices */
+
+void HeatSourceAssetParams_0p1::freeParameterDefinitionTable(NvParameterized::Traits* traits)
+{
+ if (!traits)
+ {
+ return;
+ }
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ return;
+ }
+
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+
+ if (!mBuiltFlag)
+ {
+ return;
+ }
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ ParamDefTable[i].~DefinitionImpl();
+ }
+
+ traits->free(ParamDefTable);
+
+ mBuiltFlag = false;
+}
+
+#define PDEF_PTR(index) (&ParamDefTable[index])
+
+void HeatSourceAssetParams_0p1::buildTree(void)
+{
+
+ uint32_t allocSize = sizeof(NvParameterized::DefinitionImpl) * NumParamDefs;
+ ParamDefTable = (NvParameterized::DefinitionImpl*)(mParameterizedTraits->alloc(allocSize));
+ memset(ParamDefTable, 0, allocSize);
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ NV_PARAM_PLACEMENT_NEW(ParamDefTable + i, NvParameterized::DefinitionImpl)(*mParameterizedTraits);
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=0, longName=""
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[0];
+ ParamDef->init("", TYPE_STRUCT, "STRUCT", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Contains the asset properties for this HeatSource.", true);
+ ParamDefTable[0].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=1, longName="averageTemperature"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[1];
+ ParamDef->init("averageTemperature", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The arithmetic mean of a sample. Normal distribution parameter.", true);
+ ParamDefTable[1].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=2, longName="stdTemperature"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[2];
+ ParamDef->init("stdTemperature", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Standard deviation. Normal distribution parameter.", true);
+ ParamDefTable[2].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=3, longName="geometryType"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[3];
+ ParamDef->init("geometryType", TYPE_REF, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("INCLUDED", uint64_t(1), true);
+ ParamDefTable[3].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("INCLUDED", uint64_t(1), true);
+ HintTable[1].init("longDescription", "Specifies the geometry type of the source", true);
+ HintTable[2].init("shortDescription", "Geometry Type", true);
+ ParamDefTable[3].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+ static const char* const RefVariantVals[] = { "HeatSourceGeomBoxParams", "HeatSourceGeomSphereParams" };
+ ParamDefTable[3].setRefVariantVals((const char**)RefVariantVals, 2);
+
+
+
+ }
+
+ // SetChildren for: nodeIndex=0, longName=""
+ {
+ static Definition* Children[3];
+ Children[0] = PDEF_PTR(1);
+ Children[1] = PDEF_PTR(2);
+ Children[2] = PDEF_PTR(3);
+
+ ParamDefTable[0].setChildren(Children, 3);
+ }
+
+ mBuiltFlag = true;
+
+}
+void HeatSourceAssetParams_0p1::initStrings(void)
+{
+}
+
+void HeatSourceAssetParams_0p1::initDynamicArrays(void)
+{
+}
+
+void HeatSourceAssetParams_0p1::initDefaults(void)
+{
+
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+ averageTemperature = float(0);
+ stdTemperature = float(0);
+
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+}
+
+void HeatSourceAssetParams_0p1::initReferences(void)
+{
+ geometryType = NULL;
+
+}
+
+void HeatSourceAssetParams_0p1::freeDynamicArrays(void)
+{
+}
+
+void HeatSourceAssetParams_0p1::freeStrings(void)
+{
+}
+
+void HeatSourceAssetParams_0p1::freeReferences(void)
+{
+ if (geometryType)
+ {
+ geometryType->destroy();
+ }
+
+}
+
+} // namespace parameterized
+} // namespace nvidia
diff --git a/APEX_1.4/module/turbulencefs_legacy/src/autogen/HeatSourceAssetParams_0p2.cpp b/APEX_1.4/module/turbulencefs_legacy/src/autogen/HeatSourceAssetParams_0p2.cpp
new file mode 100644
index 00000000..701b2ec6
--- /dev/null
+++ b/APEX_1.4/module/turbulencefs_legacy/src/autogen/HeatSourceAssetParams_0p2.cpp
@@ -0,0 +1,414 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and 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.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#include "HeatSourceAssetParams_0p2.h"
+#include <string.h>
+#include <stdlib.h>
+
+using namespace NvParameterized;
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+using namespace HeatSourceAssetParams_0p2NS;
+
+const char* const HeatSourceAssetParams_0p2Factory::vptr =
+ NvParameterized::getVptr<HeatSourceAssetParams_0p2, HeatSourceAssetParams_0p2::ClassAlignment>();
+
+const uint32_t NumParamDefs = 5;
+static NvParameterized::DefinitionImpl* ParamDefTable; // now allocated in buildTree [NumParamDefs];
+
+
+static const size_t ParamLookupChildrenTable[] =
+{
+ 1, 2, 3, 4,
+};
+
+#define TENUM(type) nvidia::##type
+#define CHILDREN(index) &ParamLookupChildrenTable[index]
+static const NvParameterized::ParamLookupNode ParamLookupTable[NumParamDefs] =
+{
+ { TYPE_STRUCT, false, 0, CHILDREN(0), 4 },
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->averageTemperature), NULL, 0 }, // averageTemperature
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->stdTemperature), NULL, 0 }, // stdTemperature
+ { TYPE_REF, false, (size_t)(&((ParametersStruct*)0)->geometryType), NULL, 0 }, // geometryType
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->fieldSamplerFilterDataName), NULL, 0 }, // fieldSamplerFilterDataName
+};
+
+
+bool HeatSourceAssetParams_0p2::mBuiltFlag = false;
+NvParameterized::MutexType HeatSourceAssetParams_0p2::mBuiltFlagMutex;
+
+HeatSourceAssetParams_0p2::HeatSourceAssetParams_0p2(NvParameterized::Traits* traits, void* buf, int32_t* refCount) :
+ NvParameters(traits, buf, refCount)
+{
+ //mParameterizedTraits->registerFactory(className(), &HeatSourceAssetParams_0p2FactoryInst);
+
+ if (!buf) //Do not init data if it is inplace-deserialized
+ {
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+ initDefaults();
+ }
+}
+
+HeatSourceAssetParams_0p2::~HeatSourceAssetParams_0p2()
+{
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+}
+
+void HeatSourceAssetParams_0p2::destroy()
+{
+ // We cache these fields here to avoid overwrite in destructor
+ bool doDeallocateSelf = mDoDeallocateSelf;
+ NvParameterized::Traits* traits = mParameterizedTraits;
+ int32_t* refCount = mRefCount;
+ void* buf = mBuffer;
+
+ this->~HeatSourceAssetParams_0p2();
+
+ NvParameters::destroy(this, traits, doDeallocateSelf, refCount, buf);
+}
+
+const NvParameterized::DefinitionImpl* HeatSourceAssetParams_0p2::getParameterDefinitionTree(void)
+{
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+const NvParameterized::DefinitionImpl* HeatSourceAssetParams_0p2::getParameterDefinitionTree(void) const
+{
+ HeatSourceAssetParams_0p2* tmpParam = const_cast<HeatSourceAssetParams_0p2*>(this);
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ tmpParam->buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+NvParameterized::ErrorType HeatSourceAssetParams_0p2::getParameterHandle(const char* long_name, Handle& handle) const
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+NvParameterized::ErrorType HeatSourceAssetParams_0p2::getParameterHandle(const char* long_name, Handle& handle)
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+void HeatSourceAssetParams_0p2::getVarPtr(const Handle& handle, void*& ptr, size_t& offset) const
+{
+ ptr = getVarPtrHelper(&ParamLookupTable[0], const_cast<HeatSourceAssetParams_0p2::ParametersStruct*>(&parameters()), handle, offset);
+}
+
+
+/* Dynamic Handle Indices */
+
+void HeatSourceAssetParams_0p2::freeParameterDefinitionTable(NvParameterized::Traits* traits)
+{
+ if (!traits)
+ {
+ return;
+ }
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ return;
+ }
+
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+
+ if (!mBuiltFlag)
+ {
+ return;
+ }
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ ParamDefTable[i].~DefinitionImpl();
+ }
+
+ traits->free(ParamDefTable);
+
+ mBuiltFlag = false;
+}
+
+#define PDEF_PTR(index) (&ParamDefTable[index])
+
+void HeatSourceAssetParams_0p2::buildTree(void)
+{
+
+ uint32_t allocSize = sizeof(NvParameterized::DefinitionImpl) * NumParamDefs;
+ ParamDefTable = (NvParameterized::DefinitionImpl*)(mParameterizedTraits->alloc(allocSize));
+ memset(ParamDefTable, 0, allocSize);
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ NV_PARAM_PLACEMENT_NEW(ParamDefTable + i, NvParameterized::DefinitionImpl)(*mParameterizedTraits);
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=0, longName=""
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[0];
+ ParamDef->init("", TYPE_STRUCT, "STRUCT", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Contains the asset properties for this HeatSource.", true);
+ ParamDefTable[0].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=1, longName="averageTemperature"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[1];
+ ParamDef->init("averageTemperature", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The arithmetic mean of a sample. Normal distribution parameter.", true);
+ ParamDefTable[1].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=2, longName="stdTemperature"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[2];
+ ParamDef->init("stdTemperature", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Standard deviation. Normal distribution parameter.", true);
+ ParamDefTable[2].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=3, longName="geometryType"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[3];
+ ParamDef->init("geometryType", TYPE_REF, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("INCLUDED", uint64_t(1), true);
+ ParamDefTable[3].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("INCLUDED", uint64_t(1), true);
+ HintTable[1].init("longDescription", "Specifies the geometry type of the source", true);
+ HintTable[2].init("shortDescription", "Geometry Type", true);
+ ParamDefTable[3].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+ static const char* const RefVariantVals[] = { "HeatSourceGeomBoxParams", "HeatSourceGeomSphereParams" };
+ ParamDefTable[3].setRefVariantVals((const char**)RefVariantVals, 2);
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=4, longName="fieldSamplerFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[4];
+ ParamDef->init("fieldSamplerFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The filter data name for HeatSource vs TurbulenceFS interaction.", true);
+ ParamDefTable[4].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // SetChildren for: nodeIndex=0, longName=""
+ {
+ static Definition* Children[4];
+ Children[0] = PDEF_PTR(1);
+ Children[1] = PDEF_PTR(2);
+ Children[2] = PDEF_PTR(3);
+ Children[3] = PDEF_PTR(4);
+
+ ParamDefTable[0].setChildren(Children, 4);
+ }
+
+ mBuiltFlag = true;
+
+}
+void HeatSourceAssetParams_0p2::initStrings(void)
+{
+ fieldSamplerFilterDataName.isAllocated = true;
+ fieldSamplerFilterDataName.buf = NULL;
+}
+
+void HeatSourceAssetParams_0p2::initDynamicArrays(void)
+{
+}
+
+void HeatSourceAssetParams_0p2::initDefaults(void)
+{
+
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+ averageTemperature = float(0);
+ stdTemperature = float(0);
+
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+}
+
+void HeatSourceAssetParams_0p2::initReferences(void)
+{
+ geometryType = NULL;
+
+}
+
+void HeatSourceAssetParams_0p2::freeDynamicArrays(void)
+{
+}
+
+void HeatSourceAssetParams_0p2::freeStrings(void)
+{
+
+ if (fieldSamplerFilterDataName.isAllocated && fieldSamplerFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)fieldSamplerFilterDataName.buf);
+ }
+}
+
+void HeatSourceAssetParams_0p2::freeReferences(void)
+{
+ if (geometryType)
+ {
+ geometryType->destroy();
+ }
+
+}
+
+} // namespace parameterized
+} // namespace nvidia
diff --git a/APEX_1.4/module/turbulencefs_legacy/src/autogen/HeatSourceGeomBoxParams_0p0.cpp b/APEX_1.4/module/turbulencefs_legacy/src/autogen/HeatSourceGeomBoxParams_0p0.cpp
new file mode 100644
index 00000000..992ec2ac
--- /dev/null
+++ b/APEX_1.4/module/turbulencefs_legacy/src/autogen/HeatSourceGeomBoxParams_0p0.cpp
@@ -0,0 +1,328 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and 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.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#include "HeatSourceGeomBoxParams_0p0.h"
+#include <string.h>
+#include <stdlib.h>
+
+using namespace NvParameterized;
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+using namespace HeatSourceGeomBoxParams_0p0NS;
+
+const char* const HeatSourceGeomBoxParams_0p0Factory::vptr =
+ NvParameterized::getVptr<HeatSourceGeomBoxParams_0p0, HeatSourceGeomBoxParams_0p0::ClassAlignment>();
+
+const uint32_t NumParamDefs = 2;
+static NvParameterized::DefinitionImpl* ParamDefTable; // now allocated in buildTree [NumParamDefs];
+
+
+static const size_t ParamLookupChildrenTable[] =
+{
+ 1,
+};
+
+#define TENUM(type) nvidia::##type
+#define CHILDREN(index) &ParamLookupChildrenTable[index]
+static const NvParameterized::ParamLookupNode ParamLookupTable[NumParamDefs] =
+{
+ { TYPE_STRUCT, false, 0, CHILDREN(0), 1 },
+ { TYPE_VEC3, false, (size_t)(&((ParametersStruct*)0)->extents), NULL, 0 }, // extents
+};
+
+
+bool HeatSourceGeomBoxParams_0p0::mBuiltFlag = false;
+NvParameterized::MutexType HeatSourceGeomBoxParams_0p0::mBuiltFlagMutex;
+
+HeatSourceGeomBoxParams_0p0::HeatSourceGeomBoxParams_0p0(NvParameterized::Traits* traits, void* buf, int32_t* refCount) :
+ NvParameters(traits, buf, refCount)
+{
+ //mParameterizedTraits->registerFactory(className(), &HeatSourceGeomBoxParams_0p0FactoryInst);
+
+ if (!buf) //Do not init data if it is inplace-deserialized
+ {
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+ initDefaults();
+ }
+}
+
+HeatSourceGeomBoxParams_0p0::~HeatSourceGeomBoxParams_0p0()
+{
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+}
+
+void HeatSourceGeomBoxParams_0p0::destroy()
+{
+ // We cache these fields here to avoid overwrite in destructor
+ bool doDeallocateSelf = mDoDeallocateSelf;
+ NvParameterized::Traits* traits = mParameterizedTraits;
+ int32_t* refCount = mRefCount;
+ void* buf = mBuffer;
+
+ this->~HeatSourceGeomBoxParams_0p0();
+
+ NvParameters::destroy(this, traits, doDeallocateSelf, refCount, buf);
+}
+
+const NvParameterized::DefinitionImpl* HeatSourceGeomBoxParams_0p0::getParameterDefinitionTree(void)
+{
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+const NvParameterized::DefinitionImpl* HeatSourceGeomBoxParams_0p0::getParameterDefinitionTree(void) const
+{
+ HeatSourceGeomBoxParams_0p0* tmpParam = const_cast<HeatSourceGeomBoxParams_0p0*>(this);
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ tmpParam->buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+NvParameterized::ErrorType HeatSourceGeomBoxParams_0p0::getParameterHandle(const char* long_name, Handle& handle) const
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+NvParameterized::ErrorType HeatSourceGeomBoxParams_0p0::getParameterHandle(const char* long_name, Handle& handle)
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+void HeatSourceGeomBoxParams_0p0::getVarPtr(const Handle& handle, void*& ptr, size_t& offset) const
+{
+ ptr = getVarPtrHelper(&ParamLookupTable[0], const_cast<HeatSourceGeomBoxParams_0p0::ParametersStruct*>(&parameters()), handle, offset);
+}
+
+
+/* Dynamic Handle Indices */
+
+void HeatSourceGeomBoxParams_0p0::freeParameterDefinitionTable(NvParameterized::Traits* traits)
+{
+ if (!traits)
+ {
+ return;
+ }
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ return;
+ }
+
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+
+ if (!mBuiltFlag)
+ {
+ return;
+ }
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ ParamDefTable[i].~DefinitionImpl();
+ }
+
+ traits->free(ParamDefTable);
+
+ mBuiltFlag = false;
+}
+
+#define PDEF_PTR(index) (&ParamDefTable[index])
+
+void HeatSourceGeomBoxParams_0p0::buildTree(void)
+{
+
+ uint32_t allocSize = sizeof(NvParameterized::DefinitionImpl) * NumParamDefs;
+ ParamDefTable = (NvParameterized::DefinitionImpl*)(mParameterizedTraits->alloc(allocSize));
+ memset(ParamDefTable, 0, allocSize);
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ NV_PARAM_PLACEMENT_NEW(ParamDefTable + i, NvParameterized::DefinitionImpl)(*mParameterizedTraits);
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=0, longName=""
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[0];
+ ParamDef->init("", TYPE_STRUCT, "STRUCT", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Contains the asset properties for this HeatSource Geometry.", true);
+ ParamDefTable[0].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=1, longName="extents"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[1];
+ ParamDef->init("extents", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("0.1", double(0.1), true);
+ HintTable[1].init("gameScale", "true", true);
+ HintTable[2].init("min", double(0.1), true);
+ ParamDefTable[1].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#else
+
+ static HintImpl HintTable[4];
+ static Hint* HintPtrTable[4] = { &HintTable[0], &HintTable[1], &HintTable[2], &HintTable[3], };
+ HintTable[0].init("0.1", double(0.1), true);
+ HintTable[1].init("gameScale", "true", true);
+ HintTable[2].init("min", double(0.1), true);
+ HintTable[3].init("shortDescription", "Box Extents", true);
+ ParamDefTable[1].setHints((const NvParameterized::Hint**)HintPtrTable, 4);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // SetChildren for: nodeIndex=0, longName=""
+ {
+ static Definition* Children[1];
+ Children[0] = PDEF_PTR(1);
+
+ ParamDefTable[0].setChildren(Children, 1);
+ }
+
+ mBuiltFlag = true;
+
+}
+void HeatSourceGeomBoxParams_0p0::initStrings(void)
+{
+}
+
+void HeatSourceGeomBoxParams_0p0::initDynamicArrays(void)
+{
+}
+
+void HeatSourceGeomBoxParams_0p0::initDefaults(void)
+{
+
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+ extents = physx::PxVec3(init(1, 1, 1));
+
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+}
+
+void HeatSourceGeomBoxParams_0p0::initReferences(void)
+{
+}
+
+void HeatSourceGeomBoxParams_0p0::freeDynamicArrays(void)
+{
+}
+
+void HeatSourceGeomBoxParams_0p0::freeStrings(void)
+{
+}
+
+void HeatSourceGeomBoxParams_0p0::freeReferences(void)
+{
+}
+
+} // namespace parameterized
+} // namespace nvidia
diff --git a/APEX_1.4/module/turbulencefs_legacy/src/autogen/HeatSourceGeomSphereParams_0p0.cpp b/APEX_1.4/module/turbulencefs_legacy/src/autogen/HeatSourceGeomSphereParams_0p0.cpp
new file mode 100644
index 00000000..464d32bc
--- /dev/null
+++ b/APEX_1.4/module/turbulencefs_legacy/src/autogen/HeatSourceGeomSphereParams_0p0.cpp
@@ -0,0 +1,316 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and 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.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#include "HeatSourceGeomSphereParams_0p0.h"
+#include <string.h>
+#include <stdlib.h>
+
+using namespace NvParameterized;
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+using namespace HeatSourceGeomSphereParams_0p0NS;
+
+const char* const HeatSourceGeomSphereParams_0p0Factory::vptr =
+ NvParameterized::getVptr<HeatSourceGeomSphereParams_0p0, HeatSourceGeomSphereParams_0p0::ClassAlignment>();
+
+const uint32_t NumParamDefs = 2;
+static NvParameterized::DefinitionImpl* ParamDefTable; // now allocated in buildTree [NumParamDefs];
+
+
+static const size_t ParamLookupChildrenTable[] =
+{
+ 1,
+};
+
+#define TENUM(type) nvidia::##type
+#define CHILDREN(index) &ParamLookupChildrenTable[index]
+static const NvParameterized::ParamLookupNode ParamLookupTable[NumParamDefs] =
+{
+ { TYPE_STRUCT, false, 0, CHILDREN(0), 1 },
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->radius), NULL, 0 }, // radius
+};
+
+
+bool HeatSourceGeomSphereParams_0p0::mBuiltFlag = false;
+NvParameterized::MutexType HeatSourceGeomSphereParams_0p0::mBuiltFlagMutex;
+
+HeatSourceGeomSphereParams_0p0::HeatSourceGeomSphereParams_0p0(NvParameterized::Traits* traits, void* buf, int32_t* refCount) :
+ NvParameters(traits, buf, refCount)
+{
+ //mParameterizedTraits->registerFactory(className(), &HeatSourceGeomSphereParams_0p0FactoryInst);
+
+ if (!buf) //Do not init data if it is inplace-deserialized
+ {
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+ initDefaults();
+ }
+}
+
+HeatSourceGeomSphereParams_0p0::~HeatSourceGeomSphereParams_0p0()
+{
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+}
+
+void HeatSourceGeomSphereParams_0p0::destroy()
+{
+ // We cache these fields here to avoid overwrite in destructor
+ bool doDeallocateSelf = mDoDeallocateSelf;
+ NvParameterized::Traits* traits = mParameterizedTraits;
+ int32_t* refCount = mRefCount;
+ void* buf = mBuffer;
+
+ this->~HeatSourceGeomSphereParams_0p0();
+
+ NvParameters::destroy(this, traits, doDeallocateSelf, refCount, buf);
+}
+
+const NvParameterized::DefinitionImpl* HeatSourceGeomSphereParams_0p0::getParameterDefinitionTree(void)
+{
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+const NvParameterized::DefinitionImpl* HeatSourceGeomSphereParams_0p0::getParameterDefinitionTree(void) const
+{
+ HeatSourceGeomSphereParams_0p0* tmpParam = const_cast<HeatSourceGeomSphereParams_0p0*>(this);
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ tmpParam->buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+NvParameterized::ErrorType HeatSourceGeomSphereParams_0p0::getParameterHandle(const char* long_name, Handle& handle) const
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+NvParameterized::ErrorType HeatSourceGeomSphereParams_0p0::getParameterHandle(const char* long_name, Handle& handle)
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+void HeatSourceGeomSphereParams_0p0::getVarPtr(const Handle& handle, void*& ptr, size_t& offset) const
+{
+ ptr = getVarPtrHelper(&ParamLookupTable[0], const_cast<HeatSourceGeomSphereParams_0p0::ParametersStruct*>(&parameters()), handle, offset);
+}
+
+
+/* Dynamic Handle Indices */
+
+void HeatSourceGeomSphereParams_0p0::freeParameterDefinitionTable(NvParameterized::Traits* traits)
+{
+ if (!traits)
+ {
+ return;
+ }
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ return;
+ }
+
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+
+ if (!mBuiltFlag)
+ {
+ return;
+ }
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ ParamDefTable[i].~DefinitionImpl();
+ }
+
+ traits->free(ParamDefTable);
+
+ mBuiltFlag = false;
+}
+
+#define PDEF_PTR(index) (&ParamDefTable[index])
+
+void HeatSourceGeomSphereParams_0p0::buildTree(void)
+{
+
+ uint32_t allocSize = sizeof(NvParameterized::DefinitionImpl) * NumParamDefs;
+ ParamDefTable = (NvParameterized::DefinitionImpl*)(mParameterizedTraits->alloc(allocSize));
+ memset(ParamDefTable, 0, allocSize);
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ NV_PARAM_PLACEMENT_NEW(ParamDefTable + i, NvParameterized::DefinitionImpl)(*mParameterizedTraits);
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=0, longName=""
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[0];
+ ParamDef->init("", TYPE_STRUCT, "STRUCT", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=1, longName="radius"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[1];
+ ParamDef->init("radius", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("gameScale", "true", true);
+ HintTable[1].init("min", double(0.1), true);
+ ParamDefTable[1].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("gameScale", "true", true);
+ HintTable[1].init("min", double(0.1), true);
+ HintTable[2].init("shortDescription", "Sphere Radius", true);
+ ParamDefTable[1].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // SetChildren for: nodeIndex=0, longName=""
+ {
+ static Definition* Children[1];
+ Children[0] = PDEF_PTR(1);
+
+ ParamDefTable[0].setChildren(Children, 1);
+ }
+
+ mBuiltFlag = true;
+
+}
+void HeatSourceGeomSphereParams_0p0::initStrings(void)
+{
+}
+
+void HeatSourceGeomSphereParams_0p0::initDynamicArrays(void)
+{
+}
+
+void HeatSourceGeomSphereParams_0p0::initDefaults(void)
+{
+
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+ radius = float(1.0f);
+
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+}
+
+void HeatSourceGeomSphereParams_0p0::initReferences(void)
+{
+}
+
+void HeatSourceGeomSphereParams_0p0::freeDynamicArrays(void)
+{
+}
+
+void HeatSourceGeomSphereParams_0p0::freeStrings(void)
+{
+}
+
+void HeatSourceGeomSphereParams_0p0::freeReferences(void)
+{
+}
+
+} // namespace parameterized
+} // namespace nvidia
diff --git a/APEX_1.4/module/turbulencefs_legacy/src/autogen/HeatSourcePreviewParams_0p0.cpp b/APEX_1.4/module/turbulencefs_legacy/src/autogen/HeatSourcePreviewParams_0p0.cpp
new file mode 100644
index 00000000..d2bcc7ff
--- /dev/null
+++ b/APEX_1.4/module/turbulencefs_legacy/src/autogen/HeatSourcePreviewParams_0p0.cpp
@@ -0,0 +1,339 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and 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.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#include "HeatSourcePreviewParams_0p0.h"
+#include <string.h>
+#include <stdlib.h>
+
+using namespace NvParameterized;
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+using namespace HeatSourcePreviewParams_0p0NS;
+
+const char* const HeatSourcePreviewParams_0p0Factory::vptr =
+ NvParameterized::getVptr<HeatSourcePreviewParams_0p0, HeatSourcePreviewParams_0p0::ClassAlignment>();
+
+const uint32_t NumParamDefs = 3;
+static NvParameterized::DefinitionImpl* ParamDefTable; // now allocated in buildTree [NumParamDefs];
+
+
+static const size_t ParamLookupChildrenTable[] =
+{
+ 1, 2,
+};
+
+#define TENUM(type) nvidia::##type
+#define CHILDREN(index) &ParamLookupChildrenTable[index]
+static const NvParameterized::ParamLookupNode ParamLookupTable[NumParamDefs] =
+{
+ { TYPE_STRUCT, false, 0, CHILDREN(0), 2 },
+ { TYPE_MAT34, false, (size_t)(&((ParametersStruct*)0)->pose), NULL, 0 }, // pose
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->scale), NULL, 0 }, // scale
+};
+
+
+bool HeatSourcePreviewParams_0p0::mBuiltFlag = false;
+NvParameterized::MutexType HeatSourcePreviewParams_0p0::mBuiltFlagMutex;
+
+HeatSourcePreviewParams_0p0::HeatSourcePreviewParams_0p0(NvParameterized::Traits* traits, void* buf, int32_t* refCount) :
+ NvParameters(traits, buf, refCount)
+{
+ //mParameterizedTraits->registerFactory(className(), &HeatSourcePreviewParams_0p0FactoryInst);
+
+ if (!buf) //Do not init data if it is inplace-deserialized
+ {
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+ initDefaults();
+ }
+}
+
+HeatSourcePreviewParams_0p0::~HeatSourcePreviewParams_0p0()
+{
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+}
+
+void HeatSourcePreviewParams_0p0::destroy()
+{
+ // We cache these fields here to avoid overwrite in destructor
+ bool doDeallocateSelf = mDoDeallocateSelf;
+ NvParameterized::Traits* traits = mParameterizedTraits;
+ int32_t* refCount = mRefCount;
+ void* buf = mBuffer;
+
+ this->~HeatSourcePreviewParams_0p0();
+
+ NvParameters::destroy(this, traits, doDeallocateSelf, refCount, buf);
+}
+
+const NvParameterized::DefinitionImpl* HeatSourcePreviewParams_0p0::getParameterDefinitionTree(void)
+{
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+const NvParameterized::DefinitionImpl* HeatSourcePreviewParams_0p0::getParameterDefinitionTree(void) const
+{
+ HeatSourcePreviewParams_0p0* tmpParam = const_cast<HeatSourcePreviewParams_0p0*>(this);
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ tmpParam->buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+NvParameterized::ErrorType HeatSourcePreviewParams_0p0::getParameterHandle(const char* long_name, Handle& handle) const
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+NvParameterized::ErrorType HeatSourcePreviewParams_0p0::getParameterHandle(const char* long_name, Handle& handle)
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+void HeatSourcePreviewParams_0p0::getVarPtr(const Handle& handle, void*& ptr, size_t& offset) const
+{
+ ptr = getVarPtrHelper(&ParamLookupTable[0], const_cast<HeatSourcePreviewParams_0p0::ParametersStruct*>(&parameters()), handle, offset);
+}
+
+
+/* Dynamic Handle Indices */
+
+void HeatSourcePreviewParams_0p0::freeParameterDefinitionTable(NvParameterized::Traits* traits)
+{
+ if (!traits)
+ {
+ return;
+ }
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ return;
+ }
+
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+
+ if (!mBuiltFlag)
+ {
+ return;
+ }
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ ParamDefTable[i].~DefinitionImpl();
+ }
+
+ traits->free(ParamDefTable);
+
+ mBuiltFlag = false;
+}
+
+#define PDEF_PTR(index) (&ParamDefTable[index])
+
+void HeatSourcePreviewParams_0p0::buildTree(void)
+{
+
+ uint32_t allocSize = sizeof(NvParameterized::DefinitionImpl) * NumParamDefs;
+ ParamDefTable = (NvParameterized::DefinitionImpl*)(mParameterizedTraits->alloc(allocSize));
+ memset(ParamDefTable, 0, allocSize);
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ NV_PARAM_PLACEMENT_NEW(ParamDefTable + i, NvParameterized::DefinitionImpl)(*mParameterizedTraits);
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=0, longName=""
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[0];
+ ParamDef->init("", TYPE_STRUCT, "STRUCT", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=1, longName="pose"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[1];
+ ParamDef->init("pose", TYPE_MAT34, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The preview actor's position and rotation", true);
+ ParamDefTable[1].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=2, longName="scale"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[2];
+ ParamDef->init("scale", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The preview actor's scale", true);
+ ParamDefTable[2].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // SetChildren for: nodeIndex=0, longName=""
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(1);
+ Children[1] = PDEF_PTR(2);
+
+ ParamDefTable[0].setChildren(Children, 2);
+ }
+
+ mBuiltFlag = true;
+
+}
+void HeatSourcePreviewParams_0p0::initStrings(void)
+{
+}
+
+void HeatSourcePreviewParams_0p0::initDynamicArrays(void)
+{
+}
+
+void HeatSourcePreviewParams_0p0::initDefaults(void)
+{
+
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+ {
+ const float value[12] = {1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0};
+ for (int i = 0; i < 12; ++i)
+ {
+ pose[i] = value[i];
+ }
+ }
+ scale = float(1);
+
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+}
+
+void HeatSourcePreviewParams_0p0::initReferences(void)
+{
+}
+
+void HeatSourcePreviewParams_0p0::freeDynamicArrays(void)
+{
+}
+
+void HeatSourcePreviewParams_0p0::freeStrings(void)
+{
+}
+
+void HeatSourcePreviewParams_0p0::freeReferences(void)
+{
+}
+
+} // namespace parameterized
+} // namespace nvidia
diff --git a/APEX_1.4/module/turbulencefs_legacy/src/autogen/HeatSourcePreviewParams_0p1.cpp b/APEX_1.4/module/turbulencefs_legacy/src/autogen/HeatSourcePreviewParams_0p1.cpp
new file mode 100644
index 00000000..27a07160
--- /dev/null
+++ b/APEX_1.4/module/turbulencefs_legacy/src/autogen/HeatSourcePreviewParams_0p1.cpp
@@ -0,0 +1,333 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and 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.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#include "HeatSourcePreviewParams_0p1.h"
+#include <string.h>
+#include <stdlib.h>
+
+using namespace NvParameterized;
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+using namespace HeatSourcePreviewParams_0p1NS;
+
+const char* const HeatSourcePreviewParams_0p1Factory::vptr =
+ NvParameterized::getVptr<HeatSourcePreviewParams_0p1, HeatSourcePreviewParams_0p1::ClassAlignment>();
+
+const uint32_t NumParamDefs = 3;
+static NvParameterized::DefinitionImpl* ParamDefTable; // now allocated in buildTree [NumParamDefs];
+
+
+static const size_t ParamLookupChildrenTable[] =
+{
+ 1, 2,
+};
+
+#define TENUM(type) nvidia::##type
+#define CHILDREN(index) &ParamLookupChildrenTable[index]
+static const NvParameterized::ParamLookupNode ParamLookupTable[NumParamDefs] =
+{
+ { TYPE_STRUCT, false, 0, CHILDREN(0), 2 },
+ { TYPE_TRANSFORM, false, (size_t)(&((ParametersStruct*)0)->pose), NULL, 0 }, // pose
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->scale), NULL, 0 }, // scale
+};
+
+
+bool HeatSourcePreviewParams_0p1::mBuiltFlag = false;
+NvParameterized::MutexType HeatSourcePreviewParams_0p1::mBuiltFlagMutex;
+
+HeatSourcePreviewParams_0p1::HeatSourcePreviewParams_0p1(NvParameterized::Traits* traits, void* buf, int32_t* refCount) :
+ NvParameters(traits, buf, refCount)
+{
+ //mParameterizedTraits->registerFactory(className(), &HeatSourcePreviewParams_0p1FactoryInst);
+
+ if (!buf) //Do not init data if it is inplace-deserialized
+ {
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+ initDefaults();
+ }
+}
+
+HeatSourcePreviewParams_0p1::~HeatSourcePreviewParams_0p1()
+{
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+}
+
+void HeatSourcePreviewParams_0p1::destroy()
+{
+ // We cache these fields here to avoid overwrite in destructor
+ bool doDeallocateSelf = mDoDeallocateSelf;
+ NvParameterized::Traits* traits = mParameterizedTraits;
+ int32_t* refCount = mRefCount;
+ void* buf = mBuffer;
+
+ this->~HeatSourcePreviewParams_0p1();
+
+ NvParameters::destroy(this, traits, doDeallocateSelf, refCount, buf);
+}
+
+const NvParameterized::DefinitionImpl* HeatSourcePreviewParams_0p1::getParameterDefinitionTree(void)
+{
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+const NvParameterized::DefinitionImpl* HeatSourcePreviewParams_0p1::getParameterDefinitionTree(void) const
+{
+ HeatSourcePreviewParams_0p1* tmpParam = const_cast<HeatSourcePreviewParams_0p1*>(this);
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ tmpParam->buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+NvParameterized::ErrorType HeatSourcePreviewParams_0p1::getParameterHandle(const char* long_name, Handle& handle) const
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+NvParameterized::ErrorType HeatSourcePreviewParams_0p1::getParameterHandle(const char* long_name, Handle& handle)
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+void HeatSourcePreviewParams_0p1::getVarPtr(const Handle& handle, void*& ptr, size_t& offset) const
+{
+ ptr = getVarPtrHelper(&ParamLookupTable[0], const_cast<HeatSourcePreviewParams_0p1::ParametersStruct*>(&parameters()), handle, offset);
+}
+
+
+/* Dynamic Handle Indices */
+
+void HeatSourcePreviewParams_0p1::freeParameterDefinitionTable(NvParameterized::Traits* traits)
+{
+ if (!traits)
+ {
+ return;
+ }
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ return;
+ }
+
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+
+ if (!mBuiltFlag)
+ {
+ return;
+ }
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ ParamDefTable[i].~DefinitionImpl();
+ }
+
+ traits->free(ParamDefTable);
+
+ mBuiltFlag = false;
+}
+
+#define PDEF_PTR(index) (&ParamDefTable[index])
+
+void HeatSourcePreviewParams_0p1::buildTree(void)
+{
+
+ uint32_t allocSize = sizeof(NvParameterized::DefinitionImpl) * NumParamDefs;
+ ParamDefTable = (NvParameterized::DefinitionImpl*)(mParameterizedTraits->alloc(allocSize));
+ memset(ParamDefTable, 0, allocSize);
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ NV_PARAM_PLACEMENT_NEW(ParamDefTable + i, NvParameterized::DefinitionImpl)(*mParameterizedTraits);
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=0, longName=""
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[0];
+ ParamDef->init("", TYPE_STRUCT, "STRUCT", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=1, longName="pose"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[1];
+ ParamDef->init("pose", TYPE_TRANSFORM, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The preview actor's position and rotation", true);
+ ParamDefTable[1].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=2, longName="scale"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[2];
+ ParamDef->init("scale", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The preview actor's scale", true);
+ ParamDefTable[2].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // SetChildren for: nodeIndex=0, longName=""
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(1);
+ Children[1] = PDEF_PTR(2);
+
+ ParamDefTable[0].setChildren(Children, 2);
+ }
+
+ mBuiltFlag = true;
+
+}
+void HeatSourcePreviewParams_0p1::initStrings(void)
+{
+}
+
+void HeatSourcePreviewParams_0p1::initDynamicArrays(void)
+{
+}
+
+void HeatSourcePreviewParams_0p1::initDefaults(void)
+{
+
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+ pose = physx::PxTransform(physx::PxIdentity);
+ scale = float(1);
+
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+}
+
+void HeatSourcePreviewParams_0p1::initReferences(void)
+{
+}
+
+void HeatSourcePreviewParams_0p1::freeDynamicArrays(void)
+{
+}
+
+void HeatSourcePreviewParams_0p1::freeStrings(void)
+{
+}
+
+void HeatSourcePreviewParams_0p1::freeReferences(void)
+{
+}
+
+} // namespace parameterized
+} // namespace nvidia
diff --git a/APEX_1.4/module/turbulencefs_legacy/src/autogen/ModuleTurbulenceFSLegacy.cpp b/APEX_1.4/module/turbulencefs_legacy/src/autogen/ModuleTurbulenceFSLegacy.cpp
new file mode 100644
index 00000000..d7b52f36
--- /dev/null
+++ b/APEX_1.4/module/turbulencefs_legacy/src/autogen/ModuleTurbulenceFSLegacy.cpp
@@ -0,0 +1,55 @@
+/*
+* 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.
+*
+* This code was autogenerated from ModuleLegacy.template
+*/
+
+#include "ApexUsingNamespace.h"
+#include "Apex.h"
+#include "ApexLegacyModule.h"
+#include "ApexRWLockable.h"
+#include "ModuleTurbulenceFSLegacyRegistration.h"
+
+namespace nvidia
+{
+namespace apex
+{
+namespace legacy
+{
+
+class ModuleTurbulenceFSLegacy : public ApexLegacyModule, public ApexRWLockable
+{
+public:
+ APEX_RW_LOCKABLE_BOILERPLATE
+
+ ModuleTurbulenceFSLegacy(ApexSDKIntl* inSdk)
+ {
+ mName = "TurbulenceFS_Legacy";
+ mSdk = inSdk;
+ mApiProxy = this;
+ ModuleTurbulenceFSLegacyRegistration::invokeRegistration(mSdk->getParameterizedTraits());
+ }
+
+protected:
+ void releaseLegacyObjects()
+ {
+ ModuleTurbulenceFSLegacyRegistration::invokeUnregistration(mSdk->getParameterizedTraits());
+ }
+};
+
+void instantiateModuleTurbulenceFSLegacy()
+{
+ ApexSDKIntl *sdk = GetInternalApexSDK();
+ ModuleTurbulenceFSLegacy *impl = PX_NEW(ModuleTurbulenceFSLegacy)(sdk);
+ sdk->registerExternalModule((Module *) impl, (ModuleIntl *) impl);
+}
+
+}
+}
+}
diff --git a/APEX_1.4/module/turbulencefs_legacy/src/autogen/SubstanceSourceActorParams_0p0.cpp b/APEX_1.4/module/turbulencefs_legacy/src/autogen/SubstanceSourceActorParams_0p0.cpp
new file mode 100644
index 00000000..7168a182
--- /dev/null
+++ b/APEX_1.4/module/turbulencefs_legacy/src/autogen/SubstanceSourceActorParams_0p0.cpp
@@ -0,0 +1,460 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and 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.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#include "SubstanceSourceActorParams_0p0.h"
+#include <string.h>
+#include <stdlib.h>
+
+using namespace NvParameterized;
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+using namespace SubstanceSourceActorParams_0p0NS;
+
+const char* const SubstanceSourceActorParams_0p0Factory::vptr =
+ NvParameterized::getVptr<SubstanceSourceActorParams_0p0, SubstanceSourceActorParams_0p0::ClassAlignment>();
+
+const uint32_t NumParamDefs = 7;
+static NvParameterized::DefinitionImpl* ParamDefTable; // now allocated in buildTree [NumParamDefs];
+
+
+static const size_t ParamLookupChildrenTable[] =
+{
+ 1, 2, 3, 4, 5, 6,
+};
+
+#define TENUM(type) nvidia::##type
+#define CHILDREN(index) &ParamLookupChildrenTable[index]
+static const NvParameterized::ParamLookupNode ParamLookupTable[NumParamDefs] =
+{
+ { TYPE_STRUCT, false, 0, CHILDREN(0), 6 },
+ { TYPE_MAT34, false, (size_t)(&((ParametersStruct*)0)->initialPose), NULL, 0 }, // initialPose
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->initialScale), NULL, 0 }, // initialScale
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->averageDensity), NULL, 0 }, // averageDensity
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->stdDensity), NULL, 0 }, // stdDensity
+ { TYPE_REF, false, (size_t)(&((ParametersStruct*)0)->geometryType), NULL, 0 }, // geometryType
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->fieldSamplerFilterDataName), NULL, 0 }, // fieldSamplerFilterDataName
+};
+
+
+bool SubstanceSourceActorParams_0p0::mBuiltFlag = false;
+NvParameterized::MutexType SubstanceSourceActorParams_0p0::mBuiltFlagMutex;
+
+SubstanceSourceActorParams_0p0::SubstanceSourceActorParams_0p0(NvParameterized::Traits* traits, void* buf, int32_t* refCount) :
+ NvParameters(traits, buf, refCount)
+{
+ //mParameterizedTraits->registerFactory(className(), &SubstanceSourceActorParams_0p0FactoryInst);
+
+ if (!buf) //Do not init data if it is inplace-deserialized
+ {
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+ initDefaults();
+ }
+}
+
+SubstanceSourceActorParams_0p0::~SubstanceSourceActorParams_0p0()
+{
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+}
+
+void SubstanceSourceActorParams_0p0::destroy()
+{
+ // We cache these fields here to avoid overwrite in destructor
+ bool doDeallocateSelf = mDoDeallocateSelf;
+ NvParameterized::Traits* traits = mParameterizedTraits;
+ int32_t* refCount = mRefCount;
+ void* buf = mBuffer;
+
+ this->~SubstanceSourceActorParams_0p0();
+
+ NvParameters::destroy(this, traits, doDeallocateSelf, refCount, buf);
+}
+
+const NvParameterized::DefinitionImpl* SubstanceSourceActorParams_0p0::getParameterDefinitionTree(void)
+{
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+const NvParameterized::DefinitionImpl* SubstanceSourceActorParams_0p0::getParameterDefinitionTree(void) const
+{
+ SubstanceSourceActorParams_0p0* tmpParam = const_cast<SubstanceSourceActorParams_0p0*>(this);
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ tmpParam->buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+NvParameterized::ErrorType SubstanceSourceActorParams_0p0::getParameterHandle(const char* long_name, Handle& handle) const
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+NvParameterized::ErrorType SubstanceSourceActorParams_0p0::getParameterHandle(const char* long_name, Handle& handle)
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+void SubstanceSourceActorParams_0p0::getVarPtr(const Handle& handle, void*& ptr, size_t& offset) const
+{
+ ptr = getVarPtrHelper(&ParamLookupTable[0], const_cast<SubstanceSourceActorParams_0p0::ParametersStruct*>(&parameters()), handle, offset);
+}
+
+
+/* Dynamic Handle Indices */
+
+void SubstanceSourceActorParams_0p0::freeParameterDefinitionTable(NvParameterized::Traits* traits)
+{
+ if (!traits)
+ {
+ return;
+ }
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ return;
+ }
+
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+
+ if (!mBuiltFlag)
+ {
+ return;
+ }
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ ParamDefTable[i].~DefinitionImpl();
+ }
+
+ traits->free(ParamDefTable);
+
+ mBuiltFlag = false;
+}
+
+#define PDEF_PTR(index) (&ParamDefTable[index])
+
+void SubstanceSourceActorParams_0p0::buildTree(void)
+{
+
+ uint32_t allocSize = sizeof(NvParameterized::DefinitionImpl) * NumParamDefs;
+ ParamDefTable = (NvParameterized::DefinitionImpl*)(mParameterizedTraits->alloc(allocSize));
+ memset(ParamDefTable, 0, allocSize);
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ NV_PARAM_PLACEMENT_NEW(ParamDefTable + i, NvParameterized::DefinitionImpl)(*mParameterizedTraits);
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=0, longName=""
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[0];
+ ParamDef->init("", TYPE_STRUCT, "STRUCT", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=1, longName="initialPose"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[1];
+ ParamDef->init("initialPose", TYPE_MAT34, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The global pose for the actor.", true);
+ ParamDefTable[1].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=2, longName="initialScale"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[2];
+ ParamDef->init("initialScale", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The space scale of the actor", true);
+ ParamDefTable[2].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=3, longName="averageDensity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[3];
+ ParamDef->init("averageDensity", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The arithmetic mean of a sample. Normal distribution parameter.", true);
+ ParamDefTable[3].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=4, longName="stdDensity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[4];
+ ParamDef->init("stdDensity", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Standard deviation. Normal distribution parameter.", true);
+ ParamDefTable[4].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=5, longName="geometryType"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[5];
+ ParamDef->init("geometryType", TYPE_REF, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("INCLUDED", uint64_t(1), true);
+ ParamDefTable[5].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("INCLUDED", uint64_t(1), true);
+ HintTable[1].init("longDescription", "Specifies the geometry type of the source", true);
+ HintTable[2].init("shortDescription", "Geometry Type", true);
+ ParamDefTable[5].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+ static const char* const RefVariantVals[] = { "HeatSourceGeomBoxParams", "HeatSourceGeomSphereParams" };
+ ParamDefTable[5].setRefVariantVals((const char**)RefVariantVals, 2);
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=6, longName="fieldSamplerFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[6];
+ ParamDef->init("fieldSamplerFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The filter data name for SubstanceSource vs TurbulenceFS interaction. Overrides asset's value.", true);
+ ParamDefTable[6].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // SetChildren for: nodeIndex=0, longName=""
+ {
+ static Definition* Children[6];
+ Children[0] = PDEF_PTR(1);
+ Children[1] = PDEF_PTR(2);
+ Children[2] = PDEF_PTR(3);
+ Children[3] = PDEF_PTR(4);
+ Children[4] = PDEF_PTR(5);
+ Children[5] = PDEF_PTR(6);
+
+ ParamDefTable[0].setChildren(Children, 6);
+ }
+
+ mBuiltFlag = true;
+
+}
+void SubstanceSourceActorParams_0p0::initStrings(void)
+{
+ fieldSamplerFilterDataName.isAllocated = true;
+ fieldSamplerFilterDataName.buf = NULL;
+}
+
+void SubstanceSourceActorParams_0p0::initDynamicArrays(void)
+{
+}
+
+void SubstanceSourceActorParams_0p0::initDefaults(void)
+{
+
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+ {
+ const float value[12] = {true};
+ for (int i = 0; i < 12; ++i)
+ {
+ initialPose[i] = value[i];
+ }
+ }
+ initialScale = float(1.0);
+ averageDensity = float(0);
+ stdDensity = float(0);
+
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+}
+
+void SubstanceSourceActorParams_0p0::initReferences(void)
+{
+ geometryType = NULL;
+
+}
+
+void SubstanceSourceActorParams_0p0::freeDynamicArrays(void)
+{
+}
+
+void SubstanceSourceActorParams_0p0::freeStrings(void)
+{
+
+ if (fieldSamplerFilterDataName.isAllocated && fieldSamplerFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)fieldSamplerFilterDataName.buf);
+ }
+}
+
+void SubstanceSourceActorParams_0p0::freeReferences(void)
+{
+ if (geometryType)
+ {
+ geometryType->destroy();
+ }
+
+}
+
+} // namespace parameterized
+} // namespace nvidia
diff --git a/APEX_1.4/module/turbulencefs_legacy/src/autogen/SubstanceSourceActorParams_0p1.cpp b/APEX_1.4/module/turbulencefs_legacy/src/autogen/SubstanceSourceActorParams_0p1.cpp
new file mode 100644
index 00000000..e32e586e
--- /dev/null
+++ b/APEX_1.4/module/turbulencefs_legacy/src/autogen/SubstanceSourceActorParams_0p1.cpp
@@ -0,0 +1,454 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and 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.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#include "SubstanceSourceActorParams_0p1.h"
+#include <string.h>
+#include <stdlib.h>
+
+using namespace NvParameterized;
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+using namespace SubstanceSourceActorParams_0p1NS;
+
+const char* const SubstanceSourceActorParams_0p1Factory::vptr =
+ NvParameterized::getVptr<SubstanceSourceActorParams_0p1, SubstanceSourceActorParams_0p1::ClassAlignment>();
+
+const uint32_t NumParamDefs = 7;
+static NvParameterized::DefinitionImpl* ParamDefTable; // now allocated in buildTree [NumParamDefs];
+
+
+static const size_t ParamLookupChildrenTable[] =
+{
+ 1, 2, 3, 4, 5, 6,
+};
+
+#define TENUM(type) nvidia::##type
+#define CHILDREN(index) &ParamLookupChildrenTable[index]
+static const NvParameterized::ParamLookupNode ParamLookupTable[NumParamDefs] =
+{
+ { TYPE_STRUCT, false, 0, CHILDREN(0), 6 },
+ { TYPE_TRANSFORM, false, (size_t)(&((ParametersStruct*)0)->initialPose), NULL, 0 }, // initialPose
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->initialScale), NULL, 0 }, // initialScale
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->averageDensity), NULL, 0 }, // averageDensity
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->stdDensity), NULL, 0 }, // stdDensity
+ { TYPE_REF, false, (size_t)(&((ParametersStruct*)0)->geometryType), NULL, 0 }, // geometryType
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->fieldSamplerFilterDataName), NULL, 0 }, // fieldSamplerFilterDataName
+};
+
+
+bool SubstanceSourceActorParams_0p1::mBuiltFlag = false;
+NvParameterized::MutexType SubstanceSourceActorParams_0p1::mBuiltFlagMutex;
+
+SubstanceSourceActorParams_0p1::SubstanceSourceActorParams_0p1(NvParameterized::Traits* traits, void* buf, int32_t* refCount) :
+ NvParameters(traits, buf, refCount)
+{
+ //mParameterizedTraits->registerFactory(className(), &SubstanceSourceActorParams_0p1FactoryInst);
+
+ if (!buf) //Do not init data if it is inplace-deserialized
+ {
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+ initDefaults();
+ }
+}
+
+SubstanceSourceActorParams_0p1::~SubstanceSourceActorParams_0p1()
+{
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+}
+
+void SubstanceSourceActorParams_0p1::destroy()
+{
+ // We cache these fields here to avoid overwrite in destructor
+ bool doDeallocateSelf = mDoDeallocateSelf;
+ NvParameterized::Traits* traits = mParameterizedTraits;
+ int32_t* refCount = mRefCount;
+ void* buf = mBuffer;
+
+ this->~SubstanceSourceActorParams_0p1();
+
+ NvParameters::destroy(this, traits, doDeallocateSelf, refCount, buf);
+}
+
+const NvParameterized::DefinitionImpl* SubstanceSourceActorParams_0p1::getParameterDefinitionTree(void)
+{
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+const NvParameterized::DefinitionImpl* SubstanceSourceActorParams_0p1::getParameterDefinitionTree(void) const
+{
+ SubstanceSourceActorParams_0p1* tmpParam = const_cast<SubstanceSourceActorParams_0p1*>(this);
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ tmpParam->buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+NvParameterized::ErrorType SubstanceSourceActorParams_0p1::getParameterHandle(const char* long_name, Handle& handle) const
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+NvParameterized::ErrorType SubstanceSourceActorParams_0p1::getParameterHandle(const char* long_name, Handle& handle)
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+void SubstanceSourceActorParams_0p1::getVarPtr(const Handle& handle, void*& ptr, size_t& offset) const
+{
+ ptr = getVarPtrHelper(&ParamLookupTable[0], const_cast<SubstanceSourceActorParams_0p1::ParametersStruct*>(&parameters()), handle, offset);
+}
+
+
+/* Dynamic Handle Indices */
+
+void SubstanceSourceActorParams_0p1::freeParameterDefinitionTable(NvParameterized::Traits* traits)
+{
+ if (!traits)
+ {
+ return;
+ }
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ return;
+ }
+
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+
+ if (!mBuiltFlag)
+ {
+ return;
+ }
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ ParamDefTable[i].~DefinitionImpl();
+ }
+
+ traits->free(ParamDefTable);
+
+ mBuiltFlag = false;
+}
+
+#define PDEF_PTR(index) (&ParamDefTable[index])
+
+void SubstanceSourceActorParams_0p1::buildTree(void)
+{
+
+ uint32_t allocSize = sizeof(NvParameterized::DefinitionImpl) * NumParamDefs;
+ ParamDefTable = (NvParameterized::DefinitionImpl*)(mParameterizedTraits->alloc(allocSize));
+ memset(ParamDefTable, 0, allocSize);
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ NV_PARAM_PLACEMENT_NEW(ParamDefTable + i, NvParameterized::DefinitionImpl)(*mParameterizedTraits);
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=0, longName=""
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[0];
+ ParamDef->init("", TYPE_STRUCT, "STRUCT", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=1, longName="initialPose"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[1];
+ ParamDef->init("initialPose", TYPE_TRANSFORM, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The global pose for the actor.", true);
+ ParamDefTable[1].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=2, longName="initialScale"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[2];
+ ParamDef->init("initialScale", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The space scale of the actor", true);
+ ParamDefTable[2].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=3, longName="averageDensity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[3];
+ ParamDef->init("averageDensity", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The arithmetic mean of a sample. Normal distribution parameter.", true);
+ ParamDefTable[3].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=4, longName="stdDensity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[4];
+ ParamDef->init("stdDensity", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Standard deviation. Normal distribution parameter.", true);
+ ParamDefTable[4].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=5, longName="geometryType"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[5];
+ ParamDef->init("geometryType", TYPE_REF, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("INCLUDED", uint64_t(1), true);
+ ParamDefTable[5].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("INCLUDED", uint64_t(1), true);
+ HintTable[1].init("longDescription", "Specifies the geometry type of the source", true);
+ HintTable[2].init("shortDescription", "Geometry Type", true);
+ ParamDefTable[5].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+ static const char* const RefVariantVals[] = { "HeatSourceGeomBoxParams", "HeatSourceGeomSphereParams" };
+ ParamDefTable[5].setRefVariantVals((const char**)RefVariantVals, 2);
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=6, longName="fieldSamplerFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[6];
+ ParamDef->init("fieldSamplerFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The filter data name for SubstanceSource vs TurbulenceFS interaction. Overrides asset's value.", true);
+ ParamDefTable[6].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // SetChildren for: nodeIndex=0, longName=""
+ {
+ static Definition* Children[6];
+ Children[0] = PDEF_PTR(1);
+ Children[1] = PDEF_PTR(2);
+ Children[2] = PDEF_PTR(3);
+ Children[3] = PDEF_PTR(4);
+ Children[4] = PDEF_PTR(5);
+ Children[5] = PDEF_PTR(6);
+
+ ParamDefTable[0].setChildren(Children, 6);
+ }
+
+ mBuiltFlag = true;
+
+}
+void SubstanceSourceActorParams_0p1::initStrings(void)
+{
+ fieldSamplerFilterDataName.isAllocated = true;
+ fieldSamplerFilterDataName.buf = NULL;
+}
+
+void SubstanceSourceActorParams_0p1::initDynamicArrays(void)
+{
+}
+
+void SubstanceSourceActorParams_0p1::initDefaults(void)
+{
+
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+ initialPose = physx::PxTransform(physx::PxIdentity);
+ initialScale = float(1.0);
+ averageDensity = float(0);
+ stdDensity = float(0);
+
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+}
+
+void SubstanceSourceActorParams_0p1::initReferences(void)
+{
+ geometryType = NULL;
+
+}
+
+void SubstanceSourceActorParams_0p1::freeDynamicArrays(void)
+{
+}
+
+void SubstanceSourceActorParams_0p1::freeStrings(void)
+{
+
+ if (fieldSamplerFilterDataName.isAllocated && fieldSamplerFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)fieldSamplerFilterDataName.buf);
+ }
+}
+
+void SubstanceSourceActorParams_0p1::freeReferences(void)
+{
+ if (geometryType)
+ {
+ geometryType->destroy();
+ }
+
+}
+
+} // namespace parameterized
+} // namespace nvidia
diff --git a/APEX_1.4/module/turbulencefs_legacy/src/autogen/SubstanceSourceAssetParams_0p0.cpp b/APEX_1.4/module/turbulencefs_legacy/src/autogen/SubstanceSourceAssetParams_0p0.cpp
new file mode 100644
index 00000000..75b3fb43
--- /dev/null
+++ b/APEX_1.4/module/turbulencefs_legacy/src/autogen/SubstanceSourceAssetParams_0p0.cpp
@@ -0,0 +1,408 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and 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.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#include "SubstanceSourceAssetParams_0p0.h"
+#include <string.h>
+#include <stdlib.h>
+
+using namespace NvParameterized;
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+using namespace SubstanceSourceAssetParams_0p0NS;
+
+const char* const SubstanceSourceAssetParams_0p0Factory::vptr =
+ NvParameterized::getVptr<SubstanceSourceAssetParams_0p0, SubstanceSourceAssetParams_0p0::ClassAlignment>();
+
+const uint32_t NumParamDefs = 5;
+static NvParameterized::DefinitionImpl* ParamDefTable; // now allocated in buildTree [NumParamDefs];
+
+
+static const size_t ParamLookupChildrenTable[] =
+{
+ 1, 2, 3, 4,
+};
+
+#define TENUM(type) nvidia::##type
+#define CHILDREN(index) &ParamLookupChildrenTable[index]
+static const NvParameterized::ParamLookupNode ParamLookupTable[NumParamDefs] =
+{
+ { TYPE_STRUCT, false, 0, CHILDREN(0), 4 },
+ { TYPE_VEC3, false, (size_t)(&((ParametersStruct*)0)->position), NULL, 0 }, // position
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->averageDensity), NULL, 0 }, // averageDensity
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->stdDensity), NULL, 0 }, // stdDensity
+ { TYPE_REF, false, (size_t)(&((ParametersStruct*)0)->geometryType), NULL, 0 }, // geometryType
+};
+
+
+bool SubstanceSourceAssetParams_0p0::mBuiltFlag = false;
+NvParameterized::MutexType SubstanceSourceAssetParams_0p0::mBuiltFlagMutex;
+
+SubstanceSourceAssetParams_0p0::SubstanceSourceAssetParams_0p0(NvParameterized::Traits* traits, void* buf, int32_t* refCount) :
+ NvParameters(traits, buf, refCount)
+{
+ //mParameterizedTraits->registerFactory(className(), &SubstanceSourceAssetParams_0p0FactoryInst);
+
+ if (!buf) //Do not init data if it is inplace-deserialized
+ {
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+ initDefaults();
+ }
+}
+
+SubstanceSourceAssetParams_0p0::~SubstanceSourceAssetParams_0p0()
+{
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+}
+
+void SubstanceSourceAssetParams_0p0::destroy()
+{
+ // We cache these fields here to avoid overwrite in destructor
+ bool doDeallocateSelf = mDoDeallocateSelf;
+ NvParameterized::Traits* traits = mParameterizedTraits;
+ int32_t* refCount = mRefCount;
+ void* buf = mBuffer;
+
+ this->~SubstanceSourceAssetParams_0p0();
+
+ NvParameters::destroy(this, traits, doDeallocateSelf, refCount, buf);
+}
+
+const NvParameterized::DefinitionImpl* SubstanceSourceAssetParams_0p0::getParameterDefinitionTree(void)
+{
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+const NvParameterized::DefinitionImpl* SubstanceSourceAssetParams_0p0::getParameterDefinitionTree(void) const
+{
+ SubstanceSourceAssetParams_0p0* tmpParam = const_cast<SubstanceSourceAssetParams_0p0*>(this);
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ tmpParam->buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+NvParameterized::ErrorType SubstanceSourceAssetParams_0p0::getParameterHandle(const char* long_name, Handle& handle) const
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+NvParameterized::ErrorType SubstanceSourceAssetParams_0p0::getParameterHandle(const char* long_name, Handle& handle)
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+void SubstanceSourceAssetParams_0p0::getVarPtr(const Handle& handle, void*& ptr, size_t& offset) const
+{
+ ptr = getVarPtrHelper(&ParamLookupTable[0], const_cast<SubstanceSourceAssetParams_0p0::ParametersStruct*>(&parameters()), handle, offset);
+}
+
+
+/* Dynamic Handle Indices */
+
+void SubstanceSourceAssetParams_0p0::freeParameterDefinitionTable(NvParameterized::Traits* traits)
+{
+ if (!traits)
+ {
+ return;
+ }
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ return;
+ }
+
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+
+ if (!mBuiltFlag)
+ {
+ return;
+ }
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ ParamDefTable[i].~DefinitionImpl();
+ }
+
+ traits->free(ParamDefTable);
+
+ mBuiltFlag = false;
+}
+
+#define PDEF_PTR(index) (&ParamDefTable[index])
+
+void SubstanceSourceAssetParams_0p0::buildTree(void)
+{
+
+ uint32_t allocSize = sizeof(NvParameterized::DefinitionImpl) * NumParamDefs;
+ ParamDefTable = (NvParameterized::DefinitionImpl*)(mParameterizedTraits->alloc(allocSize));
+ memset(ParamDefTable, 0, allocSize);
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ NV_PARAM_PLACEMENT_NEW(ParamDefTable + i, NvParameterized::DefinitionImpl)(*mParameterizedTraits);
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=0, longName=""
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[0];
+ ParamDef->init("", TYPE_STRUCT, "STRUCT", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Contains the asset properties for this SubstanceSource.", true);
+ ParamDefTable[0].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=1, longName="position"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[1];
+ ParamDef->init("position", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Initial position for substance sorce.", true);
+ ParamDefTable[1].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=2, longName="averageDensity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[2];
+ ParamDef->init("averageDensity", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The arithmetic mean of a sample. Normal distribution parameter.", true);
+ ParamDefTable[2].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=3, longName="stdDensity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[3];
+ ParamDef->init("stdDensity", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Standard deviation. Normal distribution parameter.", true);
+ ParamDefTable[3].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=4, longName="geometryType"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[4];
+ ParamDef->init("geometryType", TYPE_REF, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("INCLUDED", uint64_t(1), true);
+ ParamDefTable[4].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("INCLUDED", uint64_t(1), true);
+ HintTable[1].init("longDescription", "Specifies the geometry type of the source", true);
+ HintTable[2].init("shortDescription", "Geometry Type", true);
+ ParamDefTable[4].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+ static const char* const RefVariantVals[] = { "HeatSourceGeomBoxParams", "HeatSourceGeomSphereParams" };
+ ParamDefTable[4].setRefVariantVals((const char**)RefVariantVals, 2);
+
+
+
+ }
+
+ // SetChildren for: nodeIndex=0, longName=""
+ {
+ static Definition* Children[4];
+ Children[0] = PDEF_PTR(1);
+ Children[1] = PDEF_PTR(2);
+ Children[2] = PDEF_PTR(3);
+ Children[3] = PDEF_PTR(4);
+
+ ParamDefTable[0].setChildren(Children, 4);
+ }
+
+ mBuiltFlag = true;
+
+}
+void SubstanceSourceAssetParams_0p0::initStrings(void)
+{
+}
+
+void SubstanceSourceAssetParams_0p0::initDynamicArrays(void)
+{
+}
+
+void SubstanceSourceAssetParams_0p0::initDefaults(void)
+{
+
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+ position = physx::PxVec3(init(0.0, 0.0, 0.0));
+ averageDensity = float(0);
+ stdDensity = float(0);
+
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+}
+
+void SubstanceSourceAssetParams_0p0::initReferences(void)
+{
+ geometryType = NULL;
+
+}
+
+void SubstanceSourceAssetParams_0p0::freeDynamicArrays(void)
+{
+}
+
+void SubstanceSourceAssetParams_0p0::freeStrings(void)
+{
+}
+
+void SubstanceSourceAssetParams_0p0::freeReferences(void)
+{
+ if (geometryType)
+ {
+ geometryType->destroy();
+ }
+
+}
+
+} // namespace parameterized
+} // namespace nvidia
diff --git a/APEX_1.4/module/turbulencefs_legacy/src/autogen/SubstanceSourceAssetParams_0p1.cpp b/APEX_1.4/module/turbulencefs_legacy/src/autogen/SubstanceSourceAssetParams_0p1.cpp
new file mode 100644
index 00000000..5b2cb627
--- /dev/null
+++ b/APEX_1.4/module/turbulencefs_legacy/src/autogen/SubstanceSourceAssetParams_0p1.cpp
@@ -0,0 +1,439 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and 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.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#include "SubstanceSourceAssetParams_0p1.h"
+#include <string.h>
+#include <stdlib.h>
+
+using namespace NvParameterized;
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+using namespace SubstanceSourceAssetParams_0p1NS;
+
+const char* const SubstanceSourceAssetParams_0p1Factory::vptr =
+ NvParameterized::getVptr<SubstanceSourceAssetParams_0p1, SubstanceSourceAssetParams_0p1::ClassAlignment>();
+
+const uint32_t NumParamDefs = 6;
+static NvParameterized::DefinitionImpl* ParamDefTable; // now allocated in buildTree [NumParamDefs];
+
+
+static const size_t ParamLookupChildrenTable[] =
+{
+ 1, 2, 3, 4, 5,
+};
+
+#define TENUM(type) nvidia::##type
+#define CHILDREN(index) &ParamLookupChildrenTable[index]
+static const NvParameterized::ParamLookupNode ParamLookupTable[NumParamDefs] =
+{
+ { TYPE_STRUCT, false, 0, CHILDREN(0), 5 },
+ { TYPE_VEC3, false, (size_t)(&((ParametersStruct*)0)->position), NULL, 0 }, // position
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->averageDensity), NULL, 0 }, // averageDensity
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->stdDensity), NULL, 0 }, // stdDensity
+ { TYPE_REF, false, (size_t)(&((ParametersStruct*)0)->geometryType), NULL, 0 }, // geometryType
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->fieldSamplerFilterDataName), NULL, 0 }, // fieldSamplerFilterDataName
+};
+
+
+bool SubstanceSourceAssetParams_0p1::mBuiltFlag = false;
+NvParameterized::MutexType SubstanceSourceAssetParams_0p1::mBuiltFlagMutex;
+
+SubstanceSourceAssetParams_0p1::SubstanceSourceAssetParams_0p1(NvParameterized::Traits* traits, void* buf, int32_t* refCount) :
+ NvParameters(traits, buf, refCount)
+{
+ //mParameterizedTraits->registerFactory(className(), &SubstanceSourceAssetParams_0p1FactoryInst);
+
+ if (!buf) //Do not init data if it is inplace-deserialized
+ {
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+ initDefaults();
+ }
+}
+
+SubstanceSourceAssetParams_0p1::~SubstanceSourceAssetParams_0p1()
+{
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+}
+
+void SubstanceSourceAssetParams_0p1::destroy()
+{
+ // We cache these fields here to avoid overwrite in destructor
+ bool doDeallocateSelf = mDoDeallocateSelf;
+ NvParameterized::Traits* traits = mParameterizedTraits;
+ int32_t* refCount = mRefCount;
+ void* buf = mBuffer;
+
+ this->~SubstanceSourceAssetParams_0p1();
+
+ NvParameters::destroy(this, traits, doDeallocateSelf, refCount, buf);
+}
+
+const NvParameterized::DefinitionImpl* SubstanceSourceAssetParams_0p1::getParameterDefinitionTree(void)
+{
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+const NvParameterized::DefinitionImpl* SubstanceSourceAssetParams_0p1::getParameterDefinitionTree(void) const
+{
+ SubstanceSourceAssetParams_0p1* tmpParam = const_cast<SubstanceSourceAssetParams_0p1*>(this);
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ tmpParam->buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+NvParameterized::ErrorType SubstanceSourceAssetParams_0p1::getParameterHandle(const char* long_name, Handle& handle) const
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+NvParameterized::ErrorType SubstanceSourceAssetParams_0p1::getParameterHandle(const char* long_name, Handle& handle)
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+void SubstanceSourceAssetParams_0p1::getVarPtr(const Handle& handle, void*& ptr, size_t& offset) const
+{
+ ptr = getVarPtrHelper(&ParamLookupTable[0], const_cast<SubstanceSourceAssetParams_0p1::ParametersStruct*>(&parameters()), handle, offset);
+}
+
+
+/* Dynamic Handle Indices */
+
+void SubstanceSourceAssetParams_0p1::freeParameterDefinitionTable(NvParameterized::Traits* traits)
+{
+ if (!traits)
+ {
+ return;
+ }
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ return;
+ }
+
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+
+ if (!mBuiltFlag)
+ {
+ return;
+ }
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ ParamDefTable[i].~DefinitionImpl();
+ }
+
+ traits->free(ParamDefTable);
+
+ mBuiltFlag = false;
+}
+
+#define PDEF_PTR(index) (&ParamDefTable[index])
+
+void SubstanceSourceAssetParams_0p1::buildTree(void)
+{
+
+ uint32_t allocSize = sizeof(NvParameterized::DefinitionImpl) * NumParamDefs;
+ ParamDefTable = (NvParameterized::DefinitionImpl*)(mParameterizedTraits->alloc(allocSize));
+ memset(ParamDefTable, 0, allocSize);
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ NV_PARAM_PLACEMENT_NEW(ParamDefTable + i, NvParameterized::DefinitionImpl)(*mParameterizedTraits);
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=0, longName=""
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[0];
+ ParamDef->init("", TYPE_STRUCT, "STRUCT", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Contains the asset properties for this SubstanceSource.", true);
+ ParamDefTable[0].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=1, longName="position"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[1];
+ ParamDef->init("position", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Initial position for substance sorce.", true);
+ ParamDefTable[1].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=2, longName="averageDensity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[2];
+ ParamDef->init("averageDensity", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The arithmetic mean of a sample. Normal distribution parameter.", true);
+ ParamDefTable[2].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=3, longName="stdDensity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[3];
+ ParamDef->init("stdDensity", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Standard deviation. Normal distribution parameter.", true);
+ ParamDefTable[3].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=4, longName="geometryType"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[4];
+ ParamDef->init("geometryType", TYPE_REF, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("INCLUDED", uint64_t(1), true);
+ ParamDefTable[4].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("INCLUDED", uint64_t(1), true);
+ HintTable[1].init("longDescription", "Specifies the geometry type of the source", true);
+ HintTable[2].init("shortDescription", "Geometry Type", true);
+ ParamDefTable[4].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+ static const char* const RefVariantVals[] = { "HeatSourceGeomBoxParams", "HeatSourceGeomSphereParams" };
+ ParamDefTable[4].setRefVariantVals((const char**)RefVariantVals, 2);
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=5, longName="fieldSamplerFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[5];
+ ParamDef->init("fieldSamplerFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The filter data name for SubstanceSource vs TurbulenceFS interaction.", true);
+ ParamDefTable[5].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // SetChildren for: nodeIndex=0, longName=""
+ {
+ static Definition* Children[5];
+ Children[0] = PDEF_PTR(1);
+ Children[1] = PDEF_PTR(2);
+ Children[2] = PDEF_PTR(3);
+ Children[3] = PDEF_PTR(4);
+ Children[4] = PDEF_PTR(5);
+
+ ParamDefTable[0].setChildren(Children, 5);
+ }
+
+ mBuiltFlag = true;
+
+}
+void SubstanceSourceAssetParams_0p1::initStrings(void)
+{
+ fieldSamplerFilterDataName.isAllocated = true;
+ fieldSamplerFilterDataName.buf = NULL;
+}
+
+void SubstanceSourceAssetParams_0p1::initDynamicArrays(void)
+{
+}
+
+void SubstanceSourceAssetParams_0p1::initDefaults(void)
+{
+
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+ position = physx::PxVec3(init(0.0, 0.0, 0.0));
+ averageDensity = float(0);
+ stdDensity = float(0);
+
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+}
+
+void SubstanceSourceAssetParams_0p1::initReferences(void)
+{
+ geometryType = NULL;
+
+}
+
+void SubstanceSourceAssetParams_0p1::freeDynamicArrays(void)
+{
+}
+
+void SubstanceSourceAssetParams_0p1::freeStrings(void)
+{
+
+ if (fieldSamplerFilterDataName.isAllocated && fieldSamplerFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)fieldSamplerFilterDataName.buf);
+ }
+}
+
+void SubstanceSourceAssetParams_0p1::freeReferences(void)
+{
+ if (geometryType)
+ {
+ geometryType->destroy();
+ }
+
+}
+
+} // namespace parameterized
+} // namespace nvidia
diff --git a/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSActorParams_0p0.cpp b/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSActorParams_0p0.cpp
new file mode 100644
index 00000000..83416e2e
--- /dev/null
+++ b/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSActorParams_0p0.cpp
@@ -0,0 +1,569 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and 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.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#include "TurbulenceFSActorParams_0p0.h"
+#include <string.h>
+#include <stdlib.h>
+
+using namespace NvParameterized;
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+using namespace TurbulenceFSActorParams_0p0NS;
+
+const char* const TurbulenceFSActorParams_0p0Factory::vptr =
+ NvParameterized::getVptr<TurbulenceFSActorParams_0p0, TurbulenceFSActorParams_0p0::ClassAlignment>();
+
+const uint32_t NumParamDefs = 11;
+static NvParameterized::DefinitionImpl* ParamDefTable; // now allocated in buildTree [NumParamDefs];
+
+
+static const size_t ParamLookupChildrenTable[] =
+{
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
+};
+
+#define TENUM(type) nvidia::##type
+#define CHILDREN(index) &ParamLookupChildrenTable[index]
+static const NvParameterized::ParamLookupNode ParamLookupTable[NumParamDefs] =
+{
+ { TYPE_STRUCT, false, 0, CHILDREN(0), 10 },
+ { TYPE_MAT34, false, (size_t)(&((ParametersStruct*)0)->initialPose), NULL, 0 }, // initialPose
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->initialScale), NULL, 0 }, // initialScale
+ { TYPE_VEC3, false, (size_t)(&((ParametersStruct*)0)->gridSizeWorld), NULL, 0 }, // gridSizeWorld
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->collisionFilterDataName), NULL, 0 }, // collisionFilterDataName
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->fieldBoundaryFilterDataName), NULL, 0 }, // fieldBoundaryFilterDataName
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->fieldSamplerFilterDataName), NULL, 0 }, // fieldSamplerFilterDataName
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->isAutoSwitchingBC), NULL, 0 }, // isAutoSwitchingBC
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->outletPressureBC), NULL, 0 }, // outletPressureBC
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->dragCoeffForRigidBody), NULL, 0 }, // dragCoeffForRigidBody
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fluidViscosity), NULL, 0 }, // fluidViscosity
+};
+
+
+bool TurbulenceFSActorParams_0p0::mBuiltFlag = false;
+NvParameterized::MutexType TurbulenceFSActorParams_0p0::mBuiltFlagMutex;
+
+TurbulenceFSActorParams_0p0::TurbulenceFSActorParams_0p0(NvParameterized::Traits* traits, void* buf, int32_t* refCount) :
+ NvParameters(traits, buf, refCount)
+{
+ //mParameterizedTraits->registerFactory(className(), &TurbulenceFSActorParams_0p0FactoryInst);
+
+ if (!buf) //Do not init data if it is inplace-deserialized
+ {
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+ initDefaults();
+ }
+}
+
+TurbulenceFSActorParams_0p0::~TurbulenceFSActorParams_0p0()
+{
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+}
+
+void TurbulenceFSActorParams_0p0::destroy()
+{
+ // We cache these fields here to avoid overwrite in destructor
+ bool doDeallocateSelf = mDoDeallocateSelf;
+ NvParameterized::Traits* traits = mParameterizedTraits;
+ int32_t* refCount = mRefCount;
+ void* buf = mBuffer;
+
+ this->~TurbulenceFSActorParams_0p0();
+
+ NvParameters::destroy(this, traits, doDeallocateSelf, refCount, buf);
+}
+
+const NvParameterized::DefinitionImpl* TurbulenceFSActorParams_0p0::getParameterDefinitionTree(void)
+{
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+const NvParameterized::DefinitionImpl* TurbulenceFSActorParams_0p0::getParameterDefinitionTree(void) const
+{
+ TurbulenceFSActorParams_0p0* tmpParam = const_cast<TurbulenceFSActorParams_0p0*>(this);
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ tmpParam->buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+NvParameterized::ErrorType TurbulenceFSActorParams_0p0::getParameterHandle(const char* long_name, Handle& handle) const
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+NvParameterized::ErrorType TurbulenceFSActorParams_0p0::getParameterHandle(const char* long_name, Handle& handle)
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+void TurbulenceFSActorParams_0p0::getVarPtr(const Handle& handle, void*& ptr, size_t& offset) const
+{
+ ptr = getVarPtrHelper(&ParamLookupTable[0], const_cast<TurbulenceFSActorParams_0p0::ParametersStruct*>(&parameters()), handle, offset);
+}
+
+
+/* Dynamic Handle Indices */
+
+void TurbulenceFSActorParams_0p0::freeParameterDefinitionTable(NvParameterized::Traits* traits)
+{
+ if (!traits)
+ {
+ return;
+ }
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ return;
+ }
+
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+
+ if (!mBuiltFlag)
+ {
+ return;
+ }
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ ParamDefTable[i].~DefinitionImpl();
+ }
+
+ traits->free(ParamDefTable);
+
+ mBuiltFlag = false;
+}
+
+#define PDEF_PTR(index) (&ParamDefTable[index])
+
+void TurbulenceFSActorParams_0p0::buildTree(void)
+{
+
+ uint32_t allocSize = sizeof(NvParameterized::DefinitionImpl) * NumParamDefs;
+ ParamDefTable = (NvParameterized::DefinitionImpl*)(mParameterizedTraits->alloc(allocSize));
+ memset(ParamDefTable, 0, allocSize);
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ NV_PARAM_PLACEMENT_NEW(ParamDefTable + i, NvParameterized::DefinitionImpl)(*mParameterizedTraits);
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=0, longName=""
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[0];
+ ParamDef->init("", TYPE_STRUCT, "STRUCT", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=1, longName="initialPose"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[1];
+ ParamDef->init("initialPose", TYPE_MAT34, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The global pose for the actor.", true);
+ ParamDefTable[1].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=2, longName="initialScale"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[2];
+ ParamDef->init("initialScale", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The space scale of the turbulence actor", true);
+ ParamDefTable[2].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=3, longName="gridSizeWorld"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[3];
+ ParamDef->init("gridSizeWorld", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "size of the grid in world space.", true);
+ ParamDefTable[3].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=4, longName="collisionFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[4];
+ ParamDef->init("collisionFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("HIDDEN", uint64_t(1), true);
+ ParamDefTable[4].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("HIDDEN", uint64_t(1), true);
+ HintTable[1].init("shortDescription", "The filter data (group/groupsMask) name for TurbulenceFS vs PhysX interaction. Overrides asset's value.", true);
+ ParamDefTable[4].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=5, longName="fieldBoundaryFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[5];
+ ParamDef->init("fieldBoundaryFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("HIDDEN", uint64_t(1), true);
+ ParamDefTable[5].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("HIDDEN", uint64_t(1), true);
+ HintTable[1].init("shortDescription", "The filter data name for TurbulenceFS vs Field Boundaries interaction. Overrides asset's value.", true);
+ ParamDefTable[5].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=6, longName="fieldSamplerFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[6];
+ ParamDef->init("fieldSamplerFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The filter data name for TurbulenceFS vs other Field Samplers interaction. Overrides asset's value.", true);
+ ParamDefTable[6].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=7, longName="isAutoSwitchingBC"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[7];
+ ParamDef->init("isAutoSwitchingBC", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Enable/disable auto switching boundary conditions to inlet/outlet depend on velocity through the boundary.", true);
+ ParamDefTable[7].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=8, longName="outletPressureBC"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[8];
+ ParamDef->init("outletPressureBC", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The pressure on the outlet boundary.", true);
+ ParamDefTable[8].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=9, longName="dragCoeffForRigidBody"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[9];
+ ParamDef->init("dragCoeffForRigidBody", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "It is not true drag coef just mixing coefficient for slip and no-slip boundary condition. If set to zero supposed slip boundary condition on rigid bodies. If set to 1 supposed no-slip boundary condition else mixed (partly slip)", true);
+ ParamDefTable[9].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=10, longName="fluidViscosity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[10];
+ ParamDef->init("fluidViscosity", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Viscosity is the coefficient for velocity diffusion. If 0. there is no diffusion.", true);
+ ParamDefTable[10].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // SetChildren for: nodeIndex=0, longName=""
+ {
+ static Definition* Children[10];
+ Children[0] = PDEF_PTR(1);
+ Children[1] = PDEF_PTR(2);
+ Children[2] = PDEF_PTR(3);
+ Children[3] = PDEF_PTR(4);
+ Children[4] = PDEF_PTR(5);
+ Children[5] = PDEF_PTR(6);
+ Children[6] = PDEF_PTR(7);
+ Children[7] = PDEF_PTR(8);
+ Children[8] = PDEF_PTR(9);
+ Children[9] = PDEF_PTR(10);
+
+ ParamDefTable[0].setChildren(Children, 10);
+ }
+
+ mBuiltFlag = true;
+
+}
+void TurbulenceFSActorParams_0p0::initStrings(void)
+{
+ collisionFilterDataName.isAllocated = true;
+ collisionFilterDataName.buf = NULL;
+ fieldBoundaryFilterDataName.isAllocated = true;
+ fieldBoundaryFilterDataName.buf = NULL;
+ fieldSamplerFilterDataName.isAllocated = true;
+ fieldSamplerFilterDataName.buf = NULL;
+}
+
+void TurbulenceFSActorParams_0p0::initDynamicArrays(void)
+{
+}
+
+void TurbulenceFSActorParams_0p0::initDefaults(void)
+{
+
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+ {
+ const float value[12] = {true};
+ for (int i = 0; i < 12; ++i)
+ {
+ initialPose[i] = value[i];
+ }
+ }
+ initialScale = float(1.0);
+ gridSizeWorld = physx::PxVec3(init(0, 0, 0));
+ isAutoSwitchingBC = bool(false);
+ outletPressureBC = float(0);
+ dragCoeffForRigidBody = float(0);
+ fluidViscosity = float(0);
+
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+}
+
+void TurbulenceFSActorParams_0p0::initReferences(void)
+{
+}
+
+void TurbulenceFSActorParams_0p0::freeDynamicArrays(void)
+{
+}
+
+void TurbulenceFSActorParams_0p0::freeStrings(void)
+{
+
+ if (collisionFilterDataName.isAllocated && collisionFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)collisionFilterDataName.buf);
+ }
+
+ if (fieldBoundaryFilterDataName.isAllocated && fieldBoundaryFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)fieldBoundaryFilterDataName.buf);
+ }
+
+ if (fieldSamplerFilterDataName.isAllocated && fieldSamplerFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)fieldSamplerFilterDataName.buf);
+ }
+}
+
+void TurbulenceFSActorParams_0p0::freeReferences(void)
+{
+}
+
+} // namespace parameterized
+} // namespace nvidia
diff --git a/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSActorParams_0p1.cpp b/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSActorParams_0p1.cpp
new file mode 100644
index 00000000..38ca8fd3
--- /dev/null
+++ b/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSActorParams_0p1.cpp
@@ -0,0 +1,563 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and 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.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#include "TurbulenceFSActorParams_0p1.h"
+#include <string.h>
+#include <stdlib.h>
+
+using namespace NvParameterized;
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+using namespace TurbulenceFSActorParams_0p1NS;
+
+const char* const TurbulenceFSActorParams_0p1Factory::vptr =
+ NvParameterized::getVptr<TurbulenceFSActorParams_0p1, TurbulenceFSActorParams_0p1::ClassAlignment>();
+
+const uint32_t NumParamDefs = 11;
+static NvParameterized::DefinitionImpl* ParamDefTable; // now allocated in buildTree [NumParamDefs];
+
+
+static const size_t ParamLookupChildrenTable[] =
+{
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
+};
+
+#define TENUM(type) nvidia::##type
+#define CHILDREN(index) &ParamLookupChildrenTable[index]
+static const NvParameterized::ParamLookupNode ParamLookupTable[NumParamDefs] =
+{
+ { TYPE_STRUCT, false, 0, CHILDREN(0), 10 },
+ { TYPE_TRANSFORM, false, (size_t)(&((ParametersStruct*)0)->initialPose), NULL, 0 }, // initialPose
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->initialScale), NULL, 0 }, // initialScale
+ { TYPE_VEC3, false, (size_t)(&((ParametersStruct*)0)->gridSizeWorld), NULL, 0 }, // gridSizeWorld
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->collisionFilterDataName), NULL, 0 }, // collisionFilterDataName
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->fieldBoundaryFilterDataName), NULL, 0 }, // fieldBoundaryFilterDataName
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->fieldSamplerFilterDataName), NULL, 0 }, // fieldSamplerFilterDataName
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->isAutoSwitchingBC), NULL, 0 }, // isAutoSwitchingBC
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->outletPressureBC), NULL, 0 }, // outletPressureBC
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->dragCoeffForRigidBody), NULL, 0 }, // dragCoeffForRigidBody
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fluidViscosity), NULL, 0 }, // fluidViscosity
+};
+
+
+bool TurbulenceFSActorParams_0p1::mBuiltFlag = false;
+NvParameterized::MutexType TurbulenceFSActorParams_0p1::mBuiltFlagMutex;
+
+TurbulenceFSActorParams_0p1::TurbulenceFSActorParams_0p1(NvParameterized::Traits* traits, void* buf, int32_t* refCount) :
+ NvParameters(traits, buf, refCount)
+{
+ //mParameterizedTraits->registerFactory(className(), &TurbulenceFSActorParams_0p1FactoryInst);
+
+ if (!buf) //Do not init data if it is inplace-deserialized
+ {
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+ initDefaults();
+ }
+}
+
+TurbulenceFSActorParams_0p1::~TurbulenceFSActorParams_0p1()
+{
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+}
+
+void TurbulenceFSActorParams_0p1::destroy()
+{
+ // We cache these fields here to avoid overwrite in destructor
+ bool doDeallocateSelf = mDoDeallocateSelf;
+ NvParameterized::Traits* traits = mParameterizedTraits;
+ int32_t* refCount = mRefCount;
+ void* buf = mBuffer;
+
+ this->~TurbulenceFSActorParams_0p1();
+
+ NvParameters::destroy(this, traits, doDeallocateSelf, refCount, buf);
+}
+
+const NvParameterized::DefinitionImpl* TurbulenceFSActorParams_0p1::getParameterDefinitionTree(void)
+{
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+const NvParameterized::DefinitionImpl* TurbulenceFSActorParams_0p1::getParameterDefinitionTree(void) const
+{
+ TurbulenceFSActorParams_0p1* tmpParam = const_cast<TurbulenceFSActorParams_0p1*>(this);
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ tmpParam->buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+NvParameterized::ErrorType TurbulenceFSActorParams_0p1::getParameterHandle(const char* long_name, Handle& handle) const
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+NvParameterized::ErrorType TurbulenceFSActorParams_0p1::getParameterHandle(const char* long_name, Handle& handle)
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+void TurbulenceFSActorParams_0p1::getVarPtr(const Handle& handle, void*& ptr, size_t& offset) const
+{
+ ptr = getVarPtrHelper(&ParamLookupTable[0], const_cast<TurbulenceFSActorParams_0p1::ParametersStruct*>(&parameters()), handle, offset);
+}
+
+
+/* Dynamic Handle Indices */
+
+void TurbulenceFSActorParams_0p1::freeParameterDefinitionTable(NvParameterized::Traits* traits)
+{
+ if (!traits)
+ {
+ return;
+ }
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ return;
+ }
+
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+
+ if (!mBuiltFlag)
+ {
+ return;
+ }
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ ParamDefTable[i].~DefinitionImpl();
+ }
+
+ traits->free(ParamDefTable);
+
+ mBuiltFlag = false;
+}
+
+#define PDEF_PTR(index) (&ParamDefTable[index])
+
+void TurbulenceFSActorParams_0p1::buildTree(void)
+{
+
+ uint32_t allocSize = sizeof(NvParameterized::DefinitionImpl) * NumParamDefs;
+ ParamDefTable = (NvParameterized::DefinitionImpl*)(mParameterizedTraits->alloc(allocSize));
+ memset(ParamDefTable, 0, allocSize);
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ NV_PARAM_PLACEMENT_NEW(ParamDefTable + i, NvParameterized::DefinitionImpl)(*mParameterizedTraits);
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=0, longName=""
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[0];
+ ParamDef->init("", TYPE_STRUCT, "STRUCT", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=1, longName="initialPose"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[1];
+ ParamDef->init("initialPose", TYPE_TRANSFORM, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The global pose for the actor.", true);
+ ParamDefTable[1].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=2, longName="initialScale"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[2];
+ ParamDef->init("initialScale", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The space scale of the turbulence actor", true);
+ ParamDefTable[2].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=3, longName="gridSizeWorld"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[3];
+ ParamDef->init("gridSizeWorld", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "size of the grid in world space.", true);
+ ParamDefTable[3].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=4, longName="collisionFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[4];
+ ParamDef->init("collisionFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("HIDDEN", uint64_t(1), true);
+ ParamDefTable[4].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("HIDDEN", uint64_t(1), true);
+ HintTable[1].init("shortDescription", "The filter data (group/groupsMask) name for TurbulenceFS vs PhysX interaction. Overrides asset's value.", true);
+ ParamDefTable[4].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=5, longName="fieldBoundaryFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[5];
+ ParamDef->init("fieldBoundaryFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("HIDDEN", uint64_t(1), true);
+ ParamDefTable[5].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("HIDDEN", uint64_t(1), true);
+ HintTable[1].init("shortDescription", "The filter data name for TurbulenceFS vs Field Boundaries interaction. Overrides asset's value.", true);
+ ParamDefTable[5].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=6, longName="fieldSamplerFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[6];
+ ParamDef->init("fieldSamplerFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The filter data name for TurbulenceFS vs other Field Samplers interaction. Overrides asset's value.", true);
+ ParamDefTable[6].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=7, longName="isAutoSwitchingBC"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[7];
+ ParamDef->init("isAutoSwitchingBC", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Enable/disable auto switching boundary conditions to inlet/outlet depend on velocity through the boundary.", true);
+ ParamDefTable[7].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=8, longName="outletPressureBC"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[8];
+ ParamDef->init("outletPressureBC", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The pressure on the outlet boundary.", true);
+ ParamDefTable[8].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=9, longName="dragCoeffForRigidBody"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[9];
+ ParamDef->init("dragCoeffForRigidBody", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "It is not true drag coef just mixing coefficient for slip and no-slip boundary condition. If set to zero supposed slip boundary condition on rigid bodies. If set to 1 supposed no-slip boundary condition else mixed (partly slip)", true);
+ ParamDefTable[9].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=10, longName="fluidViscosity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[10];
+ ParamDef->init("fluidViscosity", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Viscosity is the coefficient for velocity diffusion. If 0. there is no diffusion.", true);
+ ParamDefTable[10].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // SetChildren for: nodeIndex=0, longName=""
+ {
+ static Definition* Children[10];
+ Children[0] = PDEF_PTR(1);
+ Children[1] = PDEF_PTR(2);
+ Children[2] = PDEF_PTR(3);
+ Children[3] = PDEF_PTR(4);
+ Children[4] = PDEF_PTR(5);
+ Children[5] = PDEF_PTR(6);
+ Children[6] = PDEF_PTR(7);
+ Children[7] = PDEF_PTR(8);
+ Children[8] = PDEF_PTR(9);
+ Children[9] = PDEF_PTR(10);
+
+ ParamDefTable[0].setChildren(Children, 10);
+ }
+
+ mBuiltFlag = true;
+
+}
+void TurbulenceFSActorParams_0p1::initStrings(void)
+{
+ collisionFilterDataName.isAllocated = true;
+ collisionFilterDataName.buf = NULL;
+ fieldBoundaryFilterDataName.isAllocated = true;
+ fieldBoundaryFilterDataName.buf = NULL;
+ fieldSamplerFilterDataName.isAllocated = true;
+ fieldSamplerFilterDataName.buf = NULL;
+}
+
+void TurbulenceFSActorParams_0p1::initDynamicArrays(void)
+{
+}
+
+void TurbulenceFSActorParams_0p1::initDefaults(void)
+{
+
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+ initialPose = physx::PxTransform(physx::PxIdentity);
+ initialScale = float(1.0);
+ gridSizeWorld = physx::PxVec3(init(0, 0, 0));
+ isAutoSwitchingBC = bool(false);
+ outletPressureBC = float(0);
+ dragCoeffForRigidBody = float(0);
+ fluidViscosity = float(0);
+
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+}
+
+void TurbulenceFSActorParams_0p1::initReferences(void)
+{
+}
+
+void TurbulenceFSActorParams_0p1::freeDynamicArrays(void)
+{
+}
+
+void TurbulenceFSActorParams_0p1::freeStrings(void)
+{
+
+ if (collisionFilterDataName.isAllocated && collisionFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)collisionFilterDataName.buf);
+ }
+
+ if (fieldBoundaryFilterDataName.isAllocated && fieldBoundaryFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)fieldBoundaryFilterDataName.buf);
+ }
+
+ if (fieldSamplerFilterDataName.isAllocated && fieldSamplerFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)fieldSamplerFilterDataName.buf);
+ }
+}
+
+void TurbulenceFSActorParams_0p1::freeReferences(void)
+{
+}
+
+} // namespace parameterized
+} // namespace nvidia
diff --git a/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_0p0.cpp b/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_0p0.cpp
new file mode 100644
index 00000000..5064d1fe
--- /dev/null
+++ b/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_0p0.cpp
@@ -0,0 +1,803 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and 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.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#include "TurbulenceFSAssetParams_0p0.h"
+#include <string.h>
+#include <stdlib.h>
+
+using namespace NvParameterized;
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+using namespace TurbulenceFSAssetParams_0p0NS;
+
+const char* const TurbulenceFSAssetParams_0p0Factory::vptr =
+ NvParameterized::getVptr<TurbulenceFSAssetParams_0p0, TurbulenceFSAssetParams_0p0::ClassAlignment>();
+
+const uint32_t NumParamDefs = 23;
+static NvParameterized::DefinitionImpl* ParamDefTable; // now allocated in buildTree [NumParamDefs];
+
+
+static const size_t ParamLookupChildrenTable[] =
+{
+ 1, 4, 7, 10, 11, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2, 3, 5, 6, 8, 9, 12, 13,
+};
+
+#define TENUM(type) nvidia::##type
+#define CHILDREN(index) &ParamLookupChildrenTable[index]
+static const NvParameterized::ParamLookupNode ParamLookupTable[NumParamDefs] =
+{
+ { TYPE_STRUCT, false, 0, CHILDREN(0), 14 },
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->gridXRange), CHILDREN(14), 2 }, // gridXRange
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->min), NULL, 0 }, // gridXRange.min
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->max), NULL, 0 }, // gridXRange.max
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->gridYRange), CHILDREN(16), 2 }, // gridYRange
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->min), NULL, 0 }, // gridYRange.min
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->max), NULL, 0 }, // gridYRange.max
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->gridZRange), CHILDREN(18), 2 }, // gridZRange
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->min), NULL, 0 }, // gridZRange.min
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->max), NULL, 0 }, // gridZRange.max
+ { TYPE_VEC3, false, (size_t)(&((ParametersStruct*)0)->gridSizeWorld), NULL, 0 }, // gridSizeWorld
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->updatesPerFrameRange), CHILDREN(20), 2 }, // updatesPerFrameRange
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->min), NULL, 0 }, // updatesPerFrameRange.min
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->max), NULL, 0 }, // updatesPerFrameRange.max
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fluidVelocityMultiplier), NULL, 0 }, // fluidVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fluidVelocityClamp), NULL, 0 }, // fluidVelocityClamp
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->boundaryFadePercentage), NULL, 0 }, // boundaryFadePercentage
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->boundarySizePercentage), NULL, 0 }, // boundarySizePercentage
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->collisionFilterDataName), NULL, 0 }, // collisionFilterDataName
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->fieldBoundaryFilterDataName), NULL, 0 }, // fieldBoundaryFilterDataName
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->fieldSamplerFilterDataName), NULL, 0 }, // fieldSamplerFilterDataName
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->maxCollidingObjects), NULL, 0 }, // maxCollidingObjects
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->maxHeatSources), NULL, 0 }, // maxHeatSources
+};
+
+
+bool TurbulenceFSAssetParams_0p0::mBuiltFlag = false;
+NvParameterized::MutexType TurbulenceFSAssetParams_0p0::mBuiltFlagMutex;
+
+TurbulenceFSAssetParams_0p0::TurbulenceFSAssetParams_0p0(NvParameterized::Traits* traits, void* buf, int32_t* refCount) :
+ NvParameters(traits, buf, refCount)
+{
+ //mParameterizedTraits->registerFactory(className(), &TurbulenceFSAssetParams_0p0FactoryInst);
+
+ if (!buf) //Do not init data if it is inplace-deserialized
+ {
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+ initDefaults();
+ }
+}
+
+TurbulenceFSAssetParams_0p0::~TurbulenceFSAssetParams_0p0()
+{
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+}
+
+void TurbulenceFSAssetParams_0p0::destroy()
+{
+ // We cache these fields here to avoid overwrite in destructor
+ bool doDeallocateSelf = mDoDeallocateSelf;
+ NvParameterized::Traits* traits = mParameterizedTraits;
+ int32_t* refCount = mRefCount;
+ void* buf = mBuffer;
+
+ this->~TurbulenceFSAssetParams_0p0();
+
+ NvParameters::destroy(this, traits, doDeallocateSelf, refCount, buf);
+}
+
+const NvParameterized::DefinitionImpl* TurbulenceFSAssetParams_0p0::getParameterDefinitionTree(void)
+{
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+const NvParameterized::DefinitionImpl* TurbulenceFSAssetParams_0p0::getParameterDefinitionTree(void) const
+{
+ TurbulenceFSAssetParams_0p0* tmpParam = const_cast<TurbulenceFSAssetParams_0p0*>(this);
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ tmpParam->buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+NvParameterized::ErrorType TurbulenceFSAssetParams_0p0::getParameterHandle(const char* long_name, Handle& handle) const
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+NvParameterized::ErrorType TurbulenceFSAssetParams_0p0::getParameterHandle(const char* long_name, Handle& handle)
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+void TurbulenceFSAssetParams_0p0::getVarPtr(const Handle& handle, void*& ptr, size_t& offset) const
+{
+ ptr = getVarPtrHelper(&ParamLookupTable[0], const_cast<TurbulenceFSAssetParams_0p0::ParametersStruct*>(&parameters()), handle, offset);
+}
+
+
+/* Dynamic Handle Indices */
+
+void TurbulenceFSAssetParams_0p0::freeParameterDefinitionTable(NvParameterized::Traits* traits)
+{
+ if (!traits)
+ {
+ return;
+ }
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ return;
+ }
+
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+
+ if (!mBuiltFlag)
+ {
+ return;
+ }
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ ParamDefTable[i].~DefinitionImpl();
+ }
+
+ traits->free(ParamDefTable);
+
+ mBuiltFlag = false;
+}
+
+#define PDEF_PTR(index) (&ParamDefTable[index])
+
+void TurbulenceFSAssetParams_0p0::buildTree(void)
+{
+
+ uint32_t allocSize = sizeof(NvParameterized::DefinitionImpl) * NumParamDefs;
+ ParamDefTable = (NvParameterized::DefinitionImpl*)(mParameterizedTraits->alloc(allocSize));
+ memset(ParamDefTable, 0, allocSize);
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ NV_PARAM_PLACEMENT_NEW(ParamDefTable + i, NvParameterized::DefinitionImpl)(*mParameterizedTraits);
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=0, longName=""
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[0];
+ ParamDef->init("", TYPE_STRUCT, "STRUCT", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=1, longName="gridXRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[1];
+ ParamDef->init("gridXRange", TYPE_STRUCT, "rangeStructF32", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "number of grid cells in X dimension.", true);
+ ParamDefTable[1].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=2, longName="gridXRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[2];
+ ParamDef->init("min", TYPE_F32, NULL, true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=3, longName="gridXRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[3];
+ ParamDef->init("max", TYPE_F32, NULL, true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=4, longName="gridYRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[4];
+ ParamDef->init("gridYRange", TYPE_STRUCT, "rangeStructF32", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "number of grid cells in Y dimension.", true);
+ ParamDefTable[4].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=5, longName="gridYRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[5];
+ ParamDef->init("min", TYPE_F32, NULL, true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=6, longName="gridYRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[6];
+ ParamDef->init("max", TYPE_F32, NULL, true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=7, longName="gridZRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[7];
+ ParamDef->init("gridZRange", TYPE_STRUCT, "rangeStructF32", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "number of grid cells in Z dimension.", true);
+ ParamDefTable[7].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=8, longName="gridZRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[8];
+ ParamDef->init("min", TYPE_F32, NULL, true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=9, longName="gridZRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[9];
+ ParamDef->init("max", TYPE_F32, NULL, true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=10, longName="gridSizeWorld"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[10];
+ ParamDef->init("gridSizeWorld", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "size of the grid in world space.", true);
+ ParamDefTable[10].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=11, longName="updatesPerFrameRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[11];
+ ParamDef->init("updatesPerFrameRange", TYPE_STRUCT, "rangeStructF32", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "the number of updates per frame.", true);
+ ParamDefTable[11].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=12, longName="updatesPerFrameRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[12];
+ ParamDef->init("min", TYPE_F32, NULL, true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=13, longName="updatesPerFrameRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[13];
+ ParamDef->init("max", TYPE_F32, NULL, true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=14, longName="fluidVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[14];
+ ParamDef->init("fluidVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a multiplier for the velocity of the grid set by the user.", true);
+ ParamDefTable[14].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=15, longName="fluidVelocityClamp"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[15];
+ ParamDef->init("fluidVelocityClamp", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a clamp for the velocity of the grid set by the user.", true);
+ ParamDefTable[15].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=16, longName="boundaryFadePercentage"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[16];
+ ParamDef->init("boundaryFadePercentage", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Percentage of distance from boundary to center where fade out starts.", true);
+ ParamDefTable[16].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=17, longName="boundarySizePercentage"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[17];
+ ParamDef->init("boundarySizePercentage", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Boundary size as the percentage of grid size.", true);
+ ParamDefTable[17].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=18, longName="collisionFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[18];
+ ParamDef->init("collisionFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The filter data (group/groupsMask) name for TurbulenceFS vs PhysX interaction.", true);
+ ParamDefTable[18].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=19, longName="fieldBoundaryFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[19];
+ ParamDef->init("fieldBoundaryFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The filter data name for TurbulenceFS vs Field Boundaries interaction.", true);
+ ParamDefTable[19].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=20, longName="fieldSamplerFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[20];
+ ParamDef->init("fieldSamplerFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The filter data name for TurbulenceFS vs other Field Samplers interaction.", true);
+ ParamDefTable[20].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=21, longName="maxCollidingObjects"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[21];
+ ParamDef->init("maxCollidingObjects", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The maximum number of colliding objects.", true);
+ ParamDefTable[21].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=22, longName="maxHeatSources"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[22];
+ ParamDef->init("maxHeatSources", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The maximum number of heat source.", true);
+ ParamDefTable[22].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // SetChildren for: nodeIndex=0, longName=""
+ {
+ static Definition* Children[14];
+ Children[0] = PDEF_PTR(1);
+ Children[1] = PDEF_PTR(4);
+ Children[2] = PDEF_PTR(7);
+ Children[3] = PDEF_PTR(10);
+ Children[4] = PDEF_PTR(11);
+ Children[5] = PDEF_PTR(14);
+ Children[6] = PDEF_PTR(15);
+ Children[7] = PDEF_PTR(16);
+ Children[8] = PDEF_PTR(17);
+ Children[9] = PDEF_PTR(18);
+ Children[10] = PDEF_PTR(19);
+ Children[11] = PDEF_PTR(20);
+ Children[12] = PDEF_PTR(21);
+ Children[13] = PDEF_PTR(22);
+
+ ParamDefTable[0].setChildren(Children, 14);
+ }
+
+ // SetChildren for: nodeIndex=1, longName="gridXRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(2);
+ Children[1] = PDEF_PTR(3);
+
+ ParamDefTable[1].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=4, longName="gridYRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(5);
+ Children[1] = PDEF_PTR(6);
+
+ ParamDefTable[4].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=7, longName="gridZRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(8);
+ Children[1] = PDEF_PTR(9);
+
+ ParamDefTable[7].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=11, longName="updatesPerFrameRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(12);
+ Children[1] = PDEF_PTR(13);
+
+ ParamDefTable[11].setChildren(Children, 2);
+ }
+
+ mBuiltFlag = true;
+
+}
+void TurbulenceFSAssetParams_0p0::initStrings(void)
+{
+ collisionFilterDataName.isAllocated = true;
+ collisionFilterDataName.buf = NULL;
+ fieldBoundaryFilterDataName.isAllocated = true;
+ fieldBoundaryFilterDataName.buf = NULL;
+ fieldSamplerFilterDataName.isAllocated = true;
+ fieldSamplerFilterDataName.buf = NULL;
+}
+
+void TurbulenceFSAssetParams_0p0::initDynamicArrays(void)
+{
+}
+
+void TurbulenceFSAssetParams_0p0::initDefaults(void)
+{
+
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+
+ gridXRange.min = 32.0f;
+ gridXRange.max = 64.0f;
+
+
+ gridYRange.min = 32.0f;
+ gridYRange.max = 64.0f;
+
+
+ gridZRange.min = 32.0f;
+ gridZRange.max = 64.0f;
+
+ gridSizeWorld = physx::PxVec3(init(12, 12, 12));
+
+ updatesPerFrameRange.min = 0.0f;
+ updatesPerFrameRange.max = 1.0f;
+
+ fluidVelocityMultiplier = float(1);
+ fluidVelocityClamp = float(1000000);
+ boundaryFadePercentage = float(0.1);
+ boundarySizePercentage = float(1);
+ maxCollidingObjects = uint32_t(32);
+ maxHeatSources = uint32_t(8);
+
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+}
+
+void TurbulenceFSAssetParams_0p0::initReferences(void)
+{
+}
+
+void TurbulenceFSAssetParams_0p0::freeDynamicArrays(void)
+{
+}
+
+void TurbulenceFSAssetParams_0p0::freeStrings(void)
+{
+
+ if (collisionFilterDataName.isAllocated && collisionFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)collisionFilterDataName.buf);
+ }
+
+ if (fieldBoundaryFilterDataName.isAllocated && fieldBoundaryFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)fieldBoundaryFilterDataName.buf);
+ }
+
+ if (fieldSamplerFilterDataName.isAllocated && fieldSamplerFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)fieldSamplerFilterDataName.buf);
+ }
+}
+
+void TurbulenceFSAssetParams_0p0::freeReferences(void)
+{
+}
+
+} // namespace parameterized
+} // namespace nvidia
diff --git a/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_0p1.cpp b/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_0p1.cpp
new file mode 100644
index 00000000..0a9533af
--- /dev/null
+++ b/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_0p1.cpp
@@ -0,0 +1,1443 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and 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.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#include "TurbulenceFSAssetParams_0p1.h"
+#include <string.h>
+#include <stdlib.h>
+
+using namespace NvParameterized;
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+using namespace TurbulenceFSAssetParams_0p1NS;
+
+const char* const TurbulenceFSAssetParams_0p1Factory::vptr =
+ NvParameterized::getVptr<TurbulenceFSAssetParams_0p1, TurbulenceFSAssetParams_0p1::ClassAlignment>();
+
+const uint32_t NumParamDefs = 49;
+static NvParameterized::DefinitionImpl* ParamDefTable; // now allocated in buildTree [NumParamDefs];
+
+
+static const size_t ParamLookupChildrenTable[] =
+{
+ 1, 4, 7, 10, 11, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 35, 36, 37, 43, 48, 2, 3, 5, 6, 8, 9, 12, 13, 32, 33, 34, 38, 39, 40, 41,
+ 42, 44, 45, 46, 47,
+};
+
+#define TENUM(type) nvidia::##type
+#define CHILDREN(index) &ParamLookupChildrenTable[index]
+static const NvParameterized::ParamLookupNode ParamLookupTable[NumParamDefs] =
+{
+ { TYPE_STRUCT, false, 0, CHILDREN(0), 28 },
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->gridXRange), CHILDREN(28), 2 }, // gridXRange
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->min), NULL, 0 }, // gridXRange.min
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->max), NULL, 0 }, // gridXRange.max
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->gridYRange), CHILDREN(30), 2 }, // gridYRange
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->min), NULL, 0 }, // gridYRange.min
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->max), NULL, 0 }, // gridYRange.max
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->gridZRange), CHILDREN(32), 2 }, // gridZRange
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->min), NULL, 0 }, // gridZRange.min
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->max), NULL, 0 }, // gridZRange.max
+ { TYPE_VEC3, false, (size_t)(&((ParametersStruct*)0)->gridSizeWorld), NULL, 0 }, // gridSizeWorld
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->updatesPerFrameRange), CHILDREN(34), 2 }, // updatesPerFrameRange
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->min), NULL, 0 }, // updatesPerFrameRange.min
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->max), NULL, 0 }, // updatesPerFrameRange.max
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fluidVelocityMultiplier), NULL, 0 }, // fluidVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fluidVelocityClamp), NULL, 0 }, // fluidVelocityClamp
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->angularVelocityMultiplier), NULL, 0 }, // angularVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->angularVelocityClamp), NULL, 0 }, // angularVelocityClamp
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->linearVelocityMultiplier), NULL, 0 }, // linearVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->linearVelocityClamp), NULL, 0 }, // linearVelocityClamp
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->boundaryFadePercentage), NULL, 0 }, // boundaryFadePercentage
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->boundarySizePercentage), NULL, 0 }, // boundarySizePercentage
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->collisionFilterDataName), NULL, 0 }, // collisionFilterDataName
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->fieldBoundaryFilterDataName), NULL, 0 }, // fieldBoundaryFilterDataName
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->fieldSamplerFilterDataName), NULL, 0 }, // fieldSamplerFilterDataName
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->maxCollidingObjects), NULL, 0 }, // maxCollidingObjects
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->maxHeatSources), NULL, 0 }, // maxHeatSources
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->dragCoeff), NULL, 0 }, // dragCoeff
+ { TYPE_VEC3, false, (size_t)(&((ParametersStruct*)0)->externalVelocity), NULL, 0 }, // externalVelocity
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fieldVelocityMultiplier), NULL, 0 }, // fieldVelocityMultiplier
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->useHeat), NULL, 0 }, // useHeat
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->heatParams), CHILDREN(36), 3 }, // heatParams
+ { TYPE_F32, false, (size_t)(&((HeatParams_Type*)0)->temperatureBasedForceMultiplier), NULL, 0 }, // heatParams.temperatureBasedForceMultiplier
+ { TYPE_F32, false, (size_t)(&((HeatParams_Type*)0)->ambientTemperature), NULL, 0 }, // heatParams.ambientTemperature
+ { TYPE_VEC3, false, (size_t)(&((HeatParams_Type*)0)->heatForceDirection), NULL, 0 }, // heatParams.heatForceDirection
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->isEnabledOptimizedLOD), NULL, 0 }, // isEnabledOptimizedLOD
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->customLOD), NULL, 0 }, // customLOD
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->lodWeights), CHILDREN(39), 5 }, // lodWeights
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->maxDistance), NULL, 0 }, // lodWeights.maxDistance
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->distanceWeight), NULL, 0 }, // lodWeights.distanceWeight
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->bias), NULL, 0 }, // lodWeights.bias
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->benefitBias), NULL, 0 }, // lodWeights.benefitBias
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->benefitWeight), NULL, 0 }, // lodWeights.benefitWeight
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->noiseParams), CHILDREN(44), 4 }, // noiseParams
+ { TYPE_F32, false, (size_t)(&((NoiseParams_Type*)0)->noiseStrength), NULL, 0 }, // noiseParams.noiseStrength
+ { TYPE_VEC3, false, (size_t)(&((NoiseParams_Type*)0)->noiseSpacePeriod), NULL, 0 }, // noiseParams.noiseSpacePeriod
+ { TYPE_F32, false, (size_t)(&((NoiseParams_Type*)0)->noiseTimePeriod), NULL, 0 }, // noiseParams.noiseTimePeriod
+ { TYPE_U32, false, (size_t)(&((NoiseParams_Type*)0)->noiseOctaves), NULL, 0 }, // noiseParams.noiseOctaves
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->dragCoeffForRigidBody), NULL, 0 }, // dragCoeffForRigidBody
+};
+
+
+bool TurbulenceFSAssetParams_0p1::mBuiltFlag = false;
+NvParameterized::MutexType TurbulenceFSAssetParams_0p1::mBuiltFlagMutex;
+
+TurbulenceFSAssetParams_0p1::TurbulenceFSAssetParams_0p1(NvParameterized::Traits* traits, void* buf, int32_t* refCount) :
+ NvParameters(traits, buf, refCount)
+{
+ //mParameterizedTraits->registerFactory(className(), &TurbulenceFSAssetParams_0p1FactoryInst);
+
+ if (!buf) //Do not init data if it is inplace-deserialized
+ {
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+ initDefaults();
+ }
+}
+
+TurbulenceFSAssetParams_0p1::~TurbulenceFSAssetParams_0p1()
+{
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+}
+
+void TurbulenceFSAssetParams_0p1::destroy()
+{
+ // We cache these fields here to avoid overwrite in destructor
+ bool doDeallocateSelf = mDoDeallocateSelf;
+ NvParameterized::Traits* traits = mParameterizedTraits;
+ int32_t* refCount = mRefCount;
+ void* buf = mBuffer;
+
+ this->~TurbulenceFSAssetParams_0p1();
+
+ NvParameters::destroy(this, traits, doDeallocateSelf, refCount, buf);
+}
+
+const NvParameterized::DefinitionImpl* TurbulenceFSAssetParams_0p1::getParameterDefinitionTree(void)
+{
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+const NvParameterized::DefinitionImpl* TurbulenceFSAssetParams_0p1::getParameterDefinitionTree(void) const
+{
+ TurbulenceFSAssetParams_0p1* tmpParam = const_cast<TurbulenceFSAssetParams_0p1*>(this);
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ tmpParam->buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+NvParameterized::ErrorType TurbulenceFSAssetParams_0p1::getParameterHandle(const char* long_name, Handle& handle) const
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+NvParameterized::ErrorType TurbulenceFSAssetParams_0p1::getParameterHandle(const char* long_name, Handle& handle)
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+void TurbulenceFSAssetParams_0p1::getVarPtr(const Handle& handle, void*& ptr, size_t& offset) const
+{
+ ptr = getVarPtrHelper(&ParamLookupTable[0], const_cast<TurbulenceFSAssetParams_0p1::ParametersStruct*>(&parameters()), handle, offset);
+}
+
+
+/* Dynamic Handle Indices */
+
+void TurbulenceFSAssetParams_0p1::freeParameterDefinitionTable(NvParameterized::Traits* traits)
+{
+ if (!traits)
+ {
+ return;
+ }
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ return;
+ }
+
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+
+ if (!mBuiltFlag)
+ {
+ return;
+ }
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ ParamDefTable[i].~DefinitionImpl();
+ }
+
+ traits->free(ParamDefTable);
+
+ mBuiltFlag = false;
+}
+
+#define PDEF_PTR(index) (&ParamDefTable[index])
+
+void TurbulenceFSAssetParams_0p1::buildTree(void)
+{
+
+ uint32_t allocSize = sizeof(NvParameterized::DefinitionImpl) * NumParamDefs;
+ ParamDefTable = (NvParameterized::DefinitionImpl*)(mParameterizedTraits->alloc(allocSize));
+ memset(ParamDefTable, 0, allocSize);
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ NV_PARAM_PLACEMENT_NEW(ParamDefTable + i, NvParameterized::DefinitionImpl)(*mParameterizedTraits);
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=0, longName=""
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[0];
+ ParamDef->init("", TYPE_STRUCT, "STRUCT", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=1, longName="gridXRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[1];
+ ParamDef->init("gridXRange", TYPE_STRUCT, "rangeStructF32", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of grid cells in X dimension.", true);
+ ParamDefTable[1].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=2, longName="gridXRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[2];
+ ParamDef->init("min", TYPE_F32, NULL, true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=3, longName="gridXRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[3];
+ ParamDef->init("max", TYPE_F32, NULL, true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=4, longName="gridYRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[4];
+ ParamDef->init("gridYRange", TYPE_STRUCT, "rangeStructF32", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of grid cells in Y dimension.", true);
+ ParamDefTable[4].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=5, longName="gridYRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[5];
+ ParamDef->init("min", TYPE_F32, NULL, true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=6, longName="gridYRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[6];
+ ParamDef->init("max", TYPE_F32, NULL, true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=7, longName="gridZRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[7];
+ ParamDef->init("gridZRange", TYPE_STRUCT, "rangeStructF32", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of grid cells in Z dimension.", true);
+ ParamDefTable[7].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=8, longName="gridZRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[8];
+ ParamDef->init("min", TYPE_F32, NULL, true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=9, longName="gridZRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[9];
+ ParamDef->init("max", TYPE_F32, NULL, true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=10, longName="gridSizeWorld"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[10];
+ ParamDef->init("gridSizeWorld", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Size of the grid in world space.", true);
+ ParamDefTable[10].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=11, longName="updatesPerFrameRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[11];
+ ParamDef->init("updatesPerFrameRange", TYPE_STRUCT, "rangeStructF32", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The number of updates per frame.", true);
+ ParamDefTable[11].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=12, longName="updatesPerFrameRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[12];
+ ParamDef->init("min", TYPE_F32, NULL, true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=13, longName="updatesPerFrameRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[13];
+ ParamDef->init("max", TYPE_F32, NULL, true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=14, longName="fluidVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[14];
+ ParamDef->init("fluidVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "A multiplier for the velocity of the grid set by the user.", true);
+ ParamDefTable[14].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=15, longName="fluidVelocityClamp"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[15];
+ ParamDef->init("fluidVelocityClamp", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "A clamp for the velocity of the grid set by the user.", true);
+ ParamDefTable[15].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=16, longName="angularVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[16];
+ ParamDef->init("angularVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a multiplier for the angular velocity set by the user.", true);
+ ParamDefTable[16].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=17, longName="angularVelocityClamp"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[17];
+ ParamDef->init("angularVelocityClamp", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a clamp for the angular velocity set by the user.", true);
+ ParamDefTable[17].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=18, longName="linearVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[18];
+ ParamDef->init("linearVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a multiplier for the linear velocity set by the user.", true);
+ ParamDefTable[18].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=19, longName="linearVelocityClamp"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[19];
+ ParamDef->init("linearVelocityClamp", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a clamp for the linear velocity set by the user.", true);
+ ParamDefTable[19].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=20, longName="boundaryFadePercentage"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[20];
+ ParamDef->init("boundaryFadePercentage", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Percentage of distance from boundary to center where fade out starts.", true);
+ ParamDefTable[20].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=21, longName="boundarySizePercentage"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[21];
+ ParamDef->init("boundarySizePercentage", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Boundary size as the percentage of grid size.", true);
+ ParamDefTable[21].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=22, longName="collisionFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[22];
+ ParamDef->init("collisionFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The filter data (group/groupsMask) name for TurbulenceFS vs PhysX interaction.", true);
+ ParamDefTable[22].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=23, longName="fieldBoundaryFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[23];
+ ParamDef->init("fieldBoundaryFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The filter data name for TurbulenceFS vs Field Boundaries interaction.", true);
+ ParamDefTable[23].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=24, longName="fieldSamplerFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[24];
+ ParamDef->init("fieldSamplerFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The filter data name for TurbulenceFS vs other Field Samplers interaction.", true);
+ ParamDefTable[24].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=25, longName="maxCollidingObjects"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[25];
+ ParamDef->init("maxCollidingObjects", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The maximum number of colliding objects.", true);
+ ParamDefTable[25].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=26, longName="maxHeatSources"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[26];
+ ParamDef->init("maxHeatSources", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The maximum number of heat source.", true);
+ ParamDefTable[26].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=27, longName="dragCoeff"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[27];
+ ParamDef->init("dragCoeff", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Coefficient for deriving drag force from velocity (if equals to zero, direct grid velocity is used).", true);
+ ParamDefTable[27].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=28, longName="externalVelocity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[28];
+ ParamDef->init("externalVelocity", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Allows external actors like wind or explosion to add a single directional velocity to the grid. \n If there are multiple calls to this function are made only the last call is honored (i.e. the velocities are not accumulated).", true);
+ ParamDefTable[28].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=29, longName="fieldVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[29];
+ ParamDef->init("fieldVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "A multiplier for the field velocity.", true);
+ ParamDefTable[29].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=30, longName="useHeat"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[30];
+ ParamDef->init("useHeat", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Enable whether or not to use heat in the simulation.", true);
+ ParamDefTable[30].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=31, longName="heatParams"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[31];
+ ParamDef->init("heatParams", TYPE_STRUCT, "HeatParams", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=32, longName="heatParams.temperatureBasedForceMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[32];
+ ParamDef->init("temperatureBasedForceMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Multiplier for force induced by heat sorce.", true);
+ ParamDefTable[32].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=33, longName="heatParams.ambientTemperature"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[33];
+ ParamDef->init("ambientTemperature", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Environment temperature.", true);
+ ParamDefTable[33].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=34, longName="heatParams.heatForceDirection"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[34];
+ ParamDef->init("heatForceDirection", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Direction of the force induced by heat source.", true);
+ ParamDefTable[34].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=35, longName="isEnabledOptimizedLOD"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[35];
+ ParamDef->init("isEnabledOptimizedLOD", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Enable more aggressive LOD.", true);
+ ParamDefTable[35].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=36, longName="customLOD"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[36];
+ ParamDef->init("customLOD", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Force the current LOD to a particular value, range is 0-1: 1.0f is maximum, 0.0f is minimum simulation quality.", true);
+ ParamDefTable[36].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=37, longName="lodWeights"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[37];
+ ParamDef->init("lodWeights", TYPE_STRUCT, "LODWeights", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=38, longName="lodWeights.maxDistance"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[38];
+ ParamDef->init("maxDistance", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Objects greater than this distance from the player will be culled more aggressively", true);
+ ParamDefTable[38].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=39, longName="lodWeights.distanceWeight"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[39];
+ ParamDef->init("distanceWeight", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Weight given to distance parameter in LOD function", true);
+ ParamDefTable[39].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=40, longName="lodWeights.bias"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[40];
+ ParamDef->init("bias", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "", true);
+ ParamDefTable[40].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=41, longName="lodWeights.benefitBias"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[41];
+ ParamDef->init("benefitBias", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "", true);
+ ParamDefTable[41].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=42, longName="lodWeights.benefitWeight"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[42];
+ ParamDef->init("benefitWeight", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "", true);
+ ParamDefTable[42].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=43, longName="noiseParams"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[43];
+ ParamDef->init("noiseParams", TYPE_STRUCT, "NoiseParams", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=44, longName="noiseParams.noiseStrength"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[44];
+ ParamDef->init("noiseStrength", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The strength of the noise added to the simulation.", true);
+ ParamDefTable[44].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=45, longName="noiseParams.noiseSpacePeriod"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[45];
+ ParamDef->init("noiseSpacePeriod", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Noise period in space.", true);
+ ParamDefTable[45].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=46, longName="noiseParams.noiseTimePeriod"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[46];
+ ParamDef->init("noiseTimePeriod", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Noise time period.", true);
+ ParamDefTable[46].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=47, longName="noiseParams.noiseOctaves"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[47];
+ ParamDef->init("noiseOctaves", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of the noise octaves (more octaves give more turbulent noise, but increase computational time).", true);
+ ParamDefTable[47].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=48, longName="dragCoeffForRigidBody"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[48];
+ ParamDef->init("dragCoeffForRigidBody", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "It is not true drag coef just mixing coefficient for slip and no-slip boundary condition. If set to zero supposed slip boundary condition on rigid bodies. If set to 1 supposed no-slip boundary condition else mixed (partly slip)", true);
+ ParamDefTable[48].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // SetChildren for: nodeIndex=0, longName=""
+ {
+ static Definition* Children[28];
+ Children[0] = PDEF_PTR(1);
+ Children[1] = PDEF_PTR(4);
+ Children[2] = PDEF_PTR(7);
+ Children[3] = PDEF_PTR(10);
+ Children[4] = PDEF_PTR(11);
+ Children[5] = PDEF_PTR(14);
+ Children[6] = PDEF_PTR(15);
+ Children[7] = PDEF_PTR(16);
+ Children[8] = PDEF_PTR(17);
+ Children[9] = PDEF_PTR(18);
+ Children[10] = PDEF_PTR(19);
+ Children[11] = PDEF_PTR(20);
+ Children[12] = PDEF_PTR(21);
+ Children[13] = PDEF_PTR(22);
+ Children[14] = PDEF_PTR(23);
+ Children[15] = PDEF_PTR(24);
+ Children[16] = PDEF_PTR(25);
+ Children[17] = PDEF_PTR(26);
+ Children[18] = PDEF_PTR(27);
+ Children[19] = PDEF_PTR(28);
+ Children[20] = PDEF_PTR(29);
+ Children[21] = PDEF_PTR(30);
+ Children[22] = PDEF_PTR(31);
+ Children[23] = PDEF_PTR(35);
+ Children[24] = PDEF_PTR(36);
+ Children[25] = PDEF_PTR(37);
+ Children[26] = PDEF_PTR(43);
+ Children[27] = PDEF_PTR(48);
+
+ ParamDefTable[0].setChildren(Children, 28);
+ }
+
+ // SetChildren for: nodeIndex=1, longName="gridXRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(2);
+ Children[1] = PDEF_PTR(3);
+
+ ParamDefTable[1].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=4, longName="gridYRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(5);
+ Children[1] = PDEF_PTR(6);
+
+ ParamDefTable[4].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=7, longName="gridZRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(8);
+ Children[1] = PDEF_PTR(9);
+
+ ParamDefTable[7].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=11, longName="updatesPerFrameRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(12);
+ Children[1] = PDEF_PTR(13);
+
+ ParamDefTable[11].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=31, longName="heatParams"
+ {
+ static Definition* Children[3];
+ Children[0] = PDEF_PTR(32);
+ Children[1] = PDEF_PTR(33);
+ Children[2] = PDEF_PTR(34);
+
+ ParamDefTable[31].setChildren(Children, 3);
+ }
+
+ // SetChildren for: nodeIndex=37, longName="lodWeights"
+ {
+ static Definition* Children[5];
+ Children[0] = PDEF_PTR(38);
+ Children[1] = PDEF_PTR(39);
+ Children[2] = PDEF_PTR(40);
+ Children[3] = PDEF_PTR(41);
+ Children[4] = PDEF_PTR(42);
+
+ ParamDefTable[37].setChildren(Children, 5);
+ }
+
+ // SetChildren for: nodeIndex=43, longName="noiseParams"
+ {
+ static Definition* Children[4];
+ Children[0] = PDEF_PTR(44);
+ Children[1] = PDEF_PTR(45);
+ Children[2] = PDEF_PTR(46);
+ Children[3] = PDEF_PTR(47);
+
+ ParamDefTable[43].setChildren(Children, 4);
+ }
+
+ mBuiltFlag = true;
+
+}
+void TurbulenceFSAssetParams_0p1::initStrings(void)
+{
+ collisionFilterDataName.isAllocated = true;
+ collisionFilterDataName.buf = NULL;
+ fieldBoundaryFilterDataName.isAllocated = true;
+ fieldBoundaryFilterDataName.buf = NULL;
+ fieldSamplerFilterDataName.isAllocated = true;
+ fieldSamplerFilterDataName.buf = NULL;
+}
+
+void TurbulenceFSAssetParams_0p1::initDynamicArrays(void)
+{
+}
+
+void TurbulenceFSAssetParams_0p1::initDefaults(void)
+{
+
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+
+ gridXRange.min = 32.0f;
+ gridXRange.max = 64.0f;
+
+
+ gridYRange.min = 32.0f;
+ gridYRange.max = 64.0f;
+
+
+ gridZRange.min = 32.0f;
+ gridZRange.max = 64.0f;
+
+ gridSizeWorld = physx::PxVec3(init(12, 12, 12));
+
+ updatesPerFrameRange.min = 0.0f;
+ updatesPerFrameRange.max = 1.0f;
+
+ fluidVelocityMultiplier = float(1);
+ fluidVelocityClamp = float(1000000);
+ angularVelocityMultiplier = float(1);
+ angularVelocityClamp = float(1000000);
+ linearVelocityMultiplier = float(1);
+ linearVelocityClamp = float(1000000);
+ boundaryFadePercentage = float(0.1);
+ boundarySizePercentage = float(1);
+ maxCollidingObjects = uint32_t(32);
+ maxHeatSources = uint32_t(8);
+ dragCoeff = float(0);
+ externalVelocity = physx::PxVec3(init(0.0, 0.0, 0.0));
+ fieldVelocityMultiplier = float(1);
+ useHeat = bool(false);
+ heatParams.temperatureBasedForceMultiplier = float(0.02);
+ heatParams.ambientTemperature = float(0);
+ heatParams.heatForceDirection = physx::PxVec3(init(0.0, -1.0, 0.0));
+ isEnabledOptimizedLOD = bool(false);
+ customLOD = float(1);
+ lodWeights.maxDistance = float(100);
+ lodWeights.distanceWeight = float(1);
+ lodWeights.bias = float(0);
+ lodWeights.benefitBias = float(0);
+ lodWeights.benefitWeight = float(1);
+ noiseParams.noiseStrength = float(0);
+ noiseParams.noiseSpacePeriod = physx::PxVec3(init(1.0, 1.0, 1.0));
+ noiseParams.noiseTimePeriod = float(1);
+ noiseParams.noiseOctaves = uint32_t(1);
+ dragCoeffForRigidBody = float(0);
+
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+}
+
+void TurbulenceFSAssetParams_0p1::initReferences(void)
+{
+}
+
+void TurbulenceFSAssetParams_0p1::freeDynamicArrays(void)
+{
+}
+
+void TurbulenceFSAssetParams_0p1::freeStrings(void)
+{
+
+ if (collisionFilterDataName.isAllocated && collisionFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)collisionFilterDataName.buf);
+ }
+
+ if (fieldBoundaryFilterDataName.isAllocated && fieldBoundaryFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)fieldBoundaryFilterDataName.buf);
+ }
+
+ if (fieldSamplerFilterDataName.isAllocated && fieldSamplerFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)fieldSamplerFilterDataName.buf);
+ }
+}
+
+void TurbulenceFSAssetParams_0p1::freeReferences(void)
+{
+}
+
+} // namespace parameterized
+} // namespace nvidia
diff --git a/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_0p2.cpp b/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_0p2.cpp
new file mode 100644
index 00000000..f9b8048d
--- /dev/null
+++ b/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_0p2.cpp
@@ -0,0 +1,1492 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and 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.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#include "TurbulenceFSAssetParams_0p2.h"
+#include <string.h>
+#include <stdlib.h>
+
+using namespace NvParameterized;
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+using namespace TurbulenceFSAssetParams_0p2NS;
+
+const char* const TurbulenceFSAssetParams_0p2Factory::vptr =
+ NvParameterized::getVptr<TurbulenceFSAssetParams_0p2, TurbulenceFSAssetParams_0p2::ClassAlignment>();
+
+const uint32_t NumParamDefs = 50;
+static NvParameterized::DefinitionImpl* ParamDefTable; // now allocated in buildTree [NumParamDefs];
+
+
+static const size_t ParamLookupChildrenTable[] =
+{
+ 1, 4, 7, 10, 11, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, 36, 37, 38, 44, 49, 2, 3, 5, 6, 8, 9, 12, 13, 33, 34, 35, 39, 40, 41,
+ 42, 43, 45, 46, 47, 48,
+};
+
+#define TENUM(type) nvidia::##type
+#define CHILDREN(index) &ParamLookupChildrenTable[index]
+static const NvParameterized::ParamLookupNode ParamLookupTable[NumParamDefs] =
+{
+ { TYPE_STRUCT, false, 0, CHILDREN(0), 29 },
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->gridXRange), CHILDREN(29), 2 }, // gridXRange
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->min), NULL, 0 }, // gridXRange.min
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->max), NULL, 0 }, // gridXRange.max
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->gridYRange), CHILDREN(31), 2 }, // gridYRange
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->min), NULL, 0 }, // gridYRange.min
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->max), NULL, 0 }, // gridYRange.max
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->gridZRange), CHILDREN(33), 2 }, // gridZRange
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->min), NULL, 0 }, // gridZRange.min
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->max), NULL, 0 }, // gridZRange.max
+ { TYPE_VEC3, false, (size_t)(&((ParametersStruct*)0)->gridSizeWorld), NULL, 0 }, // gridSizeWorld
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->updatesPerFrameRange), CHILDREN(35), 2 }, // updatesPerFrameRange
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->min), NULL, 0 }, // updatesPerFrameRange.min
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->max), NULL, 0 }, // updatesPerFrameRange.max
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fluidVelocityMultiplier), NULL, 0 }, // fluidVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fluidVelocityClamp), NULL, 0 }, // fluidVelocityClamp
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->angularVelocityMultiplier), NULL, 0 }, // angularVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->angularVelocityClamp), NULL, 0 }, // angularVelocityClamp
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->linearVelocityMultiplier), NULL, 0 }, // linearVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->linearVelocityClamp), NULL, 0 }, // linearVelocityClamp
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->boundaryFadePercentage), NULL, 0 }, // boundaryFadePercentage
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->boundarySizePercentage), NULL, 0 }, // boundarySizePercentage
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->collisionFilterDataName), NULL, 0 }, // collisionFilterDataName
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->fieldBoundaryFilterDataName), NULL, 0 }, // fieldBoundaryFilterDataName
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->fieldSamplerFilterDataName), NULL, 0 }, // fieldSamplerFilterDataName
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->maxCollidingObjects), NULL, 0 }, // maxCollidingObjects
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->maxHeatSources), NULL, 0 }, // maxHeatSources
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->dragCoeff), NULL, 0 }, // dragCoeff
+ { TYPE_VEC3, false, (size_t)(&((ParametersStruct*)0)->externalVelocity), NULL, 0 }, // externalVelocity
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fieldVelocityMultiplier), NULL, 0 }, // fieldVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fieldVelocityWeight), NULL, 0 }, // fieldVelocityWeight
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->useHeat), NULL, 0 }, // useHeat
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->heatParams), CHILDREN(37), 3 }, // heatParams
+ { TYPE_F32, false, (size_t)(&((HeatParams_Type*)0)->temperatureBasedForceMultiplier), NULL, 0 }, // heatParams.temperatureBasedForceMultiplier
+ { TYPE_F32, false, (size_t)(&((HeatParams_Type*)0)->ambientTemperature), NULL, 0 }, // heatParams.ambientTemperature
+ { TYPE_VEC3, false, (size_t)(&((HeatParams_Type*)0)->heatForceDirection), NULL, 0 }, // heatParams.heatForceDirection
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->isEnabledOptimizedLOD), NULL, 0 }, // isEnabledOptimizedLOD
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->customLOD), NULL, 0 }, // customLOD
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->lodWeights), CHILDREN(40), 5 }, // lodWeights
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->maxDistance), NULL, 0 }, // lodWeights.maxDistance
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->distanceWeight), NULL, 0 }, // lodWeights.distanceWeight
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->bias), NULL, 0 }, // lodWeights.bias
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->benefitBias), NULL, 0 }, // lodWeights.benefitBias
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->benefitWeight), NULL, 0 }, // lodWeights.benefitWeight
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->noiseParams), CHILDREN(45), 4 }, // noiseParams
+ { TYPE_F32, false, (size_t)(&((NoiseParams_Type*)0)->noiseStrength), NULL, 0 }, // noiseParams.noiseStrength
+ { TYPE_VEC3, false, (size_t)(&((NoiseParams_Type*)0)->noiseSpacePeriod), NULL, 0 }, // noiseParams.noiseSpacePeriod
+ { TYPE_F32, false, (size_t)(&((NoiseParams_Type*)0)->noiseTimePeriod), NULL, 0 }, // noiseParams.noiseTimePeriod
+ { TYPE_U32, false, (size_t)(&((NoiseParams_Type*)0)->noiseOctaves), NULL, 0 }, // noiseParams.noiseOctaves
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->dragCoeffForRigidBody), NULL, 0 }, // dragCoeffForRigidBody
+};
+
+
+bool TurbulenceFSAssetParams_0p2::mBuiltFlag = false;
+NvParameterized::MutexType TurbulenceFSAssetParams_0p2::mBuiltFlagMutex;
+
+TurbulenceFSAssetParams_0p2::TurbulenceFSAssetParams_0p2(NvParameterized::Traits* traits, void* buf, int32_t* refCount) :
+ NvParameters(traits, buf, refCount)
+{
+ //mParameterizedTraits->registerFactory(className(), &TurbulenceFSAssetParams_0p2FactoryInst);
+
+ if (!buf) //Do not init data if it is inplace-deserialized
+ {
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+ initDefaults();
+ }
+}
+
+TurbulenceFSAssetParams_0p2::~TurbulenceFSAssetParams_0p2()
+{
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+}
+
+void TurbulenceFSAssetParams_0p2::destroy()
+{
+ // We cache these fields here to avoid overwrite in destructor
+ bool doDeallocateSelf = mDoDeallocateSelf;
+ NvParameterized::Traits* traits = mParameterizedTraits;
+ int32_t* refCount = mRefCount;
+ void* buf = mBuffer;
+
+ this->~TurbulenceFSAssetParams_0p2();
+
+ NvParameters::destroy(this, traits, doDeallocateSelf, refCount, buf);
+}
+
+const NvParameterized::DefinitionImpl* TurbulenceFSAssetParams_0p2::getParameterDefinitionTree(void)
+{
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+const NvParameterized::DefinitionImpl* TurbulenceFSAssetParams_0p2::getParameterDefinitionTree(void) const
+{
+ TurbulenceFSAssetParams_0p2* tmpParam = const_cast<TurbulenceFSAssetParams_0p2*>(this);
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ tmpParam->buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+NvParameterized::ErrorType TurbulenceFSAssetParams_0p2::getParameterHandle(const char* long_name, Handle& handle) const
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+NvParameterized::ErrorType TurbulenceFSAssetParams_0p2::getParameterHandle(const char* long_name, Handle& handle)
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+void TurbulenceFSAssetParams_0p2::getVarPtr(const Handle& handle, void*& ptr, size_t& offset) const
+{
+ ptr = getVarPtrHelper(&ParamLookupTable[0], const_cast<TurbulenceFSAssetParams_0p2::ParametersStruct*>(&parameters()), handle, offset);
+}
+
+
+/* Dynamic Handle Indices */
+
+void TurbulenceFSAssetParams_0p2::freeParameterDefinitionTable(NvParameterized::Traits* traits)
+{
+ if (!traits)
+ {
+ return;
+ }
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ return;
+ }
+
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+
+ if (!mBuiltFlag)
+ {
+ return;
+ }
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ ParamDefTable[i].~DefinitionImpl();
+ }
+
+ traits->free(ParamDefTable);
+
+ mBuiltFlag = false;
+}
+
+#define PDEF_PTR(index) (&ParamDefTable[index])
+
+void TurbulenceFSAssetParams_0p2::buildTree(void)
+{
+
+ uint32_t allocSize = sizeof(NvParameterized::DefinitionImpl) * NumParamDefs;
+ ParamDefTable = (NvParameterized::DefinitionImpl*)(mParameterizedTraits->alloc(allocSize));
+ memset(ParamDefTable, 0, allocSize);
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ NV_PARAM_PLACEMENT_NEW(ParamDefTable + i, NvParameterized::DefinitionImpl)(*mParameterizedTraits);
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=0, longName=""
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[0];
+ ParamDef->init("", TYPE_STRUCT, "STRUCT", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=1, longName="gridXRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[1];
+ ParamDef->init("gridXRange", TYPE_STRUCT, "rangeStructF32", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of grid cells in X dimension.", true);
+ ParamDefTable[1].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=2, longName="gridXRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[2];
+ ParamDef->init("min", TYPE_F32, NULL, true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=3, longName="gridXRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[3];
+ ParamDef->init("max", TYPE_F32, NULL, true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=4, longName="gridYRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[4];
+ ParamDef->init("gridYRange", TYPE_STRUCT, "rangeStructF32", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of grid cells in Y dimension.", true);
+ ParamDefTable[4].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=5, longName="gridYRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[5];
+ ParamDef->init("min", TYPE_F32, NULL, true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=6, longName="gridYRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[6];
+ ParamDef->init("max", TYPE_F32, NULL, true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=7, longName="gridZRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[7];
+ ParamDef->init("gridZRange", TYPE_STRUCT, "rangeStructF32", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of grid cells in Z dimension.", true);
+ ParamDefTable[7].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=8, longName="gridZRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[8];
+ ParamDef->init("min", TYPE_F32, NULL, true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=9, longName="gridZRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[9];
+ ParamDef->init("max", TYPE_F32, NULL, true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=10, longName="gridSizeWorld"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[10];
+ ParamDef->init("gridSizeWorld", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Size of the grid in world space.", true);
+ ParamDefTable[10].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=11, longName="updatesPerFrameRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[11];
+ ParamDef->init("updatesPerFrameRange", TYPE_STRUCT, "rangeStructF32", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The number of updates per frame.", true);
+ ParamDefTable[11].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=12, longName="updatesPerFrameRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[12];
+ ParamDef->init("min", TYPE_F32, NULL, true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=13, longName="updatesPerFrameRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[13];
+ ParamDef->init("max", TYPE_F32, NULL, true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=14, longName="fluidVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[14];
+ ParamDef->init("fluidVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "A multiplier for the velocity of the grid set by the user.", true);
+ ParamDefTable[14].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=15, longName="fluidVelocityClamp"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[15];
+ ParamDef->init("fluidVelocityClamp", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "A clamp for the velocity of the grid set by the user.", true);
+ ParamDefTable[15].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=16, longName="angularVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[16];
+ ParamDef->init("angularVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a multiplier for the angular velocity set by the user.", true);
+ ParamDefTable[16].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=17, longName="angularVelocityClamp"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[17];
+ ParamDef->init("angularVelocityClamp", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a clamp for the angular velocity set by the user.", true);
+ ParamDefTable[17].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=18, longName="linearVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[18];
+ ParamDef->init("linearVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a multiplier for the linear velocity set by the user.", true);
+ ParamDefTable[18].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=19, longName="linearVelocityClamp"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[19];
+ ParamDef->init("linearVelocityClamp", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a clamp for the linear velocity set by the user.", true);
+ ParamDefTable[19].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=20, longName="boundaryFadePercentage"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[20];
+ ParamDef->init("boundaryFadePercentage", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[20].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Percentage of distance from boundary to center where fade out starts.", true);
+ ParamDefTable[20].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=21, longName="boundarySizePercentage"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[21];
+ ParamDef->init("boundarySizePercentage", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[21].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Boundary size as the percentage of grid size.", true);
+ ParamDefTable[21].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=22, longName="collisionFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[22];
+ ParamDef->init("collisionFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The filter data (group/groupsMask) name for TurbulenceFS vs PhysX interaction.", true);
+ ParamDefTable[22].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=23, longName="fieldBoundaryFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[23];
+ ParamDef->init("fieldBoundaryFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The filter data name for TurbulenceFS vs Field Boundaries interaction.", true);
+ ParamDefTable[23].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=24, longName="fieldSamplerFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[24];
+ ParamDef->init("fieldSamplerFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The filter data name for TurbulenceFS vs other Field Samplers interaction.", true);
+ ParamDefTable[24].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=25, longName="maxCollidingObjects"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[25];
+ ParamDef->init("maxCollidingObjects", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The maximum number of colliding objects.", true);
+ ParamDefTable[25].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=26, longName="maxHeatSources"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[26];
+ ParamDef->init("maxHeatSources", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The maximum number of heat source.", true);
+ ParamDefTable[26].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=27, longName="dragCoeff"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[27];
+ ParamDef->init("dragCoeff", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Coefficient for deriving drag force from velocity (if equals to zero, direct grid velocity is used).", true);
+ ParamDefTable[27].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=28, longName="externalVelocity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[28];
+ ParamDef->init("externalVelocity", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Allows external actors like wind or explosion to add a single directional velocity to the grid. \n If there are multiple calls to this function are made only the last call is honored (i.e. the velocities are not accumulated).", true);
+ ParamDefTable[28].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=29, longName="fieldVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[29];
+ ParamDef->init("fieldVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "A multiplier for the field velocity.", true);
+ ParamDefTable[29].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=30, longName="fieldVelocityWeight"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[30];
+ ParamDef->init("fieldVelocityWeight", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[30].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "A weight for the field velocity. Controls how strongly the field velocity affects particles", true);
+ ParamDefTable[30].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=31, longName="useHeat"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[31];
+ ParamDef->init("useHeat", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Enable whether or not to use heat in the simulation.", true);
+ ParamDefTable[31].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=32, longName="heatParams"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[32];
+ ParamDef->init("heatParams", TYPE_STRUCT, "HeatParams", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=33, longName="heatParams.temperatureBasedForceMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[33];
+ ParamDef->init("temperatureBasedForceMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Multiplier for force induced by heat sorce.", true);
+ ParamDefTable[33].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=34, longName="heatParams.ambientTemperature"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[34];
+ ParamDef->init("ambientTemperature", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Environment temperature.", true);
+ ParamDefTable[34].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=35, longName="heatParams.heatForceDirection"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[35];
+ ParamDef->init("heatForceDirection", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Direction of the force induced by heat source.", true);
+ ParamDefTable[35].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=36, longName="isEnabledOptimizedLOD"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[36];
+ ParamDef->init("isEnabledOptimizedLOD", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Enable more aggressive LOD.", true);
+ ParamDefTable[36].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=37, longName="customLOD"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[37];
+ ParamDef->init("customLOD", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Force the current LOD to a particular value, range is 0-1: 1.0f is maximum, 0.0f is minimum simulation quality.", true);
+ ParamDefTable[37].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=38, longName="lodWeights"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[38];
+ ParamDef->init("lodWeights", TYPE_STRUCT, "LODWeights", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=39, longName="lodWeights.maxDistance"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[39];
+ ParamDef->init("maxDistance", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Objects greater than this distance from the player will be culled more aggressively", true);
+ ParamDefTable[39].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=40, longName="lodWeights.distanceWeight"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[40];
+ ParamDef->init("distanceWeight", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Weight given to distance parameter in LOD function", true);
+ ParamDefTable[40].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=41, longName="lodWeights.bias"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[41];
+ ParamDef->init("bias", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "", true);
+ ParamDefTable[41].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=42, longName="lodWeights.benefitBias"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[42];
+ ParamDef->init("benefitBias", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "", true);
+ ParamDefTable[42].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=43, longName="lodWeights.benefitWeight"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[43];
+ ParamDef->init("benefitWeight", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "", true);
+ ParamDefTable[43].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=44, longName="noiseParams"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[44];
+ ParamDef->init("noiseParams", TYPE_STRUCT, "NoiseParams", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=45, longName="noiseParams.noiseStrength"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[45];
+ ParamDef->init("noiseStrength", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The strength of the noise added to the simulation.", true);
+ ParamDefTable[45].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=46, longName="noiseParams.noiseSpacePeriod"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[46];
+ ParamDef->init("noiseSpacePeriod", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Noise period in space.", true);
+ ParamDefTable[46].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=47, longName="noiseParams.noiseTimePeriod"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[47];
+ ParamDef->init("noiseTimePeriod", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Noise time period.", true);
+ ParamDefTable[47].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=48, longName="noiseParams.noiseOctaves"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[48];
+ ParamDef->init("noiseOctaves", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of the noise octaves (more octaves give more turbulent noise, but increase computational time).", true);
+ ParamDefTable[48].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=49, longName="dragCoeffForRigidBody"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[49];
+ ParamDef->init("dragCoeffForRigidBody", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "It is not true drag coef just mixing coefficient for slip and no-slip boundary condition. If set to zero supposed slip boundary condition on rigid bodies. If set to 1 supposed no-slip boundary condition else mixed (partly slip)", true);
+ ParamDefTable[49].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // SetChildren for: nodeIndex=0, longName=""
+ {
+ static Definition* Children[29];
+ Children[0] = PDEF_PTR(1);
+ Children[1] = PDEF_PTR(4);
+ Children[2] = PDEF_PTR(7);
+ Children[3] = PDEF_PTR(10);
+ Children[4] = PDEF_PTR(11);
+ Children[5] = PDEF_PTR(14);
+ Children[6] = PDEF_PTR(15);
+ Children[7] = PDEF_PTR(16);
+ Children[8] = PDEF_PTR(17);
+ Children[9] = PDEF_PTR(18);
+ Children[10] = PDEF_PTR(19);
+ Children[11] = PDEF_PTR(20);
+ Children[12] = PDEF_PTR(21);
+ Children[13] = PDEF_PTR(22);
+ Children[14] = PDEF_PTR(23);
+ Children[15] = PDEF_PTR(24);
+ Children[16] = PDEF_PTR(25);
+ Children[17] = PDEF_PTR(26);
+ Children[18] = PDEF_PTR(27);
+ Children[19] = PDEF_PTR(28);
+ Children[20] = PDEF_PTR(29);
+ Children[21] = PDEF_PTR(30);
+ Children[22] = PDEF_PTR(31);
+ Children[23] = PDEF_PTR(32);
+ Children[24] = PDEF_PTR(36);
+ Children[25] = PDEF_PTR(37);
+ Children[26] = PDEF_PTR(38);
+ Children[27] = PDEF_PTR(44);
+ Children[28] = PDEF_PTR(49);
+
+ ParamDefTable[0].setChildren(Children, 29);
+ }
+
+ // SetChildren for: nodeIndex=1, longName="gridXRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(2);
+ Children[1] = PDEF_PTR(3);
+
+ ParamDefTable[1].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=4, longName="gridYRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(5);
+ Children[1] = PDEF_PTR(6);
+
+ ParamDefTable[4].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=7, longName="gridZRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(8);
+ Children[1] = PDEF_PTR(9);
+
+ ParamDefTable[7].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=11, longName="updatesPerFrameRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(12);
+ Children[1] = PDEF_PTR(13);
+
+ ParamDefTable[11].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=32, longName="heatParams"
+ {
+ static Definition* Children[3];
+ Children[0] = PDEF_PTR(33);
+ Children[1] = PDEF_PTR(34);
+ Children[2] = PDEF_PTR(35);
+
+ ParamDefTable[32].setChildren(Children, 3);
+ }
+
+ // SetChildren for: nodeIndex=38, longName="lodWeights"
+ {
+ static Definition* Children[5];
+ Children[0] = PDEF_PTR(39);
+ Children[1] = PDEF_PTR(40);
+ Children[2] = PDEF_PTR(41);
+ Children[3] = PDEF_PTR(42);
+ Children[4] = PDEF_PTR(43);
+
+ ParamDefTable[38].setChildren(Children, 5);
+ }
+
+ // SetChildren for: nodeIndex=44, longName="noiseParams"
+ {
+ static Definition* Children[4];
+ Children[0] = PDEF_PTR(45);
+ Children[1] = PDEF_PTR(46);
+ Children[2] = PDEF_PTR(47);
+ Children[3] = PDEF_PTR(48);
+
+ ParamDefTable[44].setChildren(Children, 4);
+ }
+
+ mBuiltFlag = true;
+
+}
+void TurbulenceFSAssetParams_0p2::initStrings(void)
+{
+ collisionFilterDataName.isAllocated = true;
+ collisionFilterDataName.buf = NULL;
+ fieldBoundaryFilterDataName.isAllocated = true;
+ fieldBoundaryFilterDataName.buf = NULL;
+ fieldSamplerFilterDataName.isAllocated = true;
+ fieldSamplerFilterDataName.buf = NULL;
+}
+
+void TurbulenceFSAssetParams_0p2::initDynamicArrays(void)
+{
+}
+
+void TurbulenceFSAssetParams_0p2::initDefaults(void)
+{
+
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+
+ gridXRange.min = 32.0f;
+ gridXRange.max = 64.0f;
+
+
+ gridYRange.min = 32.0f;
+ gridYRange.max = 64.0f;
+
+
+ gridZRange.min = 32.0f;
+ gridZRange.max = 64.0f;
+
+ gridSizeWorld = physx::PxVec3(init(12, 12, 12));
+
+ updatesPerFrameRange.min = 0.0f;
+ updatesPerFrameRange.max = 1.0f;
+
+ fluidVelocityMultiplier = float(1);
+ fluidVelocityClamp = float(1000000);
+ angularVelocityMultiplier = float(1);
+ angularVelocityClamp = float(1000000);
+ linearVelocityMultiplier = float(1);
+ linearVelocityClamp = float(1000000);
+ boundaryFadePercentage = float(0.1);
+ boundarySizePercentage = float(1);
+ maxCollidingObjects = uint32_t(32);
+ maxHeatSources = uint32_t(8);
+ dragCoeff = float(0);
+ externalVelocity = physx::PxVec3(init(0.0, 0.0, 0.0));
+ fieldVelocityMultiplier = float(1);
+ fieldVelocityWeight = float(1);
+ useHeat = bool(false);
+ heatParams.temperatureBasedForceMultiplier = float(0.02);
+ heatParams.ambientTemperature = float(0);
+ heatParams.heatForceDirection = physx::PxVec3(init(0.0, -1.0, 0.0));
+ isEnabledOptimizedLOD = bool(false);
+ customLOD = float(1);
+ lodWeights.maxDistance = float(100);
+ lodWeights.distanceWeight = float(1);
+ lodWeights.bias = float(0);
+ lodWeights.benefitBias = float(0);
+ lodWeights.benefitWeight = float(1);
+ noiseParams.noiseStrength = float(0);
+ noiseParams.noiseSpacePeriod = physx::PxVec3(init(1.0, 1.0, 1.0));
+ noiseParams.noiseTimePeriod = float(1);
+ noiseParams.noiseOctaves = uint32_t(1);
+ dragCoeffForRigidBody = float(0);
+
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+}
+
+void TurbulenceFSAssetParams_0p2::initReferences(void)
+{
+}
+
+void TurbulenceFSAssetParams_0p2::freeDynamicArrays(void)
+{
+}
+
+void TurbulenceFSAssetParams_0p2::freeStrings(void)
+{
+
+ if (collisionFilterDataName.isAllocated && collisionFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)collisionFilterDataName.buf);
+ }
+
+ if (fieldBoundaryFilterDataName.isAllocated && fieldBoundaryFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)fieldBoundaryFilterDataName.buf);
+ }
+
+ if (fieldSamplerFilterDataName.isAllocated && fieldSamplerFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)fieldSamplerFilterDataName.buf);
+ }
+}
+
+void TurbulenceFSAssetParams_0p2::freeReferences(void)
+{
+}
+
+} // namespace parameterized
+} // namespace nvidia
diff --git a/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_0p3.cpp b/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_0p3.cpp
new file mode 100644
index 00000000..90d01120
--- /dev/null
+++ b/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_0p3.cpp
@@ -0,0 +1,1517 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and 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.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#include "TurbulenceFSAssetParams_0p3.h"
+#include <string.h>
+#include <stdlib.h>
+
+using namespace NvParameterized;
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+using namespace TurbulenceFSAssetParams_0p3NS;
+
+const char* const TurbulenceFSAssetParams_0p3Factory::vptr =
+ NvParameterized::getVptr<TurbulenceFSAssetParams_0p3, TurbulenceFSAssetParams_0p3::ClassAlignment>();
+
+const uint32_t NumParamDefs = 51;
+static NvParameterized::DefinitionImpl* ParamDefTable; // now allocated in buildTree [NumParamDefs];
+
+
+static const size_t ParamLookupChildrenTable[] =
+{
+ 1, 4, 7, 10, 11, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, 36, 37, 38, 44, 49, 50, 2, 3, 5, 6, 8, 9, 12, 13, 33, 34, 35, 39, 40,
+ 41, 42, 43, 45, 46, 47, 48,
+};
+
+#define TENUM(type) nvidia::##type
+#define CHILDREN(index) &ParamLookupChildrenTable[index]
+static const NvParameterized::ParamLookupNode ParamLookupTable[NumParamDefs] =
+{
+ { TYPE_STRUCT, false, 0, CHILDREN(0), 30 },
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->gridXRange), CHILDREN(30), 2 }, // gridXRange
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->min), NULL, 0 }, // gridXRange.min
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->max), NULL, 0 }, // gridXRange.max
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->gridYRange), CHILDREN(32), 2 }, // gridYRange
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->min), NULL, 0 }, // gridYRange.min
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->max), NULL, 0 }, // gridYRange.max
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->gridZRange), CHILDREN(34), 2 }, // gridZRange
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->min), NULL, 0 }, // gridZRange.min
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->max), NULL, 0 }, // gridZRange.max
+ { TYPE_VEC3, false, (size_t)(&((ParametersStruct*)0)->gridSizeWorld), NULL, 0 }, // gridSizeWorld
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->updatesPerFrameRange), CHILDREN(36), 2 }, // updatesPerFrameRange
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->min), NULL, 0 }, // updatesPerFrameRange.min
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->max), NULL, 0 }, // updatesPerFrameRange.max
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fluidVelocityMultiplier), NULL, 0 }, // fluidVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fluidVelocityClamp), NULL, 0 }, // fluidVelocityClamp
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->angularVelocityMultiplier), NULL, 0 }, // angularVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->angularVelocityClamp), NULL, 0 }, // angularVelocityClamp
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->linearVelocityMultiplier), NULL, 0 }, // linearVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->linearVelocityClamp), NULL, 0 }, // linearVelocityClamp
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->boundaryFadePercentage), NULL, 0 }, // boundaryFadePercentage
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->boundarySizePercentage), NULL, 0 }, // boundarySizePercentage
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->collisionFilterDataName), NULL, 0 }, // collisionFilterDataName
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->fieldBoundaryFilterDataName), NULL, 0 }, // fieldBoundaryFilterDataName
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->fieldSamplerFilterDataName), NULL, 0 }, // fieldSamplerFilterDataName
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->maxCollidingObjects), NULL, 0 }, // maxCollidingObjects
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->maxHeatSources), NULL, 0 }, // maxHeatSources
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->dragCoeff), NULL, 0 }, // dragCoeff
+ { TYPE_VEC3, false, (size_t)(&((ParametersStruct*)0)->externalVelocity), NULL, 0 }, // externalVelocity
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fieldVelocityMultiplier), NULL, 0 }, // fieldVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fieldVelocityWeight), NULL, 0 }, // fieldVelocityWeight
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->useHeat), NULL, 0 }, // useHeat
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->heatParams), CHILDREN(38), 3 }, // heatParams
+ { TYPE_F32, false, (size_t)(&((HeatParams_Type*)0)->temperatureBasedForceMultiplier), NULL, 0 }, // heatParams.temperatureBasedForceMultiplier
+ { TYPE_F32, false, (size_t)(&((HeatParams_Type*)0)->ambientTemperature), NULL, 0 }, // heatParams.ambientTemperature
+ { TYPE_VEC3, false, (size_t)(&((HeatParams_Type*)0)->heatForceDirection), NULL, 0 }, // heatParams.heatForceDirection
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->isEnabledOptimizedLOD), NULL, 0 }, // isEnabledOptimizedLOD
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->customLOD), NULL, 0 }, // customLOD
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->lodWeights), CHILDREN(41), 5 }, // lodWeights
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->maxDistance), NULL, 0 }, // lodWeights.maxDistance
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->distanceWeight), NULL, 0 }, // lodWeights.distanceWeight
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->bias), NULL, 0 }, // lodWeights.bias
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->benefitBias), NULL, 0 }, // lodWeights.benefitBias
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->benefitWeight), NULL, 0 }, // lodWeights.benefitWeight
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->noiseParams), CHILDREN(46), 4 }, // noiseParams
+ { TYPE_F32, false, (size_t)(&((NoiseParams_Type*)0)->noiseStrength), NULL, 0 }, // noiseParams.noiseStrength
+ { TYPE_VEC3, false, (size_t)(&((NoiseParams_Type*)0)->noiseSpacePeriod), NULL, 0 }, // noiseParams.noiseSpacePeriod
+ { TYPE_F32, false, (size_t)(&((NoiseParams_Type*)0)->noiseTimePeriod), NULL, 0 }, // noiseParams.noiseTimePeriod
+ { TYPE_U32, false, (size_t)(&((NoiseParams_Type*)0)->noiseOctaves), NULL, 0 }, // noiseParams.noiseOctaves
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->dragCoeffForRigidBody), NULL, 0 }, // dragCoeffForRigidBody
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fluidViscosity), NULL, 0 }, // fluidViscosity
+};
+
+
+bool TurbulenceFSAssetParams_0p3::mBuiltFlag = false;
+NvParameterized::MutexType TurbulenceFSAssetParams_0p3::mBuiltFlagMutex;
+
+TurbulenceFSAssetParams_0p3::TurbulenceFSAssetParams_0p3(NvParameterized::Traits* traits, void* buf, int32_t* refCount) :
+ NvParameters(traits, buf, refCount)
+{
+ //mParameterizedTraits->registerFactory(className(), &TurbulenceFSAssetParams_0p3FactoryInst);
+
+ if (!buf) //Do not init data if it is inplace-deserialized
+ {
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+ initDefaults();
+ }
+}
+
+TurbulenceFSAssetParams_0p3::~TurbulenceFSAssetParams_0p3()
+{
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+}
+
+void TurbulenceFSAssetParams_0p3::destroy()
+{
+ // We cache these fields here to avoid overwrite in destructor
+ bool doDeallocateSelf = mDoDeallocateSelf;
+ NvParameterized::Traits* traits = mParameterizedTraits;
+ int32_t* refCount = mRefCount;
+ void* buf = mBuffer;
+
+ this->~TurbulenceFSAssetParams_0p3();
+
+ NvParameters::destroy(this, traits, doDeallocateSelf, refCount, buf);
+}
+
+const NvParameterized::DefinitionImpl* TurbulenceFSAssetParams_0p3::getParameterDefinitionTree(void)
+{
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+const NvParameterized::DefinitionImpl* TurbulenceFSAssetParams_0p3::getParameterDefinitionTree(void) const
+{
+ TurbulenceFSAssetParams_0p3* tmpParam = const_cast<TurbulenceFSAssetParams_0p3*>(this);
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ tmpParam->buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+NvParameterized::ErrorType TurbulenceFSAssetParams_0p3::getParameterHandle(const char* long_name, Handle& handle) const
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+NvParameterized::ErrorType TurbulenceFSAssetParams_0p3::getParameterHandle(const char* long_name, Handle& handle)
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+void TurbulenceFSAssetParams_0p3::getVarPtr(const Handle& handle, void*& ptr, size_t& offset) const
+{
+ ptr = getVarPtrHelper(&ParamLookupTable[0], const_cast<TurbulenceFSAssetParams_0p3::ParametersStruct*>(&parameters()), handle, offset);
+}
+
+
+/* Dynamic Handle Indices */
+
+void TurbulenceFSAssetParams_0p3::freeParameterDefinitionTable(NvParameterized::Traits* traits)
+{
+ if (!traits)
+ {
+ return;
+ }
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ return;
+ }
+
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+
+ if (!mBuiltFlag)
+ {
+ return;
+ }
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ ParamDefTable[i].~DefinitionImpl();
+ }
+
+ traits->free(ParamDefTable);
+
+ mBuiltFlag = false;
+}
+
+#define PDEF_PTR(index) (&ParamDefTable[index])
+
+void TurbulenceFSAssetParams_0p3::buildTree(void)
+{
+
+ uint32_t allocSize = sizeof(NvParameterized::DefinitionImpl) * NumParamDefs;
+ ParamDefTable = (NvParameterized::DefinitionImpl*)(mParameterizedTraits->alloc(allocSize));
+ memset(ParamDefTable, 0, allocSize);
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ NV_PARAM_PLACEMENT_NEW(ParamDefTable + i, NvParameterized::DefinitionImpl)(*mParameterizedTraits);
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=0, longName=""
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[0];
+ ParamDef->init("", TYPE_STRUCT, "STRUCT", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=1, longName="gridXRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[1];
+ ParamDef->init("gridXRange", TYPE_STRUCT, "rangeStructF32", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of grid cells in X dimension.", true);
+ ParamDefTable[1].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=2, longName="gridXRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[2];
+ ParamDef->init("min", TYPE_F32, NULL, true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=3, longName="gridXRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[3];
+ ParamDef->init("max", TYPE_F32, NULL, true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=4, longName="gridYRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[4];
+ ParamDef->init("gridYRange", TYPE_STRUCT, "rangeStructF32", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of grid cells in Y dimension.", true);
+ ParamDefTable[4].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=5, longName="gridYRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[5];
+ ParamDef->init("min", TYPE_F32, NULL, true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=6, longName="gridYRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[6];
+ ParamDef->init("max", TYPE_F32, NULL, true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=7, longName="gridZRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[7];
+ ParamDef->init("gridZRange", TYPE_STRUCT, "rangeStructF32", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of grid cells in Z dimension.", true);
+ ParamDefTable[7].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=8, longName="gridZRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[8];
+ ParamDef->init("min", TYPE_F32, NULL, true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=9, longName="gridZRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[9];
+ ParamDef->init("max", TYPE_F32, NULL, true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=10, longName="gridSizeWorld"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[10];
+ ParamDef->init("gridSizeWorld", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Size of the grid in world space.", true);
+ ParamDefTable[10].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=11, longName="updatesPerFrameRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[11];
+ ParamDef->init("updatesPerFrameRange", TYPE_STRUCT, "rangeStructF32", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The number of updates per frame.", true);
+ ParamDefTable[11].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=12, longName="updatesPerFrameRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[12];
+ ParamDef->init("min", TYPE_F32, NULL, true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=13, longName="updatesPerFrameRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[13];
+ ParamDef->init("max", TYPE_F32, NULL, true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=14, longName="fluidVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[14];
+ ParamDef->init("fluidVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "A multiplier for the velocity of the grid set by the user.", true);
+ ParamDefTable[14].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=15, longName="fluidVelocityClamp"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[15];
+ ParamDef->init("fluidVelocityClamp", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "A clamp for the velocity of the grid set by the user.", true);
+ ParamDefTable[15].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=16, longName="angularVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[16];
+ ParamDef->init("angularVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a multiplier for the angular velocity set by the user.", true);
+ ParamDefTable[16].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=17, longName="angularVelocityClamp"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[17];
+ ParamDef->init("angularVelocityClamp", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a clamp for the angular velocity set by the user.", true);
+ ParamDefTable[17].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=18, longName="linearVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[18];
+ ParamDef->init("linearVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a multiplier for the linear velocity set by the user.", true);
+ ParamDefTable[18].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=19, longName="linearVelocityClamp"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[19];
+ ParamDef->init("linearVelocityClamp", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a clamp for the linear velocity set by the user.", true);
+ ParamDefTable[19].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=20, longName="boundaryFadePercentage"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[20];
+ ParamDef->init("boundaryFadePercentage", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[20].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Percentage of distance from boundary to center where fade out starts.", true);
+ ParamDefTable[20].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=21, longName="boundarySizePercentage"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[21];
+ ParamDef->init("boundarySizePercentage", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[21].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Boundary size as the percentage of grid size.", true);
+ ParamDefTable[21].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=22, longName="collisionFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[22];
+ ParamDef->init("collisionFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The filter data (group/groupsMask) name for TurbulenceFS vs PhysX interaction.", true);
+ ParamDefTable[22].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=23, longName="fieldBoundaryFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[23];
+ ParamDef->init("fieldBoundaryFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The filter data name for TurbulenceFS vs Field Boundaries interaction.", true);
+ ParamDefTable[23].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=24, longName="fieldSamplerFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[24];
+ ParamDef->init("fieldSamplerFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The filter data name for TurbulenceFS vs other Field Samplers interaction.", true);
+ ParamDefTable[24].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=25, longName="maxCollidingObjects"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[25];
+ ParamDef->init("maxCollidingObjects", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The maximum number of colliding objects.", true);
+ ParamDefTable[25].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=26, longName="maxHeatSources"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[26];
+ ParamDef->init("maxHeatSources", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The maximum number of heat source.", true);
+ ParamDefTable[26].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=27, longName="dragCoeff"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[27];
+ ParamDef->init("dragCoeff", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Coefficient for deriving drag force from velocity (if equals to zero, direct grid velocity is used).", true);
+ ParamDefTable[27].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=28, longName="externalVelocity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[28];
+ ParamDef->init("externalVelocity", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Allows external actors like wind or explosion to add a single directional velocity to the grid. \n If there are multiple calls to this function are made only the last call is honored (i.e. the velocities are not accumulated).", true);
+ ParamDefTable[28].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=29, longName="fieldVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[29];
+ ParamDef->init("fieldVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "A multiplier for the field velocity.", true);
+ ParamDefTable[29].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=30, longName="fieldVelocityWeight"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[30];
+ ParamDef->init("fieldVelocityWeight", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[30].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "A weight for the field velocity. Controls how strongly the field velocity affects particles", true);
+ ParamDefTable[30].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=31, longName="useHeat"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[31];
+ ParamDef->init("useHeat", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Enable whether or not to use heat in the simulation.", true);
+ ParamDefTable[31].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=32, longName="heatParams"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[32];
+ ParamDef->init("heatParams", TYPE_STRUCT, "HeatParams", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=33, longName="heatParams.temperatureBasedForceMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[33];
+ ParamDef->init("temperatureBasedForceMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Multiplier for force induced by heat sorce.", true);
+ ParamDefTable[33].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=34, longName="heatParams.ambientTemperature"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[34];
+ ParamDef->init("ambientTemperature", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Environment temperature.", true);
+ ParamDefTable[34].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=35, longName="heatParams.heatForceDirection"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[35];
+ ParamDef->init("heatForceDirection", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Direction of the force induced by heat source.", true);
+ ParamDefTable[35].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=36, longName="isEnabledOptimizedLOD"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[36];
+ ParamDef->init("isEnabledOptimizedLOD", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Enable more aggressive LOD.", true);
+ ParamDefTable[36].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=37, longName="customLOD"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[37];
+ ParamDef->init("customLOD", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Force the current LOD to a particular value, range is 0-1: 1.0f is maximum, 0.0f is minimum simulation quality.", true);
+ ParamDefTable[37].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=38, longName="lodWeights"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[38];
+ ParamDef->init("lodWeights", TYPE_STRUCT, "LODWeights", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=39, longName="lodWeights.maxDistance"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[39];
+ ParamDef->init("maxDistance", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Objects greater than this distance from the player will be culled more aggressively", true);
+ ParamDefTable[39].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=40, longName="lodWeights.distanceWeight"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[40];
+ ParamDef->init("distanceWeight", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Weight given to distance parameter in LOD function", true);
+ ParamDefTable[40].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=41, longName="lodWeights.bias"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[41];
+ ParamDef->init("bias", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "", true);
+ ParamDefTable[41].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=42, longName="lodWeights.benefitBias"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[42];
+ ParamDef->init("benefitBias", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "", true);
+ ParamDefTable[42].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=43, longName="lodWeights.benefitWeight"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[43];
+ ParamDef->init("benefitWeight", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "", true);
+ ParamDefTable[43].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=44, longName="noiseParams"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[44];
+ ParamDef->init("noiseParams", TYPE_STRUCT, "NoiseParams", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=45, longName="noiseParams.noiseStrength"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[45];
+ ParamDef->init("noiseStrength", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The strength of the noise added to the simulation.", true);
+ ParamDefTable[45].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=46, longName="noiseParams.noiseSpacePeriod"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[46];
+ ParamDef->init("noiseSpacePeriod", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Noise period in space.", true);
+ ParamDefTable[46].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=47, longName="noiseParams.noiseTimePeriod"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[47];
+ ParamDef->init("noiseTimePeriod", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Noise time period.", true);
+ ParamDefTable[47].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=48, longName="noiseParams.noiseOctaves"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[48];
+ ParamDef->init("noiseOctaves", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of the noise octaves (more octaves give more turbulent noise, but increase computational time).", true);
+ ParamDefTable[48].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=49, longName="dragCoeffForRigidBody"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[49];
+ ParamDef->init("dragCoeffForRigidBody", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "It is not true drag coef just mixing coefficient for slip and no-slip boundary condition. If set to zero supposed slip boundary condition on rigid bodies. If set to 1 supposed no-slip boundary condition else mixed (partly slip)", true);
+ ParamDefTable[49].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=50, longName="fluidViscosity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[50];
+ ParamDef->init("fluidViscosity", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Viscosity is the coefficient for velocity diffusion. If 0. there is no diffusion.", true);
+ ParamDefTable[50].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // SetChildren for: nodeIndex=0, longName=""
+ {
+ static Definition* Children[30];
+ Children[0] = PDEF_PTR(1);
+ Children[1] = PDEF_PTR(4);
+ Children[2] = PDEF_PTR(7);
+ Children[3] = PDEF_PTR(10);
+ Children[4] = PDEF_PTR(11);
+ Children[5] = PDEF_PTR(14);
+ Children[6] = PDEF_PTR(15);
+ Children[7] = PDEF_PTR(16);
+ Children[8] = PDEF_PTR(17);
+ Children[9] = PDEF_PTR(18);
+ Children[10] = PDEF_PTR(19);
+ Children[11] = PDEF_PTR(20);
+ Children[12] = PDEF_PTR(21);
+ Children[13] = PDEF_PTR(22);
+ Children[14] = PDEF_PTR(23);
+ Children[15] = PDEF_PTR(24);
+ Children[16] = PDEF_PTR(25);
+ Children[17] = PDEF_PTR(26);
+ Children[18] = PDEF_PTR(27);
+ Children[19] = PDEF_PTR(28);
+ Children[20] = PDEF_PTR(29);
+ Children[21] = PDEF_PTR(30);
+ Children[22] = PDEF_PTR(31);
+ Children[23] = PDEF_PTR(32);
+ Children[24] = PDEF_PTR(36);
+ Children[25] = PDEF_PTR(37);
+ Children[26] = PDEF_PTR(38);
+ Children[27] = PDEF_PTR(44);
+ Children[28] = PDEF_PTR(49);
+ Children[29] = PDEF_PTR(50);
+
+ ParamDefTable[0].setChildren(Children, 30);
+ }
+
+ // SetChildren for: nodeIndex=1, longName="gridXRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(2);
+ Children[1] = PDEF_PTR(3);
+
+ ParamDefTable[1].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=4, longName="gridYRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(5);
+ Children[1] = PDEF_PTR(6);
+
+ ParamDefTable[4].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=7, longName="gridZRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(8);
+ Children[1] = PDEF_PTR(9);
+
+ ParamDefTable[7].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=11, longName="updatesPerFrameRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(12);
+ Children[1] = PDEF_PTR(13);
+
+ ParamDefTable[11].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=32, longName="heatParams"
+ {
+ static Definition* Children[3];
+ Children[0] = PDEF_PTR(33);
+ Children[1] = PDEF_PTR(34);
+ Children[2] = PDEF_PTR(35);
+
+ ParamDefTable[32].setChildren(Children, 3);
+ }
+
+ // SetChildren for: nodeIndex=38, longName="lodWeights"
+ {
+ static Definition* Children[5];
+ Children[0] = PDEF_PTR(39);
+ Children[1] = PDEF_PTR(40);
+ Children[2] = PDEF_PTR(41);
+ Children[3] = PDEF_PTR(42);
+ Children[4] = PDEF_PTR(43);
+
+ ParamDefTable[38].setChildren(Children, 5);
+ }
+
+ // SetChildren for: nodeIndex=44, longName="noiseParams"
+ {
+ static Definition* Children[4];
+ Children[0] = PDEF_PTR(45);
+ Children[1] = PDEF_PTR(46);
+ Children[2] = PDEF_PTR(47);
+ Children[3] = PDEF_PTR(48);
+
+ ParamDefTable[44].setChildren(Children, 4);
+ }
+
+ mBuiltFlag = true;
+
+}
+void TurbulenceFSAssetParams_0p3::initStrings(void)
+{
+ collisionFilterDataName.isAllocated = true;
+ collisionFilterDataName.buf = NULL;
+ fieldBoundaryFilterDataName.isAllocated = true;
+ fieldBoundaryFilterDataName.buf = NULL;
+ fieldSamplerFilterDataName.isAllocated = true;
+ fieldSamplerFilterDataName.buf = NULL;
+}
+
+void TurbulenceFSAssetParams_0p3::initDynamicArrays(void)
+{
+}
+
+void TurbulenceFSAssetParams_0p3::initDefaults(void)
+{
+
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+
+ gridXRange.min = 32.0f;
+ gridXRange.max = 64.0f;
+
+
+ gridYRange.min = 32.0f;
+ gridYRange.max = 64.0f;
+
+
+ gridZRange.min = 32.0f;
+ gridZRange.max = 64.0f;
+
+ gridSizeWorld = physx::PxVec3(init(12, 12, 12));
+
+ updatesPerFrameRange.min = 0.0f;
+ updatesPerFrameRange.max = 1.0f;
+
+ fluidVelocityMultiplier = float(1);
+ fluidVelocityClamp = float(1000000);
+ angularVelocityMultiplier = float(1);
+ angularVelocityClamp = float(1000000);
+ linearVelocityMultiplier = float(1);
+ linearVelocityClamp = float(1000000);
+ boundaryFadePercentage = float(0.1);
+ boundarySizePercentage = float(1);
+ maxCollidingObjects = uint32_t(32);
+ maxHeatSources = uint32_t(8);
+ dragCoeff = float(0);
+ externalVelocity = physx::PxVec3(init(0.0, 0.0, 0.0));
+ fieldVelocityMultiplier = float(1);
+ fieldVelocityWeight = float(1);
+ useHeat = bool(false);
+ heatParams.temperatureBasedForceMultiplier = float(0.02);
+ heatParams.ambientTemperature = float(0);
+ heatParams.heatForceDirection = physx::PxVec3(init(0.0, -1.0, 0.0));
+ isEnabledOptimizedLOD = bool(false);
+ customLOD = float(1);
+ lodWeights.maxDistance = float(100);
+ lodWeights.distanceWeight = float(1);
+ lodWeights.bias = float(0);
+ lodWeights.benefitBias = float(0);
+ lodWeights.benefitWeight = float(1);
+ noiseParams.noiseStrength = float(0);
+ noiseParams.noiseSpacePeriod = physx::PxVec3(init(1.0, 1.0, 1.0));
+ noiseParams.noiseTimePeriod = float(1);
+ noiseParams.noiseOctaves = uint32_t(1);
+ dragCoeffForRigidBody = float(0);
+ fluidViscosity = float(0);
+
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+}
+
+void TurbulenceFSAssetParams_0p3::initReferences(void)
+{
+}
+
+void TurbulenceFSAssetParams_0p3::freeDynamicArrays(void)
+{
+}
+
+void TurbulenceFSAssetParams_0p3::freeStrings(void)
+{
+
+ if (collisionFilterDataName.isAllocated && collisionFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)collisionFilterDataName.buf);
+ }
+
+ if (fieldBoundaryFilterDataName.isAllocated && fieldBoundaryFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)fieldBoundaryFilterDataName.buf);
+ }
+
+ if (fieldSamplerFilterDataName.isAllocated && fieldSamplerFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)fieldSamplerFilterDataName.buf);
+ }
+}
+
+void TurbulenceFSAssetParams_0p3::freeReferences(void)
+{
+}
+
+} // namespace parameterized
+} // namespace nvidia
diff --git a/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_0p4.cpp b/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_0p4.cpp
new file mode 100644
index 00000000..42233f08
--- /dev/null
+++ b/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_0p4.cpp
@@ -0,0 +1,1644 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and 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.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#include "TurbulenceFSAssetParams_0p4.h"
+#include <string.h>
+#include <stdlib.h>
+
+using namespace NvParameterized;
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+using namespace TurbulenceFSAssetParams_0p4NS;
+
+const char* const TurbulenceFSAssetParams_0p4Factory::vptr =
+ NvParameterized::getVptr<TurbulenceFSAssetParams_0p4, TurbulenceFSAssetParams_0p4::ClassAlignment>();
+
+const uint32_t NumParamDefs = 56;
+static NvParameterized::DefinitionImpl* ParamDefTable; // now allocated in buildTree [NumParamDefs];
+
+
+static const size_t ParamLookupChildrenTable[] =
+{
+ 1, 4, 7, 10, 11, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 38, 39, 41, 42, 43, 49, 54, 55, 2, 3, 5, 6, 8, 9, 12, 13, 34, 35,
+ 36, 37, 40, 44, 45, 46, 47, 48, 50, 51, 52, 53,
+};
+
+#define TENUM(type) nvidia::##type
+#define CHILDREN(index) &ParamLookupChildrenTable[index]
+static const NvParameterized::ParamLookupNode ParamLookupTable[NumParamDefs] =
+{
+ { TYPE_STRUCT, false, 0, CHILDREN(0), 33 },
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->gridXRange), CHILDREN(33), 2 }, // gridXRange
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->min), NULL, 0 }, // gridXRange.min
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->max), NULL, 0 }, // gridXRange.max
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->gridYRange), CHILDREN(35), 2 }, // gridYRange
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->min), NULL, 0 }, // gridYRange.min
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->max), NULL, 0 }, // gridYRange.max
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->gridZRange), CHILDREN(37), 2 }, // gridZRange
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->min), NULL, 0 }, // gridZRange.min
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->max), NULL, 0 }, // gridZRange.max
+ { TYPE_VEC3, false, (size_t)(&((ParametersStruct*)0)->gridSizeWorld), NULL, 0 }, // gridSizeWorld
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->updatesPerFrameRange), CHILDREN(39), 2 }, // updatesPerFrameRange
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->min), NULL, 0 }, // updatesPerFrameRange.min
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->max), NULL, 0 }, // updatesPerFrameRange.max
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fluidVelocityMultiplier), NULL, 0 }, // fluidVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fluidVelocityClamp), NULL, 0 }, // fluidVelocityClamp
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->angularVelocityMultiplier), NULL, 0 }, // angularVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->angularVelocityClamp), NULL, 0 }, // angularVelocityClamp
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->linearVelocityMultiplier), NULL, 0 }, // linearVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->linearVelocityClamp), NULL, 0 }, // linearVelocityClamp
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->boundaryFadePercentage), NULL, 0 }, // boundaryFadePercentage
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->boundarySizePercentage), NULL, 0 }, // boundarySizePercentage
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->collisionFilterDataName), NULL, 0 }, // collisionFilterDataName
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->fieldBoundaryFilterDataName), NULL, 0 }, // fieldBoundaryFilterDataName
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->fieldSamplerFilterDataName), NULL, 0 }, // fieldSamplerFilterDataName
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->maxCollidingObjects), NULL, 0 }, // maxCollidingObjects
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->maxHeatSources), NULL, 0 }, // maxHeatSources
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->maxSubstanceSources), NULL, 0 }, // maxSubstanceSources
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->dragCoeff), NULL, 0 }, // dragCoeff
+ { TYPE_VEC3, false, (size_t)(&((ParametersStruct*)0)->externalVelocity), NULL, 0 }, // externalVelocity
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fieldVelocityMultiplier), NULL, 0 }, // fieldVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fieldVelocityWeight), NULL, 0 }, // fieldVelocityWeight
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->useHeat), NULL, 0 }, // useHeat
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->heatParams), CHILDREN(41), 4 }, // heatParams
+ { TYPE_F32, false, (size_t)(&((HeatParams_Type*)0)->temperatureBasedForceMultiplier), NULL, 0 }, // heatParams.temperatureBasedForceMultiplier
+ { TYPE_F32, false, (size_t)(&((HeatParams_Type*)0)->ambientTemperature), NULL, 0 }, // heatParams.ambientTemperature
+ { TYPE_VEC3, false, (size_t)(&((HeatParams_Type*)0)->heatForceDirection), NULL, 0 }, // heatParams.heatForceDirection
+ { TYPE_F32, false, (size_t)(&((HeatParams_Type*)0)->thermalConductivity), NULL, 0 }, // heatParams.thermalConductivity
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->useDensity), NULL, 0 }, // useDensity
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->densityParams), CHILDREN(45), 1 }, // densityParams
+ { TYPE_F32, false, (size_t)(&((DensityParams_Type*)0)->diffusionCoef), NULL, 0 }, // densityParams.diffusionCoef
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->isEnabledOptimizedLOD), NULL, 0 }, // isEnabledOptimizedLOD
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->customLOD), NULL, 0 }, // customLOD
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->lodWeights), CHILDREN(46), 5 }, // lodWeights
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->maxDistance), NULL, 0 }, // lodWeights.maxDistance
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->distanceWeight), NULL, 0 }, // lodWeights.distanceWeight
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->bias), NULL, 0 }, // lodWeights.bias
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->benefitBias), NULL, 0 }, // lodWeights.benefitBias
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->benefitWeight), NULL, 0 }, // lodWeights.benefitWeight
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->noiseParams), CHILDREN(51), 4 }, // noiseParams
+ { TYPE_F32, false, (size_t)(&((NoiseParams_Type*)0)->noiseStrength), NULL, 0 }, // noiseParams.noiseStrength
+ { TYPE_VEC3, false, (size_t)(&((NoiseParams_Type*)0)->noiseSpacePeriod), NULL, 0 }, // noiseParams.noiseSpacePeriod
+ { TYPE_F32, false, (size_t)(&((NoiseParams_Type*)0)->noiseTimePeriod), NULL, 0 }, // noiseParams.noiseTimePeriod
+ { TYPE_U32, false, (size_t)(&((NoiseParams_Type*)0)->noiseOctaves), NULL, 0 }, // noiseParams.noiseOctaves
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->dragCoeffForRigidBody), NULL, 0 }, // dragCoeffForRigidBody
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fluidViscosity), NULL, 0 }, // fluidViscosity
+};
+
+
+bool TurbulenceFSAssetParams_0p4::mBuiltFlag = false;
+NvParameterized::MutexType TurbulenceFSAssetParams_0p4::mBuiltFlagMutex;
+
+TurbulenceFSAssetParams_0p4::TurbulenceFSAssetParams_0p4(NvParameterized::Traits* traits, void* buf, int32_t* refCount) :
+ NvParameters(traits, buf, refCount)
+{
+ //mParameterizedTraits->registerFactory(className(), &TurbulenceFSAssetParams_0p4FactoryInst);
+
+ if (!buf) //Do not init data if it is inplace-deserialized
+ {
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+ initDefaults();
+ }
+}
+
+TurbulenceFSAssetParams_0p4::~TurbulenceFSAssetParams_0p4()
+{
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+}
+
+void TurbulenceFSAssetParams_0p4::destroy()
+{
+ // We cache these fields here to avoid overwrite in destructor
+ bool doDeallocateSelf = mDoDeallocateSelf;
+ NvParameterized::Traits* traits = mParameterizedTraits;
+ int32_t* refCount = mRefCount;
+ void* buf = mBuffer;
+
+ this->~TurbulenceFSAssetParams_0p4();
+
+ NvParameters::destroy(this, traits, doDeallocateSelf, refCount, buf);
+}
+
+const NvParameterized::DefinitionImpl* TurbulenceFSAssetParams_0p4::getParameterDefinitionTree(void)
+{
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+const NvParameterized::DefinitionImpl* TurbulenceFSAssetParams_0p4::getParameterDefinitionTree(void) const
+{
+ TurbulenceFSAssetParams_0p4* tmpParam = const_cast<TurbulenceFSAssetParams_0p4*>(this);
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ tmpParam->buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+NvParameterized::ErrorType TurbulenceFSAssetParams_0p4::getParameterHandle(const char* long_name, Handle& handle) const
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+NvParameterized::ErrorType TurbulenceFSAssetParams_0p4::getParameterHandle(const char* long_name, Handle& handle)
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+void TurbulenceFSAssetParams_0p4::getVarPtr(const Handle& handle, void*& ptr, size_t& offset) const
+{
+ ptr = getVarPtrHelper(&ParamLookupTable[0], const_cast<TurbulenceFSAssetParams_0p4::ParametersStruct*>(&parameters()), handle, offset);
+}
+
+
+/* Dynamic Handle Indices */
+
+void TurbulenceFSAssetParams_0p4::freeParameterDefinitionTable(NvParameterized::Traits* traits)
+{
+ if (!traits)
+ {
+ return;
+ }
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ return;
+ }
+
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+
+ if (!mBuiltFlag)
+ {
+ return;
+ }
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ ParamDefTable[i].~DefinitionImpl();
+ }
+
+ traits->free(ParamDefTable);
+
+ mBuiltFlag = false;
+}
+
+#define PDEF_PTR(index) (&ParamDefTable[index])
+
+void TurbulenceFSAssetParams_0p4::buildTree(void)
+{
+
+ uint32_t allocSize = sizeof(NvParameterized::DefinitionImpl) * NumParamDefs;
+ ParamDefTable = (NvParameterized::DefinitionImpl*)(mParameterizedTraits->alloc(allocSize));
+ memset(ParamDefTable, 0, allocSize);
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ NV_PARAM_PLACEMENT_NEW(ParamDefTable + i, NvParameterized::DefinitionImpl)(*mParameterizedTraits);
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=0, longName=""
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[0];
+ ParamDef->init("", TYPE_STRUCT, "STRUCT", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=1, longName="gridXRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[1];
+ ParamDef->init("gridXRange", TYPE_STRUCT, "turbulenceRangeStructEnum", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of grid cells in X dimension.", true);
+ ParamDefTable[1].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=2, longName="gridXRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[2];
+ ParamDef->init("min", TYPE_ENUM, NULL, true);
+
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[2].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=3, longName="gridXRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[3];
+ ParamDef->init("max", TYPE_ENUM, NULL, true);
+
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[3].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=4, longName="gridYRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[4];
+ ParamDef->init("gridYRange", TYPE_STRUCT, "turbulenceRangeStructEnum", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of grid cells in Y dimension.", true);
+ ParamDefTable[4].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=5, longName="gridYRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[5];
+ ParamDef->init("min", TYPE_ENUM, NULL, true);
+
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[5].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=6, longName="gridYRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[6];
+ ParamDef->init("max", TYPE_ENUM, NULL, true);
+
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[6].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=7, longName="gridZRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[7];
+ ParamDef->init("gridZRange", TYPE_STRUCT, "turbulenceRangeStructEnum", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of grid cells in Z dimension.", true);
+ ParamDefTable[7].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=8, longName="gridZRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[8];
+ ParamDef->init("min", TYPE_ENUM, NULL, true);
+
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[8].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=9, longName="gridZRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[9];
+ ParamDef->init("max", TYPE_ENUM, NULL, true);
+
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[9].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=10, longName="gridSizeWorld"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[10];
+ ParamDef->init("gridSizeWorld", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Size of the grid in world space.", true);
+ ParamDefTable[10].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=11, longName="updatesPerFrameRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[11];
+ ParamDef->init("updatesPerFrameRange", TYPE_STRUCT, "rangeStructF32", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The number of updates per frame. See APEX documentation for limitations.", true);
+ ParamDefTable[11].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=12, longName="updatesPerFrameRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[12];
+ ParamDef->init("min", TYPE_F32, NULL, true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=13, longName="updatesPerFrameRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[13];
+ ParamDef->init("max", TYPE_F32, NULL, true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=14, longName="fluidVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[14];
+ ParamDef->init("fluidVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "A multiplier for the velocity of the grid set by the user.", true);
+ ParamDefTable[14].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=15, longName="fluidVelocityClamp"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[15];
+ ParamDef->init("fluidVelocityClamp", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "A clamp for the velocity of the grid set by the user.", true);
+ ParamDefTable[15].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=16, longName="angularVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[16];
+ ParamDef->init("angularVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a multiplier for the angular velocity set by the user.", true);
+ ParamDefTable[16].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=17, longName="angularVelocityClamp"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[17];
+ ParamDef->init("angularVelocityClamp", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a clamp for the angular velocity set by the user.", true);
+ ParamDefTable[17].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=18, longName="linearVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[18];
+ ParamDef->init("linearVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a multiplier for the linear velocity set by the user.", true);
+ ParamDefTable[18].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=19, longName="linearVelocityClamp"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[19];
+ ParamDef->init("linearVelocityClamp", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a clamp for the linear velocity set by the user.", true);
+ ParamDefTable[19].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=20, longName="boundaryFadePercentage"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[20];
+ ParamDef->init("boundaryFadePercentage", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[20].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Percentage of distance from boundary to center where fade out starts.", true);
+ ParamDefTable[20].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=21, longName="boundarySizePercentage"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[21];
+ ParamDef->init("boundarySizePercentage", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[21].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Boundary size as the percentage of grid size.", true);
+ ParamDefTable[21].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=22, longName="collisionFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[22];
+ ParamDef->init("collisionFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The filter data (group/groupsMask) name for TurbulenceFS vs PhysX interaction.", true);
+ ParamDefTable[22].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=23, longName="fieldBoundaryFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[23];
+ ParamDef->init("fieldBoundaryFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The filter data name for TurbulenceFS vs Field Boundaries interaction.", true);
+ ParamDefTable[23].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=24, longName="fieldSamplerFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[24];
+ ParamDef->init("fieldSamplerFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The filter data name for TurbulenceFS vs other Field Samplers interaction.", true);
+ ParamDefTable[24].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=25, longName="maxCollidingObjects"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[25];
+ ParamDef->init("maxCollidingObjects", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The maximum number of colliding objects.", true);
+ ParamDefTable[25].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=26, longName="maxHeatSources"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[26];
+ ParamDef->init("maxHeatSources", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The maximum number of heat source.", true);
+ ParamDefTable[26].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=27, longName="maxSubstanceSources"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[27];
+ ParamDef->init("maxSubstanceSources", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The maximum number of substance source (computed if density enabled).", true);
+ ParamDefTable[27].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=28, longName="dragCoeff"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[28];
+ ParamDef->init("dragCoeff", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Coefficient for deriving drag force from velocity (if equals to zero, direct grid velocity is used).", true);
+ ParamDefTable[28].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=29, longName="externalVelocity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[29];
+ ParamDef->init("externalVelocity", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Allows external actors like wind or explosion to add a single directional velocity to the grid. \n If there are multiple calls to this function are made only the last call is honored (i.e. the velocities are not accumulated).", true);
+ ParamDefTable[29].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=30, longName="fieldVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[30];
+ ParamDef->init("fieldVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "A multiplier for the field velocity.", true);
+ ParamDefTable[30].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=31, longName="fieldVelocityWeight"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[31];
+ ParamDef->init("fieldVelocityWeight", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[31].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "A weight for the field velocity. Controls how strongly the field velocity affects particles", true);
+ ParamDefTable[31].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=32, longName="useHeat"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[32];
+ ParamDef->init("useHeat", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Enable whether or not to use heat in the simulation.", true);
+ ParamDefTable[32].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=33, longName="heatParams"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[33];
+ ParamDef->init("heatParams", TYPE_STRUCT, "HeatParams", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=34, longName="heatParams.temperatureBasedForceMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[34];
+ ParamDef->init("temperatureBasedForceMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Multiplier for force induced by heat source.", true);
+ ParamDefTable[34].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=35, longName="heatParams.ambientTemperature"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[35];
+ ParamDef->init("ambientTemperature", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Environment temperature.", true);
+ ParamDefTable[35].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=36, longName="heatParams.heatForceDirection"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[36];
+ ParamDef->init("heatForceDirection", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Direction of the force induced by heat source.", true);
+ ParamDefTable[36].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=37, longName="heatParams.thermalConductivity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[37];
+ ParamDef->init("thermalConductivity", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Thermal conductivity. Default value is set for air.", true);
+ ParamDefTable[37].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=38, longName="useDensity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[38];
+ ParamDef->init("useDensity", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Enable whether or not to use density in the simulation.", true);
+ ParamDefTable[38].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=39, longName="densityParams"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[39];
+ ParamDef->init("densityParams", TYPE_STRUCT, "DensityParams", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=40, longName="densityParams.diffusionCoef"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[40];
+ ParamDef->init("diffusionCoef", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Diffusion coefficient for density (analog for viscosity in velocity equation.", true);
+ ParamDefTable[40].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=41, longName="isEnabledOptimizedLOD"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[41];
+ ParamDef->init("isEnabledOptimizedLOD", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Enable more aggressive LOD.", true);
+ ParamDefTable[41].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=42, longName="customLOD"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[42];
+ ParamDef->init("customLOD", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Force the current LOD to a particular value, range is 0-1: 1.0f is maximum, 0.0f is minimum simulation quality.", true);
+ ParamDefTable[42].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=43, longName="lodWeights"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[43];
+ ParamDef->init("lodWeights", TYPE_STRUCT, "LODWeights", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=44, longName="lodWeights.maxDistance"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[44];
+ ParamDef->init("maxDistance", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Objects greater than this distance from the player will be culled more aggressively", true);
+ ParamDefTable[44].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=45, longName="lodWeights.distanceWeight"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[45];
+ ParamDef->init("distanceWeight", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Weight given to distance parameter in LOD function", true);
+ ParamDefTable[45].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=46, longName="lodWeights.bias"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[46];
+ ParamDef->init("bias", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "", true);
+ ParamDefTable[46].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=47, longName="lodWeights.benefitBias"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[47];
+ ParamDef->init("benefitBias", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "", true);
+ ParamDefTable[47].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=48, longName="lodWeights.benefitWeight"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[48];
+ ParamDef->init("benefitWeight", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "", true);
+ ParamDefTable[48].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=49, longName="noiseParams"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[49];
+ ParamDef->init("noiseParams", TYPE_STRUCT, "NoiseParams", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=50, longName="noiseParams.noiseStrength"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[50];
+ ParamDef->init("noiseStrength", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The strength of the noise added to the simulation.", true);
+ ParamDefTable[50].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=51, longName="noiseParams.noiseSpacePeriod"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[51];
+ ParamDef->init("noiseSpacePeriod", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Noise period in space.", true);
+ ParamDefTable[51].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=52, longName="noiseParams.noiseTimePeriod"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[52];
+ ParamDef->init("noiseTimePeriod", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Noise time period.", true);
+ ParamDefTable[52].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=53, longName="noiseParams.noiseOctaves"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[53];
+ ParamDef->init("noiseOctaves", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of the noise octaves (more octaves give more turbulent noise, but increase computational time).", true);
+ ParamDefTable[53].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=54, longName="dragCoeffForRigidBody"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[54];
+ ParamDef->init("dragCoeffForRigidBody", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "It is not true drag coef just mixing coefficient for slip and no-slip boundary condition. If set to zero supposed slip boundary condition on rigid bodies. If set to 1 supposed no-slip boundary condition else mixed (partly slip)", true);
+ ParamDefTable[54].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=55, longName="fluidViscosity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[55];
+ ParamDef->init("fluidViscosity", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Viscosity is the coefficient for velocity diffusion. If 0. there is no diffusion.", true);
+ ParamDefTable[55].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // SetChildren for: nodeIndex=0, longName=""
+ {
+ static Definition* Children[33];
+ Children[0] = PDEF_PTR(1);
+ Children[1] = PDEF_PTR(4);
+ Children[2] = PDEF_PTR(7);
+ Children[3] = PDEF_PTR(10);
+ Children[4] = PDEF_PTR(11);
+ Children[5] = PDEF_PTR(14);
+ Children[6] = PDEF_PTR(15);
+ Children[7] = PDEF_PTR(16);
+ Children[8] = PDEF_PTR(17);
+ Children[9] = PDEF_PTR(18);
+ Children[10] = PDEF_PTR(19);
+ Children[11] = PDEF_PTR(20);
+ Children[12] = PDEF_PTR(21);
+ Children[13] = PDEF_PTR(22);
+ Children[14] = PDEF_PTR(23);
+ Children[15] = PDEF_PTR(24);
+ Children[16] = PDEF_PTR(25);
+ Children[17] = PDEF_PTR(26);
+ Children[18] = PDEF_PTR(27);
+ Children[19] = PDEF_PTR(28);
+ Children[20] = PDEF_PTR(29);
+ Children[21] = PDEF_PTR(30);
+ Children[22] = PDEF_PTR(31);
+ Children[23] = PDEF_PTR(32);
+ Children[24] = PDEF_PTR(33);
+ Children[25] = PDEF_PTR(38);
+ Children[26] = PDEF_PTR(39);
+ Children[27] = PDEF_PTR(41);
+ Children[28] = PDEF_PTR(42);
+ Children[29] = PDEF_PTR(43);
+ Children[30] = PDEF_PTR(49);
+ Children[31] = PDEF_PTR(54);
+ Children[32] = PDEF_PTR(55);
+
+ ParamDefTable[0].setChildren(Children, 33);
+ }
+
+ // SetChildren for: nodeIndex=1, longName="gridXRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(2);
+ Children[1] = PDEF_PTR(3);
+
+ ParamDefTable[1].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=4, longName="gridYRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(5);
+ Children[1] = PDEF_PTR(6);
+
+ ParamDefTable[4].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=7, longName="gridZRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(8);
+ Children[1] = PDEF_PTR(9);
+
+ ParamDefTable[7].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=11, longName="updatesPerFrameRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(12);
+ Children[1] = PDEF_PTR(13);
+
+ ParamDefTable[11].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=33, longName="heatParams"
+ {
+ static Definition* Children[4];
+ Children[0] = PDEF_PTR(34);
+ Children[1] = PDEF_PTR(35);
+ Children[2] = PDEF_PTR(36);
+ Children[3] = PDEF_PTR(37);
+
+ ParamDefTable[33].setChildren(Children, 4);
+ }
+
+ // SetChildren for: nodeIndex=39, longName="densityParams"
+ {
+ static Definition* Children[1];
+ Children[0] = PDEF_PTR(40);
+
+ ParamDefTable[39].setChildren(Children, 1);
+ }
+
+ // SetChildren for: nodeIndex=43, longName="lodWeights"
+ {
+ static Definition* Children[5];
+ Children[0] = PDEF_PTR(44);
+ Children[1] = PDEF_PTR(45);
+ Children[2] = PDEF_PTR(46);
+ Children[3] = PDEF_PTR(47);
+ Children[4] = PDEF_PTR(48);
+
+ ParamDefTable[43].setChildren(Children, 5);
+ }
+
+ // SetChildren for: nodeIndex=49, longName="noiseParams"
+ {
+ static Definition* Children[4];
+ Children[0] = PDEF_PTR(50);
+ Children[1] = PDEF_PTR(51);
+ Children[2] = PDEF_PTR(52);
+ Children[3] = PDEF_PTR(53);
+
+ ParamDefTable[49].setChildren(Children, 4);
+ }
+
+ mBuiltFlag = true;
+
+}
+void TurbulenceFSAssetParams_0p4::initStrings(void)
+{
+ collisionFilterDataName.isAllocated = true;
+ collisionFilterDataName.buf = NULL;
+ fieldBoundaryFilterDataName.isAllocated = true;
+ fieldBoundaryFilterDataName.buf = NULL;
+ fieldSamplerFilterDataName.isAllocated = true;
+ fieldSamplerFilterDataName.buf = NULL;
+}
+
+void TurbulenceFSAssetParams_0p4::initDynamicArrays(void)
+{
+}
+
+void TurbulenceFSAssetParams_0p4::initDefaults(void)
+{
+
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+ gridXRange.min = (const char*)"EGR_16";
+ gridXRange.max = (const char*)"EGR_16";
+ gridYRange.min = (const char*)"EGR_16";
+ gridYRange.max = (const char*)"EGR_16";
+ gridZRange.min = (const char*)"EGR_16";
+ gridZRange.max = (const char*)"EGR_16";
+ gridSizeWorld = physx::PxVec3(init(12, 12, 12));
+
+ updatesPerFrameRange.min = 0.0f;
+ updatesPerFrameRange.max = 1.0f;
+
+ fluidVelocityMultiplier = float(1);
+ fluidVelocityClamp = float(1000000);
+ angularVelocityMultiplier = float(1);
+ angularVelocityClamp = float(1000000);
+ linearVelocityMultiplier = float(1);
+ linearVelocityClamp = float(1000000);
+ boundaryFadePercentage = float(0.1);
+ boundarySizePercentage = float(1);
+ maxCollidingObjects = uint32_t(32);
+ maxHeatSources = uint32_t(8);
+ maxSubstanceSources = uint32_t(8);
+ dragCoeff = float(0);
+ externalVelocity = physx::PxVec3(init(0.0, 0.0, 0.0));
+ fieldVelocityMultiplier = float(1);
+ fieldVelocityWeight = float(1);
+ useHeat = bool(false);
+ heatParams.temperatureBasedForceMultiplier = float(0.02);
+ heatParams.ambientTemperature = float(0);
+ heatParams.heatForceDirection = physx::PxVec3(init(0.0, 1.0, 0.0));
+ heatParams.thermalConductivity = float(0.025);
+ useDensity = bool(false);
+ densityParams.diffusionCoef = float(0);
+ isEnabledOptimizedLOD = bool(false);
+ customLOD = float(1);
+ lodWeights.maxDistance = float(100);
+ lodWeights.distanceWeight = float(1);
+ lodWeights.bias = float(0);
+ lodWeights.benefitBias = float(0);
+ lodWeights.benefitWeight = float(1);
+ noiseParams.noiseStrength = float(0);
+ noiseParams.noiseSpacePeriod = physx::PxVec3(init(1.0, 1.0, 1.0));
+ noiseParams.noiseTimePeriod = float(1);
+ noiseParams.noiseOctaves = uint32_t(1);
+ dragCoeffForRigidBody = float(0);
+ fluidViscosity = float(0);
+
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+}
+
+void TurbulenceFSAssetParams_0p4::initReferences(void)
+{
+}
+
+void TurbulenceFSAssetParams_0p4::freeDynamicArrays(void)
+{
+}
+
+void TurbulenceFSAssetParams_0p4::freeStrings(void)
+{
+
+ if (collisionFilterDataName.isAllocated && collisionFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)collisionFilterDataName.buf);
+ }
+
+ if (fieldBoundaryFilterDataName.isAllocated && fieldBoundaryFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)fieldBoundaryFilterDataName.buf);
+ }
+
+ if (fieldSamplerFilterDataName.isAllocated && fieldSamplerFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)fieldSamplerFilterDataName.buf);
+ }
+}
+
+void TurbulenceFSAssetParams_0p4::freeReferences(void)
+{
+}
+
+} // namespace parameterized
+} // namespace nvidia
diff --git a/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_0p5.cpp b/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_0p5.cpp
new file mode 100644
index 00000000..90f9886f
--- /dev/null
+++ b/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_0p5.cpp
@@ -0,0 +1,1644 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and 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.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#include "TurbulenceFSAssetParams_0p5.h"
+#include <string.h>
+#include <stdlib.h>
+
+using namespace NvParameterized;
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+using namespace TurbulenceFSAssetParams_0p5NS;
+
+const char* const TurbulenceFSAssetParams_0p5Factory::vptr =
+ NvParameterized::getVptr<TurbulenceFSAssetParams_0p5, TurbulenceFSAssetParams_0p5::ClassAlignment>();
+
+const uint32_t NumParamDefs = 56;
+static NvParameterized::DefinitionImpl* ParamDefTable; // now allocated in buildTree [NumParamDefs];
+
+
+static const size_t ParamLookupChildrenTable[] =
+{
+ 1, 4, 7, 10, 11, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 38, 39, 41, 42, 43, 49, 54, 55, 2, 3, 5, 6, 8, 9, 12, 13, 34, 35,
+ 36, 37, 40, 44, 45, 46, 47, 48, 50, 51, 52, 53,
+};
+
+#define TENUM(type) nvidia::##type
+#define CHILDREN(index) &ParamLookupChildrenTable[index]
+static const NvParameterized::ParamLookupNode ParamLookupTable[NumParamDefs] =
+{
+ { TYPE_STRUCT, false, 0, CHILDREN(0), 33 },
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->gridXRange), CHILDREN(33), 2 }, // gridXRange
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->min), NULL, 0 }, // gridXRange.min
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->max), NULL, 0 }, // gridXRange.max
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->gridYRange), CHILDREN(35), 2 }, // gridYRange
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->min), NULL, 0 }, // gridYRange.min
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->max), NULL, 0 }, // gridYRange.max
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->gridZRange), CHILDREN(37), 2 }, // gridZRange
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->min), NULL, 0 }, // gridZRange.min
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->max), NULL, 0 }, // gridZRange.max
+ { TYPE_VEC3, false, (size_t)(&((ParametersStruct*)0)->gridSizeWorld), NULL, 0 }, // gridSizeWorld
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->updatesPerFrameRange), CHILDREN(39), 2 }, // updatesPerFrameRange
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->min), NULL, 0 }, // updatesPerFrameRange.min
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->max), NULL, 0 }, // updatesPerFrameRange.max
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fluidVelocityMultiplier), NULL, 0 }, // fluidVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fluidVelocityClamp), NULL, 0 }, // fluidVelocityClamp
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->angularVelocityMultiplier), NULL, 0 }, // angularVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->angularVelocityClamp), NULL, 0 }, // angularVelocityClamp
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->linearVelocityMultiplier), NULL, 0 }, // linearVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->linearVelocityClamp), NULL, 0 }, // linearVelocityClamp
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->boundaryFadePercentage), NULL, 0 }, // boundaryFadePercentage
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->boundarySizePercentage), NULL, 0 }, // boundarySizePercentage
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->collisionFilterDataName), NULL, 0 }, // collisionFilterDataName
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->fieldBoundaryFilterDataName), NULL, 0 }, // fieldBoundaryFilterDataName
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->fieldSamplerFilterDataName), NULL, 0 }, // fieldSamplerFilterDataName
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->maxCollidingObjects), NULL, 0 }, // maxCollidingObjects
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->maxHeatSources), NULL, 0 }, // maxHeatSources
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->maxSubstanceSources), NULL, 0 }, // maxSubstanceSources
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->dragCoeff), NULL, 0 }, // dragCoeff
+ { TYPE_VEC3, false, (size_t)(&((ParametersStruct*)0)->externalVelocity), NULL, 0 }, // externalVelocity
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fieldVelocityMultiplier), NULL, 0 }, // fieldVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fieldVelocityWeight), NULL, 0 }, // fieldVelocityWeight
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->useHeat), NULL, 0 }, // useHeat
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->heatParams), CHILDREN(41), 4 }, // heatParams
+ { TYPE_F32, false, (size_t)(&((HeatParams_Type*)0)->temperatureBasedForceMultiplier), NULL, 0 }, // heatParams.temperatureBasedForceMultiplier
+ { TYPE_F32, false, (size_t)(&((HeatParams_Type*)0)->ambientTemperature), NULL, 0 }, // heatParams.ambientTemperature
+ { TYPE_VEC3, false, (size_t)(&((HeatParams_Type*)0)->heatForceDirection), NULL, 0 }, // heatParams.heatForceDirection
+ { TYPE_F32, false, (size_t)(&((HeatParams_Type*)0)->thermalConductivity), NULL, 0 }, // heatParams.thermalConductivity
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->useDensity), NULL, 0 }, // useDensity
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->densityParams), CHILDREN(45), 1 }, // densityParams
+ { TYPE_F32, false, (size_t)(&((DensityParams_Type*)0)->diffusionCoef), NULL, 0 }, // densityParams.diffusionCoef
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->isEnabledOptimizedLOD), NULL, 0 }, // isEnabledOptimizedLOD
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->customLOD), NULL, 0 }, // customLOD
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->lodWeights), CHILDREN(46), 5 }, // lodWeights
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->maxDistance), NULL, 0 }, // lodWeights.maxDistance
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->distanceWeight), NULL, 0 }, // lodWeights.distanceWeight
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->bias), NULL, 0 }, // lodWeights.bias
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->benefitBias), NULL, 0 }, // lodWeights.benefitBias
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->benefitWeight), NULL, 0 }, // lodWeights.benefitWeight
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->noiseParams), CHILDREN(51), 4 }, // noiseParams
+ { TYPE_F32, false, (size_t)(&((NoiseParams_Type*)0)->noiseStrength), NULL, 0 }, // noiseParams.noiseStrength
+ { TYPE_VEC3, false, (size_t)(&((NoiseParams_Type*)0)->noiseSpacePeriod), NULL, 0 }, // noiseParams.noiseSpacePeriod
+ { TYPE_F32, false, (size_t)(&((NoiseParams_Type*)0)->noiseTimePeriod), NULL, 0 }, // noiseParams.noiseTimePeriod
+ { TYPE_U32, false, (size_t)(&((NoiseParams_Type*)0)->noiseOctaves), NULL, 0 }, // noiseParams.noiseOctaves
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->dragCoeffForRigidBody), NULL, 0 }, // dragCoeffForRigidBody
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fluidViscosity), NULL, 0 }, // fluidViscosity
+};
+
+
+bool TurbulenceFSAssetParams_0p5::mBuiltFlag = false;
+NvParameterized::MutexType TurbulenceFSAssetParams_0p5::mBuiltFlagMutex;
+
+TurbulenceFSAssetParams_0p5::TurbulenceFSAssetParams_0p5(NvParameterized::Traits* traits, void* buf, int32_t* refCount) :
+ NvParameters(traits, buf, refCount)
+{
+ //mParameterizedTraits->registerFactory(className(), &TurbulenceFSAssetParams_0p5FactoryInst);
+
+ if (!buf) //Do not init data if it is inplace-deserialized
+ {
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+ initDefaults();
+ }
+}
+
+TurbulenceFSAssetParams_0p5::~TurbulenceFSAssetParams_0p5()
+{
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+}
+
+void TurbulenceFSAssetParams_0p5::destroy()
+{
+ // We cache these fields here to avoid overwrite in destructor
+ bool doDeallocateSelf = mDoDeallocateSelf;
+ NvParameterized::Traits* traits = mParameterizedTraits;
+ int32_t* refCount = mRefCount;
+ void* buf = mBuffer;
+
+ this->~TurbulenceFSAssetParams_0p5();
+
+ NvParameters::destroy(this, traits, doDeallocateSelf, refCount, buf);
+}
+
+const NvParameterized::DefinitionImpl* TurbulenceFSAssetParams_0p5::getParameterDefinitionTree(void)
+{
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+const NvParameterized::DefinitionImpl* TurbulenceFSAssetParams_0p5::getParameterDefinitionTree(void) const
+{
+ TurbulenceFSAssetParams_0p5* tmpParam = const_cast<TurbulenceFSAssetParams_0p5*>(this);
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ tmpParam->buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+NvParameterized::ErrorType TurbulenceFSAssetParams_0p5::getParameterHandle(const char* long_name, Handle& handle) const
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+NvParameterized::ErrorType TurbulenceFSAssetParams_0p5::getParameterHandle(const char* long_name, Handle& handle)
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+void TurbulenceFSAssetParams_0p5::getVarPtr(const Handle& handle, void*& ptr, size_t& offset) const
+{
+ ptr = getVarPtrHelper(&ParamLookupTable[0], const_cast<TurbulenceFSAssetParams_0p5::ParametersStruct*>(&parameters()), handle, offset);
+}
+
+
+/* Dynamic Handle Indices */
+
+void TurbulenceFSAssetParams_0p5::freeParameterDefinitionTable(NvParameterized::Traits* traits)
+{
+ if (!traits)
+ {
+ return;
+ }
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ return;
+ }
+
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+
+ if (!mBuiltFlag)
+ {
+ return;
+ }
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ ParamDefTable[i].~DefinitionImpl();
+ }
+
+ traits->free(ParamDefTable);
+
+ mBuiltFlag = false;
+}
+
+#define PDEF_PTR(index) (&ParamDefTable[index])
+
+void TurbulenceFSAssetParams_0p5::buildTree(void)
+{
+
+ uint32_t allocSize = sizeof(NvParameterized::DefinitionImpl) * NumParamDefs;
+ ParamDefTable = (NvParameterized::DefinitionImpl*)(mParameterizedTraits->alloc(allocSize));
+ memset(ParamDefTable, 0, allocSize);
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ NV_PARAM_PLACEMENT_NEW(ParamDefTable + i, NvParameterized::DefinitionImpl)(*mParameterizedTraits);
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=0, longName=""
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[0];
+ ParamDef->init("", TYPE_STRUCT, "STRUCT", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=1, longName="gridXRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[1];
+ ParamDef->init("gridXRange", TYPE_STRUCT, "turbulenceRangeStructEnum", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of grid cells in X dimension.", true);
+ ParamDefTable[1].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=2, longName="gridXRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[2];
+ ParamDef->init("min", TYPE_ENUM, NULL, true);
+
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[2].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=3, longName="gridXRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[3];
+ ParamDef->init("max", TYPE_ENUM, NULL, true);
+
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[3].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=4, longName="gridYRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[4];
+ ParamDef->init("gridYRange", TYPE_STRUCT, "turbulenceRangeStructEnum", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of grid cells in Y dimension.", true);
+ ParamDefTable[4].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=5, longName="gridYRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[5];
+ ParamDef->init("min", TYPE_ENUM, NULL, true);
+
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[5].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=6, longName="gridYRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[6];
+ ParamDef->init("max", TYPE_ENUM, NULL, true);
+
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[6].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=7, longName="gridZRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[7];
+ ParamDef->init("gridZRange", TYPE_STRUCT, "turbulenceRangeStructEnum", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of grid cells in Z dimension.", true);
+ ParamDefTable[7].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=8, longName="gridZRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[8];
+ ParamDef->init("min", TYPE_ENUM, NULL, true);
+
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[8].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=9, longName="gridZRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[9];
+ ParamDef->init("max", TYPE_ENUM, NULL, true);
+
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[9].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=10, longName="gridSizeWorld"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[10];
+ ParamDef->init("gridSizeWorld", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Size of the grid in world space.", true);
+ ParamDefTable[10].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=11, longName="updatesPerFrameRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[11];
+ ParamDef->init("updatesPerFrameRange", TYPE_STRUCT, "rangeStructF32", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The number of updates per frame. See APEX documentation for limitations.", true);
+ ParamDefTable[11].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=12, longName="updatesPerFrameRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[12];
+ ParamDef->init("min", TYPE_F32, NULL, true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=13, longName="updatesPerFrameRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[13];
+ ParamDef->init("max", TYPE_F32, NULL, true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=14, longName="fluidVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[14];
+ ParamDef->init("fluidVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "A multiplier for the velocity of the grid set by the user.", true);
+ ParamDefTable[14].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=15, longName="fluidVelocityClamp"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[15];
+ ParamDef->init("fluidVelocityClamp", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "A clamp for the velocity of the grid set by the user.", true);
+ ParamDefTable[15].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=16, longName="angularVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[16];
+ ParamDef->init("angularVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a multiplier for the angular velocity set by the user.", true);
+ ParamDefTable[16].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=17, longName="angularVelocityClamp"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[17];
+ ParamDef->init("angularVelocityClamp", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a clamp for the angular velocity set by the user.", true);
+ ParamDefTable[17].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=18, longName="linearVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[18];
+ ParamDef->init("linearVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a multiplier for the linear velocity set by the user.", true);
+ ParamDefTable[18].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=19, longName="linearVelocityClamp"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[19];
+ ParamDef->init("linearVelocityClamp", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a clamp for the linear velocity set by the user.", true);
+ ParamDefTable[19].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=20, longName="boundaryFadePercentage"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[20];
+ ParamDef->init("boundaryFadePercentage", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[20].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Percentage of distance from boundary to center where fade out starts.", true);
+ ParamDefTable[20].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=21, longName="boundarySizePercentage"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[21];
+ ParamDef->init("boundarySizePercentage", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[21].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Boundary size as the percentage of grid size.", true);
+ ParamDefTable[21].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=22, longName="collisionFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[22];
+ ParamDef->init("collisionFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The filter data (group/groupsMask) name for TurbulenceFS vs PhysX interaction.", true);
+ ParamDefTable[22].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=23, longName="fieldBoundaryFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[23];
+ ParamDef->init("fieldBoundaryFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The filter data name for TurbulenceFS vs Field Boundaries interaction.", true);
+ ParamDefTable[23].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=24, longName="fieldSamplerFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[24];
+ ParamDef->init("fieldSamplerFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The filter data name for TurbulenceFS vs other Field Samplers interaction.", true);
+ ParamDefTable[24].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=25, longName="maxCollidingObjects"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[25];
+ ParamDef->init("maxCollidingObjects", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The maximum number of colliding objects.", true);
+ ParamDefTable[25].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=26, longName="maxHeatSources"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[26];
+ ParamDef->init("maxHeatSources", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The maximum number of heat source.", true);
+ ParamDefTable[26].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=27, longName="maxSubstanceSources"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[27];
+ ParamDef->init("maxSubstanceSources", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The maximum number of substance source (computed if density enabled).", true);
+ ParamDefTable[27].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=28, longName="dragCoeff"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[28];
+ ParamDef->init("dragCoeff", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Coefficient for deriving drag force from velocity (if equals to zero, direct grid velocity is used).", true);
+ ParamDefTable[28].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=29, longName="externalVelocity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[29];
+ ParamDef->init("externalVelocity", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Allows external actors like wind or explosion to add a single directional velocity to the grid. \n If there are multiple calls to this function are made only the last call is honored (i.e. the velocities are not accumulated).", true);
+ ParamDefTable[29].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=30, longName="fieldVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[30];
+ ParamDef->init("fieldVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "A multiplier for the field velocity.", true);
+ ParamDefTable[30].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=31, longName="fieldVelocityWeight"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[31];
+ ParamDef->init("fieldVelocityWeight", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[31].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "A weight for the field velocity. Controls how strongly the field velocity affects particles", true);
+ ParamDefTable[31].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=32, longName="useHeat"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[32];
+ ParamDef->init("useHeat", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Enable whether or not to use heat in the simulation.", true);
+ ParamDefTable[32].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=33, longName="heatParams"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[33];
+ ParamDef->init("heatParams", TYPE_STRUCT, "HeatParams", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=34, longName="heatParams.temperatureBasedForceMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[34];
+ ParamDef->init("temperatureBasedForceMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Multiplier for force induced by heat source.", true);
+ ParamDefTable[34].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=35, longName="heatParams.ambientTemperature"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[35];
+ ParamDef->init("ambientTemperature", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Environment temperature.", true);
+ ParamDefTable[35].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=36, longName="heatParams.heatForceDirection"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[36];
+ ParamDef->init("heatForceDirection", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Direction of the force induced by heat source.", true);
+ ParamDefTable[36].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=37, longName="heatParams.thermalConductivity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[37];
+ ParamDef->init("thermalConductivity", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Thermal conductivity. Default value is set for air.", true);
+ ParamDefTable[37].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=38, longName="useDensity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[38];
+ ParamDef->init("useDensity", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Enable whether or not to use density in the simulation.", true);
+ ParamDefTable[38].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=39, longName="densityParams"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[39];
+ ParamDef->init("densityParams", TYPE_STRUCT, "DensityParams", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=40, longName="densityParams.diffusionCoef"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[40];
+ ParamDef->init("diffusionCoef", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Diffusion coefficient for density (analog for viscosity in velocity equation.", true);
+ ParamDefTable[40].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=41, longName="isEnabledOptimizedLOD"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[41];
+ ParamDef->init("isEnabledOptimizedLOD", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Enable more aggressive LOD.", true);
+ ParamDefTable[41].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=42, longName="customLOD"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[42];
+ ParamDef->init("customLOD", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Force the current LOD to a particular value, range is 0-1: 1.0f is maximum, 0.0f is minimum simulation quality.", true);
+ ParamDefTable[42].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=43, longName="lodWeights"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[43];
+ ParamDef->init("lodWeights", TYPE_STRUCT, "LODWeights", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=44, longName="lodWeights.maxDistance"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[44];
+ ParamDef->init("maxDistance", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Objects greater than this distance from the player will be culled more aggressively", true);
+ ParamDefTable[44].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=45, longName="lodWeights.distanceWeight"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[45];
+ ParamDef->init("distanceWeight", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Weight given to distance parameter in LOD function", true);
+ ParamDefTable[45].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=46, longName="lodWeights.bias"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[46];
+ ParamDef->init("bias", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "", true);
+ ParamDefTable[46].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=47, longName="lodWeights.benefitBias"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[47];
+ ParamDef->init("benefitBias", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "", true);
+ ParamDefTable[47].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=48, longName="lodWeights.benefitWeight"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[48];
+ ParamDef->init("benefitWeight", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "", true);
+ ParamDefTable[48].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=49, longName="noiseParams"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[49];
+ ParamDef->init("noiseParams", TYPE_STRUCT, "NoiseParams", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=50, longName="noiseParams.noiseStrength"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[50];
+ ParamDef->init("noiseStrength", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The strength of the noise added to the simulation.", true);
+ ParamDefTable[50].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=51, longName="noiseParams.noiseSpacePeriod"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[51];
+ ParamDef->init("noiseSpacePeriod", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Noise period in space.", true);
+ ParamDefTable[51].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=52, longName="noiseParams.noiseTimePeriod"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[52];
+ ParamDef->init("noiseTimePeriod", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Noise time period.", true);
+ ParamDefTable[52].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=53, longName="noiseParams.noiseOctaves"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[53];
+ ParamDef->init("noiseOctaves", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of the noise octaves (more octaves give more turbulent noise, but increase computational time).", true);
+ ParamDefTable[53].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=54, longName="dragCoeffForRigidBody"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[54];
+ ParamDef->init("dragCoeffForRigidBody", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "It is not true drag coef just mixing coefficient for slip and no-slip boundary condition. If set to zero supposed slip boundary condition on rigid bodies. If set to 1 supposed no-slip boundary condition else mixed (partly slip)", true);
+ ParamDefTable[54].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=55, longName="fluidViscosity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[55];
+ ParamDef->init("fluidViscosity", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Viscosity is the coefficient for velocity diffusion. If 0. there is no diffusion.", true);
+ ParamDefTable[55].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // SetChildren for: nodeIndex=0, longName=""
+ {
+ static Definition* Children[33];
+ Children[0] = PDEF_PTR(1);
+ Children[1] = PDEF_PTR(4);
+ Children[2] = PDEF_PTR(7);
+ Children[3] = PDEF_PTR(10);
+ Children[4] = PDEF_PTR(11);
+ Children[5] = PDEF_PTR(14);
+ Children[6] = PDEF_PTR(15);
+ Children[7] = PDEF_PTR(16);
+ Children[8] = PDEF_PTR(17);
+ Children[9] = PDEF_PTR(18);
+ Children[10] = PDEF_PTR(19);
+ Children[11] = PDEF_PTR(20);
+ Children[12] = PDEF_PTR(21);
+ Children[13] = PDEF_PTR(22);
+ Children[14] = PDEF_PTR(23);
+ Children[15] = PDEF_PTR(24);
+ Children[16] = PDEF_PTR(25);
+ Children[17] = PDEF_PTR(26);
+ Children[18] = PDEF_PTR(27);
+ Children[19] = PDEF_PTR(28);
+ Children[20] = PDEF_PTR(29);
+ Children[21] = PDEF_PTR(30);
+ Children[22] = PDEF_PTR(31);
+ Children[23] = PDEF_PTR(32);
+ Children[24] = PDEF_PTR(33);
+ Children[25] = PDEF_PTR(38);
+ Children[26] = PDEF_PTR(39);
+ Children[27] = PDEF_PTR(41);
+ Children[28] = PDEF_PTR(42);
+ Children[29] = PDEF_PTR(43);
+ Children[30] = PDEF_PTR(49);
+ Children[31] = PDEF_PTR(54);
+ Children[32] = PDEF_PTR(55);
+
+ ParamDefTable[0].setChildren(Children, 33);
+ }
+
+ // SetChildren for: nodeIndex=1, longName="gridXRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(2);
+ Children[1] = PDEF_PTR(3);
+
+ ParamDefTable[1].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=4, longName="gridYRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(5);
+ Children[1] = PDEF_PTR(6);
+
+ ParamDefTable[4].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=7, longName="gridZRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(8);
+ Children[1] = PDEF_PTR(9);
+
+ ParamDefTable[7].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=11, longName="updatesPerFrameRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(12);
+ Children[1] = PDEF_PTR(13);
+
+ ParamDefTable[11].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=33, longName="heatParams"
+ {
+ static Definition* Children[4];
+ Children[0] = PDEF_PTR(34);
+ Children[1] = PDEF_PTR(35);
+ Children[2] = PDEF_PTR(36);
+ Children[3] = PDEF_PTR(37);
+
+ ParamDefTable[33].setChildren(Children, 4);
+ }
+
+ // SetChildren for: nodeIndex=39, longName="densityParams"
+ {
+ static Definition* Children[1];
+ Children[0] = PDEF_PTR(40);
+
+ ParamDefTable[39].setChildren(Children, 1);
+ }
+
+ // SetChildren for: nodeIndex=43, longName="lodWeights"
+ {
+ static Definition* Children[5];
+ Children[0] = PDEF_PTR(44);
+ Children[1] = PDEF_PTR(45);
+ Children[2] = PDEF_PTR(46);
+ Children[3] = PDEF_PTR(47);
+ Children[4] = PDEF_PTR(48);
+
+ ParamDefTable[43].setChildren(Children, 5);
+ }
+
+ // SetChildren for: nodeIndex=49, longName="noiseParams"
+ {
+ static Definition* Children[4];
+ Children[0] = PDEF_PTR(50);
+ Children[1] = PDEF_PTR(51);
+ Children[2] = PDEF_PTR(52);
+ Children[3] = PDEF_PTR(53);
+
+ ParamDefTable[49].setChildren(Children, 4);
+ }
+
+ mBuiltFlag = true;
+
+}
+void TurbulenceFSAssetParams_0p5::initStrings(void)
+{
+ collisionFilterDataName.isAllocated = true;
+ collisionFilterDataName.buf = NULL;
+ fieldBoundaryFilterDataName.isAllocated = true;
+ fieldBoundaryFilterDataName.buf = NULL;
+ fieldSamplerFilterDataName.isAllocated = true;
+ fieldSamplerFilterDataName.buf = NULL;
+}
+
+void TurbulenceFSAssetParams_0p5::initDynamicArrays(void)
+{
+}
+
+void TurbulenceFSAssetParams_0p5::initDefaults(void)
+{
+
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+ gridXRange.min = (const char*)"EGR_16";
+ gridXRange.max = (const char*)"EGR_16";
+ gridYRange.min = (const char*)"EGR_16";
+ gridYRange.max = (const char*)"EGR_16";
+ gridZRange.min = (const char*)"EGR_16";
+ gridZRange.max = (const char*)"EGR_16";
+ gridSizeWorld = physx::PxVec3(init(12, 12, 12));
+
+ updatesPerFrameRange.min = 0.0f;
+ updatesPerFrameRange.max = 1.0f;
+
+ fluidVelocityMultiplier = float(1);
+ fluidVelocityClamp = float(1000000);
+ angularVelocityMultiplier = float(1);
+ angularVelocityClamp = float(1000000);
+ linearVelocityMultiplier = float(1);
+ linearVelocityClamp = float(1000000);
+ boundaryFadePercentage = float(0.1);
+ boundarySizePercentage = float(1);
+ maxCollidingObjects = uint32_t(32);
+ maxHeatSources = uint32_t(8);
+ maxSubstanceSources = uint32_t(8);
+ dragCoeff = float(0);
+ externalVelocity = physx::PxVec3(init(0.0, 0.0, 0.0));
+ fieldVelocityMultiplier = float(1);
+ fieldVelocityWeight = float(1);
+ useHeat = bool(false);
+ heatParams.temperatureBasedForceMultiplier = float(0.02);
+ heatParams.ambientTemperature = float(0);
+ heatParams.heatForceDirection = physx::PxVec3(init(0.0, 1.0, 0.0));
+ heatParams.thermalConductivity = float(0.025);
+ useDensity = bool(false);
+ densityParams.diffusionCoef = float(0);
+ isEnabledOptimizedLOD = bool(false);
+ customLOD = float(1);
+ lodWeights.maxDistance = float(100);
+ lodWeights.distanceWeight = float(1);
+ lodWeights.bias = float(0);
+ lodWeights.benefitBias = float(0);
+ lodWeights.benefitWeight = float(1);
+ noiseParams.noiseStrength = float(0);
+ noiseParams.noiseSpacePeriod = physx::PxVec3(init(1.0, 1.0, 1.0));
+ noiseParams.noiseTimePeriod = float(1);
+ noiseParams.noiseOctaves = uint32_t(1);
+ dragCoeffForRigidBody = float(0);
+ fluidViscosity = float(0);
+
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+}
+
+void TurbulenceFSAssetParams_0p5::initReferences(void)
+{
+}
+
+void TurbulenceFSAssetParams_0p5::freeDynamicArrays(void)
+{
+}
+
+void TurbulenceFSAssetParams_0p5::freeStrings(void)
+{
+
+ if (collisionFilterDataName.isAllocated && collisionFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)collisionFilterDataName.buf);
+ }
+
+ if (fieldBoundaryFilterDataName.isAllocated && fieldBoundaryFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)fieldBoundaryFilterDataName.buf);
+ }
+
+ if (fieldSamplerFilterDataName.isAllocated && fieldSamplerFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)fieldSamplerFilterDataName.buf);
+ }
+}
+
+void TurbulenceFSAssetParams_0p5::freeReferences(void)
+{
+}
+
+} // namespace parameterized
+} // namespace nvidia
diff --git a/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_0p6.cpp b/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_0p6.cpp
new file mode 100644
index 00000000..3c0dd054
--- /dev/null
+++ b/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_0p6.cpp
@@ -0,0 +1,1710 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and 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.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#include "TurbulenceFSAssetParams_0p6.h"
+#include <string.h>
+#include <stdlib.h>
+
+using namespace NvParameterized;
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+using namespace TurbulenceFSAssetParams_0p6NS;
+
+const char* const TurbulenceFSAssetParams_0p6Factory::vptr =
+ NvParameterized::getVptr<TurbulenceFSAssetParams_0p6, TurbulenceFSAssetParams_0p6::ClassAlignment>();
+
+const uint32_t NumParamDefs = 58;
+static NvParameterized::DefinitionImpl* ParamDefTable; // now allocated in buildTree [NumParamDefs];
+
+
+static const size_t ParamLookupChildrenTable[] =
+{
+ 1, 4, 7, 10, 11, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 34, 39, 40, 43, 44, 45, 51, 56, 57, 2, 3, 5, 6, 8, 9, 12, 13, 35,
+ 36, 37, 38, 41, 42, 46, 47, 48, 49, 50, 52, 53, 54, 55,
+};
+
+#define TENUM(type) nvidia::##type
+#define CHILDREN(index) &ParamLookupChildrenTable[index]
+static const NvParameterized::ParamLookupNode ParamLookupTable[NumParamDefs] =
+{
+ { TYPE_STRUCT, false, 0, CHILDREN(0), 34 },
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->gridXRange), CHILDREN(34), 2 }, // gridXRange
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->min), NULL, 0 }, // gridXRange.min
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->max), NULL, 0 }, // gridXRange.max
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->gridYRange), CHILDREN(36), 2 }, // gridYRange
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->min), NULL, 0 }, // gridYRange.min
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->max), NULL, 0 }, // gridYRange.max
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->gridZRange), CHILDREN(38), 2 }, // gridZRange
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->min), NULL, 0 }, // gridZRange.min
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->max), NULL, 0 }, // gridZRange.max
+ { TYPE_VEC3, false, (size_t)(&((ParametersStruct*)0)->gridSizeWorld), NULL, 0 }, // gridSizeWorld
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->updatesPerFrameRange), CHILDREN(40), 2 }, // updatesPerFrameRange
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->min), NULL, 0 }, // updatesPerFrameRange.min
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->max), NULL, 0 }, // updatesPerFrameRange.max
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fluidVelocityMultiplier), NULL, 0 }, // fluidVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fluidVelocityClamp), NULL, 0 }, // fluidVelocityClamp
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->angularVelocityMultiplier), NULL, 0 }, // angularVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->angularVelocityClamp), NULL, 0 }, // angularVelocityClamp
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->linearVelocityMultiplier), NULL, 0 }, // linearVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->linearVelocityClamp), NULL, 0 }, // linearVelocityClamp
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->velocityFieldFade), NULL, 0 }, // velocityFieldFade
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->boundaryFadePercentage), NULL, 0 }, // boundaryFadePercentage
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->boundarySizePercentage), NULL, 0 }, // boundarySizePercentage
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->collisionFilterDataName), NULL, 0 }, // collisionFilterDataName
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->fieldBoundaryFilterDataName), NULL, 0 }, // fieldBoundaryFilterDataName
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->fieldSamplerFilterDataName), NULL, 0 }, // fieldSamplerFilterDataName
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->maxCollidingObjects), NULL, 0 }, // maxCollidingObjects
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->maxHeatSources), NULL, 0 }, // maxHeatSources
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->maxSubstanceSources), NULL, 0 }, // maxSubstanceSources
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->dragCoeff), NULL, 0 }, // dragCoeff
+ { TYPE_VEC3, false, (size_t)(&((ParametersStruct*)0)->externalVelocity), NULL, 0 }, // externalVelocity
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fieldVelocityMultiplier), NULL, 0 }, // fieldVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fieldVelocityWeight), NULL, 0 }, // fieldVelocityWeight
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->useHeat), NULL, 0 }, // useHeat
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->heatParams), CHILDREN(42), 4 }, // heatParams
+ { TYPE_F32, false, (size_t)(&((HeatParams_Type*)0)->temperatureBasedForceMultiplier), NULL, 0 }, // heatParams.temperatureBasedForceMultiplier
+ { TYPE_F32, false, (size_t)(&((HeatParams_Type*)0)->ambientTemperature), NULL, 0 }, // heatParams.ambientTemperature
+ { TYPE_VEC3, false, (size_t)(&((HeatParams_Type*)0)->heatForceDirection), NULL, 0 }, // heatParams.heatForceDirection
+ { TYPE_F32, false, (size_t)(&((HeatParams_Type*)0)->thermalConductivity), NULL, 0 }, // heatParams.thermalConductivity
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->useDensity), NULL, 0 }, // useDensity
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->densityParams), CHILDREN(46), 2 }, // densityParams
+ { TYPE_F32, false, (size_t)(&((DensityParams_Type*)0)->diffusionCoef), NULL, 0 }, // densityParams.diffusionCoef
+ { TYPE_F32, false, (size_t)(&((DensityParams_Type*)0)->densityFieldFade), NULL, 0 }, // densityParams.densityFieldFade
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->isEnabledOptimizedLOD), NULL, 0 }, // isEnabledOptimizedLOD
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->customLOD), NULL, 0 }, // customLOD
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->lodWeights), CHILDREN(48), 5 }, // lodWeights
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->maxDistance), NULL, 0 }, // lodWeights.maxDistance
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->distanceWeight), NULL, 0 }, // lodWeights.distanceWeight
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->bias), NULL, 0 }, // lodWeights.bias
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->benefitBias), NULL, 0 }, // lodWeights.benefitBias
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->benefitWeight), NULL, 0 }, // lodWeights.benefitWeight
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->noiseParams), CHILDREN(53), 4 }, // noiseParams
+ { TYPE_F32, false, (size_t)(&((NoiseParams_Type*)0)->noiseStrength), NULL, 0 }, // noiseParams.noiseStrength
+ { TYPE_VEC3, false, (size_t)(&((NoiseParams_Type*)0)->noiseSpacePeriod), NULL, 0 }, // noiseParams.noiseSpacePeriod
+ { TYPE_F32, false, (size_t)(&((NoiseParams_Type*)0)->noiseTimePeriod), NULL, 0 }, // noiseParams.noiseTimePeriod
+ { TYPE_U32, false, (size_t)(&((NoiseParams_Type*)0)->noiseOctaves), NULL, 0 }, // noiseParams.noiseOctaves
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->dragCoeffForRigidBody), NULL, 0 }, // dragCoeffForRigidBody
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fluidViscosity), NULL, 0 }, // fluidViscosity
+};
+
+
+bool TurbulenceFSAssetParams_0p6::mBuiltFlag = false;
+NvParameterized::MutexType TurbulenceFSAssetParams_0p6::mBuiltFlagMutex;
+
+TurbulenceFSAssetParams_0p6::TurbulenceFSAssetParams_0p6(NvParameterized::Traits* traits, void* buf, int32_t* refCount) :
+ NvParameters(traits, buf, refCount)
+{
+ //mParameterizedTraits->registerFactory(className(), &TurbulenceFSAssetParams_0p6FactoryInst);
+
+ if (!buf) //Do not init data if it is inplace-deserialized
+ {
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+ initDefaults();
+ }
+}
+
+TurbulenceFSAssetParams_0p6::~TurbulenceFSAssetParams_0p6()
+{
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+}
+
+void TurbulenceFSAssetParams_0p6::destroy()
+{
+ // We cache these fields here to avoid overwrite in destructor
+ bool doDeallocateSelf = mDoDeallocateSelf;
+ NvParameterized::Traits* traits = mParameterizedTraits;
+ int32_t* refCount = mRefCount;
+ void* buf = mBuffer;
+
+ this->~TurbulenceFSAssetParams_0p6();
+
+ NvParameters::destroy(this, traits, doDeallocateSelf, refCount, buf);
+}
+
+const NvParameterized::DefinitionImpl* TurbulenceFSAssetParams_0p6::getParameterDefinitionTree(void)
+{
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+const NvParameterized::DefinitionImpl* TurbulenceFSAssetParams_0p6::getParameterDefinitionTree(void) const
+{
+ TurbulenceFSAssetParams_0p6* tmpParam = const_cast<TurbulenceFSAssetParams_0p6*>(this);
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ tmpParam->buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+NvParameterized::ErrorType TurbulenceFSAssetParams_0p6::getParameterHandle(const char* long_name, Handle& handle) const
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+NvParameterized::ErrorType TurbulenceFSAssetParams_0p6::getParameterHandle(const char* long_name, Handle& handle)
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+void TurbulenceFSAssetParams_0p6::getVarPtr(const Handle& handle, void*& ptr, size_t& offset) const
+{
+ ptr = getVarPtrHelper(&ParamLookupTable[0], const_cast<TurbulenceFSAssetParams_0p6::ParametersStruct*>(&parameters()), handle, offset);
+}
+
+
+/* Dynamic Handle Indices */
+
+void TurbulenceFSAssetParams_0p6::freeParameterDefinitionTable(NvParameterized::Traits* traits)
+{
+ if (!traits)
+ {
+ return;
+ }
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ return;
+ }
+
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+
+ if (!mBuiltFlag)
+ {
+ return;
+ }
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ ParamDefTable[i].~DefinitionImpl();
+ }
+
+ traits->free(ParamDefTable);
+
+ mBuiltFlag = false;
+}
+
+#define PDEF_PTR(index) (&ParamDefTable[index])
+
+void TurbulenceFSAssetParams_0p6::buildTree(void)
+{
+
+ uint32_t allocSize = sizeof(NvParameterized::DefinitionImpl) * NumParamDefs;
+ ParamDefTable = (NvParameterized::DefinitionImpl*)(mParameterizedTraits->alloc(allocSize));
+ memset(ParamDefTable, 0, allocSize);
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ NV_PARAM_PLACEMENT_NEW(ParamDefTable + i, NvParameterized::DefinitionImpl)(*mParameterizedTraits);
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=0, longName=""
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[0];
+ ParamDef->init("", TYPE_STRUCT, "STRUCT", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=1, longName="gridXRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[1];
+ ParamDef->init("gridXRange", TYPE_STRUCT, "turbulenceRangeStructEnum", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of grid cells in X dimension.", true);
+ ParamDefTable[1].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=2, longName="gridXRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[2];
+ ParamDef->init("min", TYPE_ENUM, NULL, true);
+
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[2].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=3, longName="gridXRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[3];
+ ParamDef->init("max", TYPE_ENUM, NULL, true);
+
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[3].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=4, longName="gridYRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[4];
+ ParamDef->init("gridYRange", TYPE_STRUCT, "turbulenceRangeStructEnum", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of grid cells in Y dimension.", true);
+ ParamDefTable[4].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=5, longName="gridYRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[5];
+ ParamDef->init("min", TYPE_ENUM, NULL, true);
+
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[5].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=6, longName="gridYRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[6];
+ ParamDef->init("max", TYPE_ENUM, NULL, true);
+
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[6].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=7, longName="gridZRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[7];
+ ParamDef->init("gridZRange", TYPE_STRUCT, "turbulenceRangeStructEnum", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of grid cells in Z dimension.", true);
+ ParamDefTable[7].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=8, longName="gridZRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[8];
+ ParamDef->init("min", TYPE_ENUM, NULL, true);
+
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[8].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=9, longName="gridZRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[9];
+ ParamDef->init("max", TYPE_ENUM, NULL, true);
+
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[9].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=10, longName="gridSizeWorld"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[10];
+ ParamDef->init("gridSizeWorld", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Size of the grid in world space.", true);
+ ParamDefTable[10].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=11, longName="updatesPerFrameRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[11];
+ ParamDef->init("updatesPerFrameRange", TYPE_STRUCT, "rangeStructF32", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The number of updates per frame. See APEX documentation for limitations.", true);
+ ParamDefTable[11].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=12, longName="updatesPerFrameRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[12];
+ ParamDef->init("min", TYPE_F32, NULL, true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=13, longName="updatesPerFrameRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[13];
+ ParamDef->init("max", TYPE_F32, NULL, true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=14, longName="fluidVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[14];
+ ParamDef->init("fluidVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "A multiplier for the velocity of the grid set by the user.", true);
+ ParamDefTable[14].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=15, longName="fluidVelocityClamp"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[15];
+ ParamDef->init("fluidVelocityClamp", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "A clamp for the velocity of the grid set by the user.", true);
+ ParamDefTable[15].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=16, longName="angularVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[16];
+ ParamDef->init("angularVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a multiplier for the angular velocity set by the user.", true);
+ ParamDefTable[16].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=17, longName="angularVelocityClamp"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[17];
+ ParamDef->init("angularVelocityClamp", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a clamp for the angular velocity set by the user.", true);
+ ParamDefTable[17].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=18, longName="linearVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[18];
+ ParamDef->init("linearVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a multiplier for the linear velocity set by the user.", true);
+ ParamDefTable[18].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=19, longName="linearVelocityClamp"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[19];
+ ParamDef->init("linearVelocityClamp", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a clamp for the linear velocity set by the user.", true);
+ ParamDefTable[19].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=20, longName="velocityFieldFade"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[20];
+ ParamDef->init("velocityFieldFade", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[20].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Each cell in velocity field are multiplied by (1 - velocityFieldFade) every frame.", true);
+ ParamDefTable[20].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=21, longName="boundaryFadePercentage"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[21];
+ ParamDef->init("boundaryFadePercentage", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[21].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Percentage of distance from boundary to center where fade out starts.", true);
+ ParamDefTable[21].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=22, longName="boundarySizePercentage"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[22];
+ ParamDef->init("boundarySizePercentage", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[22].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Boundary size as the percentage of grid size.", true);
+ ParamDefTable[22].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=23, longName="collisionFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[23];
+ ParamDef->init("collisionFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The filter data (group/groupsMask) name for TurbulenceFS vs PhysX interaction.", true);
+ ParamDefTable[23].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=24, longName="fieldBoundaryFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[24];
+ ParamDef->init("fieldBoundaryFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The filter data name for TurbulenceFS vs Field Boundaries interaction.", true);
+ ParamDefTable[24].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=25, longName="fieldSamplerFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[25];
+ ParamDef->init("fieldSamplerFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The filter data name for TurbulenceFS vs other Field Samplers interaction.", true);
+ ParamDefTable[25].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=26, longName="maxCollidingObjects"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[26];
+ ParamDef->init("maxCollidingObjects", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The maximum number of colliding objects.", true);
+ ParamDefTable[26].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=27, longName="maxHeatSources"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[27];
+ ParamDef->init("maxHeatSources", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The maximum number of heat source.", true);
+ ParamDefTable[27].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=28, longName="maxSubstanceSources"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[28];
+ ParamDef->init("maxSubstanceSources", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The maximum number of substance source (computed if density enabled).", true);
+ ParamDefTable[28].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=29, longName="dragCoeff"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[29];
+ ParamDef->init("dragCoeff", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Coefficient for deriving drag force from velocity (if equals to zero, direct grid velocity is used).", true);
+ ParamDefTable[29].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=30, longName="externalVelocity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[30];
+ ParamDef->init("externalVelocity", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Allows external actors like wind or explosion to add a single directional velocity to the grid. \n If there are multiple calls to this function are made only the last call is honored (i.e. the velocities are not accumulated).", true);
+ ParamDefTable[30].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=31, longName="fieldVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[31];
+ ParamDef->init("fieldVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "A multiplier for the field velocity.", true);
+ ParamDefTable[31].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=32, longName="fieldVelocityWeight"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[32];
+ ParamDef->init("fieldVelocityWeight", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[32].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "A weight for the field velocity. Controls how strongly the field velocity affects particles", true);
+ ParamDefTable[32].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=33, longName="useHeat"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[33];
+ ParamDef->init("useHeat", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Enable whether or not to use heat in the simulation.", true);
+ ParamDefTable[33].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=34, longName="heatParams"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[34];
+ ParamDef->init("heatParams", TYPE_STRUCT, "HeatParams", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=35, longName="heatParams.temperatureBasedForceMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[35];
+ ParamDef->init("temperatureBasedForceMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Multiplier for force induced by heat source.", true);
+ ParamDefTable[35].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=36, longName="heatParams.ambientTemperature"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[36];
+ ParamDef->init("ambientTemperature", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Environment temperature.", true);
+ ParamDefTable[36].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=37, longName="heatParams.heatForceDirection"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[37];
+ ParamDef->init("heatForceDirection", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Direction of the force induced by heat source.", true);
+ ParamDefTable[37].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=38, longName="heatParams.thermalConductivity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[38];
+ ParamDef->init("thermalConductivity", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Thermal conductivity. Default value is set for air.", true);
+ ParamDefTable[38].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=39, longName="useDensity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[39];
+ ParamDef->init("useDensity", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Enable whether or not to use density in the simulation.", true);
+ ParamDefTable[39].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=40, longName="densityParams"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[40];
+ ParamDef->init("densityParams", TYPE_STRUCT, "DensityParams", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=41, longName="densityParams.diffusionCoef"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[41];
+ ParamDef->init("diffusionCoef", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Diffusion coefficient for density (analog for viscosity in velocity equation.", true);
+ ParamDefTable[41].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=42, longName="densityParams.densityFieldFade"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[42];
+ ParamDef->init("densityFieldFade", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[42].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Each cell in density field are multiplied by (1 - densityFieldFade) every frame.", true);
+ ParamDefTable[42].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=43, longName="isEnabledOptimizedLOD"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[43];
+ ParamDef->init("isEnabledOptimizedLOD", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Enable more aggressive LOD.", true);
+ ParamDefTable[43].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=44, longName="customLOD"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[44];
+ ParamDef->init("customLOD", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Force the current LOD to a particular value, range is 0-1: 1.0f is maximum, 0.0f is minimum simulation quality.", true);
+ ParamDefTable[44].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=45, longName="lodWeights"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[45];
+ ParamDef->init("lodWeights", TYPE_STRUCT, "LODWeights", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=46, longName="lodWeights.maxDistance"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[46];
+ ParamDef->init("maxDistance", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Objects greater than this distance from the player will be culled more aggressively", true);
+ ParamDefTable[46].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=47, longName="lodWeights.distanceWeight"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[47];
+ ParamDef->init("distanceWeight", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Weight given to distance parameter in LOD function", true);
+ ParamDefTable[47].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=48, longName="lodWeights.bias"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[48];
+ ParamDef->init("bias", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "", true);
+ ParamDefTable[48].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=49, longName="lodWeights.benefitBias"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[49];
+ ParamDef->init("benefitBias", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "", true);
+ ParamDefTable[49].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=50, longName="lodWeights.benefitWeight"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[50];
+ ParamDef->init("benefitWeight", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "", true);
+ ParamDefTable[50].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=51, longName="noiseParams"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[51];
+ ParamDef->init("noiseParams", TYPE_STRUCT, "NoiseParams", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=52, longName="noiseParams.noiseStrength"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[52];
+ ParamDef->init("noiseStrength", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The strength of the noise added to the simulation.", true);
+ ParamDefTable[52].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=53, longName="noiseParams.noiseSpacePeriod"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[53];
+ ParamDef->init("noiseSpacePeriod", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Noise period in space.", true);
+ ParamDefTable[53].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=54, longName="noiseParams.noiseTimePeriod"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[54];
+ ParamDef->init("noiseTimePeriod", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Noise time period.", true);
+ ParamDefTable[54].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=55, longName="noiseParams.noiseOctaves"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[55];
+ ParamDef->init("noiseOctaves", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of the noise octaves (more octaves give more turbulent noise, but increase computational time).", true);
+ ParamDefTable[55].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=56, longName="dragCoeffForRigidBody"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[56];
+ ParamDef->init("dragCoeffForRigidBody", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "It is not true drag coef just mixing coefficient for slip and no-slip boundary condition. If set to zero supposed slip boundary condition on rigid bodies. If set to 1 supposed no-slip boundary condition else mixed (partly slip)", true);
+ ParamDefTable[56].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=57, longName="fluidViscosity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[57];
+ ParamDef->init("fluidViscosity", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Viscosity is the coefficient for velocity diffusion. If 0. there is no diffusion.", true);
+ ParamDefTable[57].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // SetChildren for: nodeIndex=0, longName=""
+ {
+ static Definition* Children[34];
+ Children[0] = PDEF_PTR(1);
+ Children[1] = PDEF_PTR(4);
+ Children[2] = PDEF_PTR(7);
+ Children[3] = PDEF_PTR(10);
+ Children[4] = PDEF_PTR(11);
+ Children[5] = PDEF_PTR(14);
+ Children[6] = PDEF_PTR(15);
+ Children[7] = PDEF_PTR(16);
+ Children[8] = PDEF_PTR(17);
+ Children[9] = PDEF_PTR(18);
+ Children[10] = PDEF_PTR(19);
+ Children[11] = PDEF_PTR(20);
+ Children[12] = PDEF_PTR(21);
+ Children[13] = PDEF_PTR(22);
+ Children[14] = PDEF_PTR(23);
+ Children[15] = PDEF_PTR(24);
+ Children[16] = PDEF_PTR(25);
+ Children[17] = PDEF_PTR(26);
+ Children[18] = PDEF_PTR(27);
+ Children[19] = PDEF_PTR(28);
+ Children[20] = PDEF_PTR(29);
+ Children[21] = PDEF_PTR(30);
+ Children[22] = PDEF_PTR(31);
+ Children[23] = PDEF_PTR(32);
+ Children[24] = PDEF_PTR(33);
+ Children[25] = PDEF_PTR(34);
+ Children[26] = PDEF_PTR(39);
+ Children[27] = PDEF_PTR(40);
+ Children[28] = PDEF_PTR(43);
+ Children[29] = PDEF_PTR(44);
+ Children[30] = PDEF_PTR(45);
+ Children[31] = PDEF_PTR(51);
+ Children[32] = PDEF_PTR(56);
+ Children[33] = PDEF_PTR(57);
+
+ ParamDefTable[0].setChildren(Children, 34);
+ }
+
+ // SetChildren for: nodeIndex=1, longName="gridXRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(2);
+ Children[1] = PDEF_PTR(3);
+
+ ParamDefTable[1].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=4, longName="gridYRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(5);
+ Children[1] = PDEF_PTR(6);
+
+ ParamDefTable[4].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=7, longName="gridZRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(8);
+ Children[1] = PDEF_PTR(9);
+
+ ParamDefTable[7].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=11, longName="updatesPerFrameRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(12);
+ Children[1] = PDEF_PTR(13);
+
+ ParamDefTable[11].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=34, longName="heatParams"
+ {
+ static Definition* Children[4];
+ Children[0] = PDEF_PTR(35);
+ Children[1] = PDEF_PTR(36);
+ Children[2] = PDEF_PTR(37);
+ Children[3] = PDEF_PTR(38);
+
+ ParamDefTable[34].setChildren(Children, 4);
+ }
+
+ // SetChildren for: nodeIndex=40, longName="densityParams"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(41);
+ Children[1] = PDEF_PTR(42);
+
+ ParamDefTable[40].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=45, longName="lodWeights"
+ {
+ static Definition* Children[5];
+ Children[0] = PDEF_PTR(46);
+ Children[1] = PDEF_PTR(47);
+ Children[2] = PDEF_PTR(48);
+ Children[3] = PDEF_PTR(49);
+ Children[4] = PDEF_PTR(50);
+
+ ParamDefTable[45].setChildren(Children, 5);
+ }
+
+ // SetChildren for: nodeIndex=51, longName="noiseParams"
+ {
+ static Definition* Children[4];
+ Children[0] = PDEF_PTR(52);
+ Children[1] = PDEF_PTR(53);
+ Children[2] = PDEF_PTR(54);
+ Children[3] = PDEF_PTR(55);
+
+ ParamDefTable[51].setChildren(Children, 4);
+ }
+
+ mBuiltFlag = true;
+
+}
+void TurbulenceFSAssetParams_0p6::initStrings(void)
+{
+ collisionFilterDataName.isAllocated = true;
+ collisionFilterDataName.buf = NULL;
+ fieldBoundaryFilterDataName.isAllocated = true;
+ fieldBoundaryFilterDataName.buf = NULL;
+ fieldSamplerFilterDataName.isAllocated = true;
+ fieldSamplerFilterDataName.buf = NULL;
+}
+
+void TurbulenceFSAssetParams_0p6::initDynamicArrays(void)
+{
+}
+
+void TurbulenceFSAssetParams_0p6::initDefaults(void)
+{
+
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+ gridXRange.min = (const char*)"EGR_16";
+ gridXRange.max = (const char*)"EGR_16";
+ gridYRange.min = (const char*)"EGR_16";
+ gridYRange.max = (const char*)"EGR_16";
+ gridZRange.min = (const char*)"EGR_16";
+ gridZRange.max = (const char*)"EGR_16";
+ gridSizeWorld = physx::PxVec3(init(12, 12, 12));
+
+ updatesPerFrameRange.min = 0.0f;
+ updatesPerFrameRange.max = 1.0f;
+
+ fluidVelocityMultiplier = float(1);
+ fluidVelocityClamp = float(1000000);
+ angularVelocityMultiplier = float(1);
+ angularVelocityClamp = float(1000000);
+ linearVelocityMultiplier = float(1);
+ linearVelocityClamp = float(1000000);
+ velocityFieldFade = float(0);
+ boundaryFadePercentage = float(0.1);
+ boundarySizePercentage = float(1);
+ maxCollidingObjects = uint32_t(32);
+ maxHeatSources = uint32_t(8);
+ maxSubstanceSources = uint32_t(8);
+ dragCoeff = float(0);
+ externalVelocity = physx::PxVec3(init(0.0, 0.0, 0.0));
+ fieldVelocityMultiplier = float(1);
+ fieldVelocityWeight = float(1);
+ useHeat = bool(false);
+ heatParams.temperatureBasedForceMultiplier = float(0.02);
+ heatParams.ambientTemperature = float(0);
+ heatParams.heatForceDirection = physx::PxVec3(init(0.0, 1.0, 0.0));
+ heatParams.thermalConductivity = float(0.025);
+ useDensity = bool(false);
+ densityParams.diffusionCoef = float(0);
+ densityParams.densityFieldFade = float(0);
+ isEnabledOptimizedLOD = bool(false);
+ customLOD = float(1);
+ lodWeights.maxDistance = float(100);
+ lodWeights.distanceWeight = float(1);
+ lodWeights.bias = float(0);
+ lodWeights.benefitBias = float(0);
+ lodWeights.benefitWeight = float(1);
+ noiseParams.noiseStrength = float(0);
+ noiseParams.noiseSpacePeriod = physx::PxVec3(init(1.0, 1.0, 1.0));
+ noiseParams.noiseTimePeriod = float(1);
+ noiseParams.noiseOctaves = uint32_t(1);
+ dragCoeffForRigidBody = float(0);
+ fluidViscosity = float(0);
+
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+}
+
+void TurbulenceFSAssetParams_0p6::initReferences(void)
+{
+}
+
+void TurbulenceFSAssetParams_0p6::freeDynamicArrays(void)
+{
+}
+
+void TurbulenceFSAssetParams_0p6::freeStrings(void)
+{
+
+ if (collisionFilterDataName.isAllocated && collisionFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)collisionFilterDataName.buf);
+ }
+
+ if (fieldBoundaryFilterDataName.isAllocated && fieldBoundaryFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)fieldBoundaryFilterDataName.buf);
+ }
+
+ if (fieldSamplerFilterDataName.isAllocated && fieldSamplerFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)fieldSamplerFilterDataName.buf);
+ }
+}
+
+void TurbulenceFSAssetParams_0p6::freeReferences(void)
+{
+}
+
+} // namespace parameterized
+} // namespace nvidia
diff --git a/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_0p7.cpp b/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_0p7.cpp
new file mode 100644
index 00000000..c159c452
--- /dev/null
+++ b/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_0p7.cpp
@@ -0,0 +1,1743 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and 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.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#include "TurbulenceFSAssetParams_0p7.h"
+#include <string.h>
+#include <stdlib.h>
+
+using namespace NvParameterized;
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+using namespace TurbulenceFSAssetParams_0p7NS;
+
+const char* const TurbulenceFSAssetParams_0p7Factory::vptr =
+ NvParameterized::getVptr<TurbulenceFSAssetParams_0p7, TurbulenceFSAssetParams_0p7::ClassAlignment>();
+
+const uint32_t NumParamDefs = 59;
+static NvParameterized::DefinitionImpl* ParamDefTable; // now allocated in buildTree [NumParamDefs];
+
+
+static const size_t ParamLookupChildrenTable[] =
+{
+ 1, 4, 7, 10, 11, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 34, 39, 40, 43, 44, 45, 51, 56, 57, 58, 2, 3, 5, 6, 8, 9, 12, 13,
+ 35, 36, 37, 38, 41, 42, 46, 47, 48, 49, 50, 52, 53, 54, 55,
+};
+
+#define TENUM(type) nvidia::##type
+#define CHILDREN(index) &ParamLookupChildrenTable[index]
+static const NvParameterized::ParamLookupNode ParamLookupTable[NumParamDefs] =
+{
+ { TYPE_STRUCT, false, 0, CHILDREN(0), 35 },
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->gridXRange), CHILDREN(35), 2 }, // gridXRange
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->min), NULL, 0 }, // gridXRange.min
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->max), NULL, 0 }, // gridXRange.max
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->gridYRange), CHILDREN(37), 2 }, // gridYRange
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->min), NULL, 0 }, // gridYRange.min
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->max), NULL, 0 }, // gridYRange.max
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->gridZRange), CHILDREN(39), 2 }, // gridZRange
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->min), NULL, 0 }, // gridZRange.min
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->max), NULL, 0 }, // gridZRange.max
+ { TYPE_VEC3, false, (size_t)(&((ParametersStruct*)0)->gridSizeWorld), NULL, 0 }, // gridSizeWorld
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->updatesPerFrameRange), CHILDREN(41), 2 }, // updatesPerFrameRange
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->min), NULL, 0 }, // updatesPerFrameRange.min
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->max), NULL, 0 }, // updatesPerFrameRange.max
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fluidVelocityMultiplier), NULL, 0 }, // fluidVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fluidVelocityClamp), NULL, 0 }, // fluidVelocityClamp
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->angularVelocityMultiplier), NULL, 0 }, // angularVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->angularVelocityClamp), NULL, 0 }, // angularVelocityClamp
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->linearVelocityMultiplier), NULL, 0 }, // linearVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->linearVelocityClamp), NULL, 0 }, // linearVelocityClamp
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->velocityFieldFade), NULL, 0 }, // velocityFieldFade
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->boundaryFadePercentage), NULL, 0 }, // boundaryFadePercentage
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->boundarySizePercentage), NULL, 0 }, // boundarySizePercentage
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->collisionFilterDataName), NULL, 0 }, // collisionFilterDataName
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->fieldBoundaryFilterDataName), NULL, 0 }, // fieldBoundaryFilterDataName
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->fieldSamplerFilterDataName), NULL, 0 }, // fieldSamplerFilterDataName
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->maxCollidingObjects), NULL, 0 }, // maxCollidingObjects
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->maxHeatSources), NULL, 0 }, // maxHeatSources
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->maxSubstanceSources), NULL, 0 }, // maxSubstanceSources
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->dragCoeff), NULL, 0 }, // dragCoeff
+ { TYPE_VEC3, false, (size_t)(&((ParametersStruct*)0)->externalVelocity), NULL, 0 }, // externalVelocity
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fieldVelocityMultiplier), NULL, 0 }, // fieldVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fieldVelocityWeight), NULL, 0 }, // fieldVelocityWeight
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->useHeat), NULL, 0 }, // useHeat
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->heatParams), CHILDREN(43), 4 }, // heatParams
+ { TYPE_F32, false, (size_t)(&((HeatParams_Type*)0)->temperatureBasedForceMultiplier), NULL, 0 }, // heatParams.temperatureBasedForceMultiplier
+ { TYPE_F32, false, (size_t)(&((HeatParams_Type*)0)->ambientTemperature), NULL, 0 }, // heatParams.ambientTemperature
+ { TYPE_VEC3, false, (size_t)(&((HeatParams_Type*)0)->heatForceDirection), NULL, 0 }, // heatParams.heatForceDirection
+ { TYPE_F32, false, (size_t)(&((HeatParams_Type*)0)->thermalConductivity), NULL, 0 }, // heatParams.thermalConductivity
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->useDensity), NULL, 0 }, // useDensity
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->densityParams), CHILDREN(47), 2 }, // densityParams
+ { TYPE_F32, false, (size_t)(&((DensityParams_Type*)0)->diffusionCoef), NULL, 0 }, // densityParams.diffusionCoef
+ { TYPE_F32, false, (size_t)(&((DensityParams_Type*)0)->densityFieldFade), NULL, 0 }, // densityParams.densityFieldFade
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->isEnabledOptimizedLOD), NULL, 0 }, // isEnabledOptimizedLOD
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->customLOD), NULL, 0 }, // customLOD
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->lodWeights), CHILDREN(49), 5 }, // lodWeights
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->maxDistance), NULL, 0 }, // lodWeights.maxDistance
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->distanceWeight), NULL, 0 }, // lodWeights.distanceWeight
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->bias), NULL, 0 }, // lodWeights.bias
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->benefitBias), NULL, 0 }, // lodWeights.benefitBias
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->benefitWeight), NULL, 0 }, // lodWeights.benefitWeight
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->noiseParams), CHILDREN(54), 4 }, // noiseParams
+ { TYPE_F32, false, (size_t)(&((NoiseParams_Type*)0)->noiseStrength), NULL, 0 }, // noiseParams.noiseStrength
+ { TYPE_VEC3, false, (size_t)(&((NoiseParams_Type*)0)->noiseSpacePeriod), NULL, 0 }, // noiseParams.noiseSpacePeriod
+ { TYPE_F32, false, (size_t)(&((NoiseParams_Type*)0)->noiseTimePeriod), NULL, 0 }, // noiseParams.noiseTimePeriod
+ { TYPE_U32, false, (size_t)(&((NoiseParams_Type*)0)->noiseOctaves), NULL, 0 }, // noiseParams.noiseOctaves
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->dragCoeffForRigidBody), NULL, 0 }, // dragCoeffForRigidBody
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fluidViscosity), NULL, 0 }, // fluidViscosity
+ { TYPE_REF, false, (size_t)(&((ParametersStruct*)0)->volumeRenderMaterialName), NULL, 0 }, // volumeRenderMaterialName
+};
+
+
+bool TurbulenceFSAssetParams_0p7::mBuiltFlag = false;
+NvParameterized::MutexType TurbulenceFSAssetParams_0p7::mBuiltFlagMutex;
+
+TurbulenceFSAssetParams_0p7::TurbulenceFSAssetParams_0p7(NvParameterized::Traits* traits, void* buf, int32_t* refCount) :
+ NvParameters(traits, buf, refCount)
+{
+ //mParameterizedTraits->registerFactory(className(), &TurbulenceFSAssetParams_0p7FactoryInst);
+
+ if (!buf) //Do not init data if it is inplace-deserialized
+ {
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+ initDefaults();
+ }
+}
+
+TurbulenceFSAssetParams_0p7::~TurbulenceFSAssetParams_0p7()
+{
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+}
+
+void TurbulenceFSAssetParams_0p7::destroy()
+{
+ // We cache these fields here to avoid overwrite in destructor
+ bool doDeallocateSelf = mDoDeallocateSelf;
+ NvParameterized::Traits* traits = mParameterizedTraits;
+ int32_t* refCount = mRefCount;
+ void* buf = mBuffer;
+
+ this->~TurbulenceFSAssetParams_0p7();
+
+ NvParameters::destroy(this, traits, doDeallocateSelf, refCount, buf);
+}
+
+const NvParameterized::DefinitionImpl* TurbulenceFSAssetParams_0p7::getParameterDefinitionTree(void)
+{
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+const NvParameterized::DefinitionImpl* TurbulenceFSAssetParams_0p7::getParameterDefinitionTree(void) const
+{
+ TurbulenceFSAssetParams_0p7* tmpParam = const_cast<TurbulenceFSAssetParams_0p7*>(this);
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ tmpParam->buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+NvParameterized::ErrorType TurbulenceFSAssetParams_0p7::getParameterHandle(const char* long_name, Handle& handle) const
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+NvParameterized::ErrorType TurbulenceFSAssetParams_0p7::getParameterHandle(const char* long_name, Handle& handle)
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+void TurbulenceFSAssetParams_0p7::getVarPtr(const Handle& handle, void*& ptr, size_t& offset) const
+{
+ ptr = getVarPtrHelper(&ParamLookupTable[0], const_cast<TurbulenceFSAssetParams_0p7::ParametersStruct*>(&parameters()), handle, offset);
+}
+
+
+/* Dynamic Handle Indices */
+
+void TurbulenceFSAssetParams_0p7::freeParameterDefinitionTable(NvParameterized::Traits* traits)
+{
+ if (!traits)
+ {
+ return;
+ }
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ return;
+ }
+
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+
+ if (!mBuiltFlag)
+ {
+ return;
+ }
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ ParamDefTable[i].~DefinitionImpl();
+ }
+
+ traits->free(ParamDefTable);
+
+ mBuiltFlag = false;
+}
+
+#define PDEF_PTR(index) (&ParamDefTable[index])
+
+void TurbulenceFSAssetParams_0p7::buildTree(void)
+{
+
+ uint32_t allocSize = sizeof(NvParameterized::DefinitionImpl) * NumParamDefs;
+ ParamDefTable = (NvParameterized::DefinitionImpl*)(mParameterizedTraits->alloc(allocSize));
+ memset(ParamDefTable, 0, allocSize);
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ NV_PARAM_PLACEMENT_NEW(ParamDefTable + i, NvParameterized::DefinitionImpl)(*mParameterizedTraits);
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=0, longName=""
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[0];
+ ParamDef->init("", TYPE_STRUCT, "STRUCT", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=1, longName="gridXRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[1];
+ ParamDef->init("gridXRange", TYPE_STRUCT, "turbulenceRangeStructEnum", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of grid cells in X dimension.", true);
+ ParamDefTable[1].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=2, longName="gridXRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[2];
+ ParamDef->init("min", TYPE_ENUM, NULL, true);
+
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[2].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=3, longName="gridXRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[3];
+ ParamDef->init("max", TYPE_ENUM, NULL, true);
+
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[3].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=4, longName="gridYRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[4];
+ ParamDef->init("gridYRange", TYPE_STRUCT, "turbulenceRangeStructEnum", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of grid cells in Y dimension.", true);
+ ParamDefTable[4].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=5, longName="gridYRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[5];
+ ParamDef->init("min", TYPE_ENUM, NULL, true);
+
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[5].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=6, longName="gridYRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[6];
+ ParamDef->init("max", TYPE_ENUM, NULL, true);
+
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[6].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=7, longName="gridZRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[7];
+ ParamDef->init("gridZRange", TYPE_STRUCT, "turbulenceRangeStructEnum", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of grid cells in Z dimension.", true);
+ ParamDefTable[7].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=8, longName="gridZRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[8];
+ ParamDef->init("min", TYPE_ENUM, NULL, true);
+
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[8].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=9, longName="gridZRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[9];
+ ParamDef->init("max", TYPE_ENUM, NULL, true);
+
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[9].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=10, longName="gridSizeWorld"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[10];
+ ParamDef->init("gridSizeWorld", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Size of the grid in world space.", true);
+ ParamDefTable[10].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=11, longName="updatesPerFrameRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[11];
+ ParamDef->init("updatesPerFrameRange", TYPE_STRUCT, "rangeStructF32", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The number of updates per frame. See APEX documentation for limitations.", true);
+ ParamDefTable[11].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=12, longName="updatesPerFrameRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[12];
+ ParamDef->init("min", TYPE_F32, NULL, true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=13, longName="updatesPerFrameRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[13];
+ ParamDef->init("max", TYPE_F32, NULL, true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=14, longName="fluidVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[14];
+ ParamDef->init("fluidVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "A multiplier for the velocity of the grid set by the user.", true);
+ ParamDefTable[14].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=15, longName="fluidVelocityClamp"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[15];
+ ParamDef->init("fluidVelocityClamp", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "A clamp for the velocity of the grid set by the user.", true);
+ ParamDefTable[15].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=16, longName="angularVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[16];
+ ParamDef->init("angularVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a multiplier for the angular velocity set by the user.", true);
+ ParamDefTable[16].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=17, longName="angularVelocityClamp"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[17];
+ ParamDef->init("angularVelocityClamp", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a clamp for the angular velocity set by the user.", true);
+ ParamDefTable[17].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=18, longName="linearVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[18];
+ ParamDef->init("linearVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a multiplier for the linear velocity set by the user.", true);
+ ParamDefTable[18].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=19, longName="linearVelocityClamp"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[19];
+ ParamDef->init("linearVelocityClamp", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a clamp for the linear velocity set by the user.", true);
+ ParamDefTable[19].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=20, longName="velocityFieldFade"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[20];
+ ParamDef->init("velocityFieldFade", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[20].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Each cell in velocity field are multiplied by (1 - velocityFieldFade) every frame.", true);
+ ParamDefTable[20].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=21, longName="boundaryFadePercentage"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[21];
+ ParamDef->init("boundaryFadePercentage", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[21].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Percentage of distance from boundary to center where fade out starts.", true);
+ ParamDefTable[21].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=22, longName="boundarySizePercentage"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[22];
+ ParamDef->init("boundarySizePercentage", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[22].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Boundary size as the percentage of grid size.", true);
+ ParamDefTable[22].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=23, longName="collisionFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[23];
+ ParamDef->init("collisionFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The filter data (group/groupsMask) name for TurbulenceFS vs PhysX interaction.", true);
+ ParamDefTable[23].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=24, longName="fieldBoundaryFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[24];
+ ParamDef->init("fieldBoundaryFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The filter data name for TurbulenceFS vs Field Boundaries interaction.", true);
+ ParamDefTable[24].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=25, longName="fieldSamplerFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[25];
+ ParamDef->init("fieldSamplerFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The filter data name for TurbulenceFS vs other Field Samplers interaction.", true);
+ ParamDefTable[25].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=26, longName="maxCollidingObjects"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[26];
+ ParamDef->init("maxCollidingObjects", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The maximum number of colliding objects.", true);
+ ParamDefTable[26].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=27, longName="maxHeatSources"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[27];
+ ParamDef->init("maxHeatSources", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The maximum number of heat source.", true);
+ ParamDefTable[27].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=28, longName="maxSubstanceSources"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[28];
+ ParamDef->init("maxSubstanceSources", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The maximum number of substance source (computed if density enabled).", true);
+ ParamDefTable[28].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=29, longName="dragCoeff"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[29];
+ ParamDef->init("dragCoeff", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Coefficient for deriving drag force from velocity (if equals to zero, direct grid velocity is used).", true);
+ ParamDefTable[29].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=30, longName="externalVelocity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[30];
+ ParamDef->init("externalVelocity", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Allows external actors like wind or explosion to add a single directional velocity to the grid. \n If there are multiple calls to this function are made only the last call is honored (i.e. the velocities are not accumulated).", true);
+ ParamDefTable[30].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=31, longName="fieldVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[31];
+ ParamDef->init("fieldVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "A multiplier for the field velocity.", true);
+ ParamDefTable[31].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=32, longName="fieldVelocityWeight"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[32];
+ ParamDef->init("fieldVelocityWeight", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[32].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "A weight for the field velocity. Controls how strongly the field velocity affects particles", true);
+ ParamDefTable[32].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=33, longName="useHeat"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[33];
+ ParamDef->init("useHeat", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Enable whether or not to use heat in the simulation.", true);
+ ParamDefTable[33].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=34, longName="heatParams"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[34];
+ ParamDef->init("heatParams", TYPE_STRUCT, "HeatParams", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=35, longName="heatParams.temperatureBasedForceMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[35];
+ ParamDef->init("temperatureBasedForceMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Multiplier for force induced by heat source.", true);
+ ParamDefTable[35].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=36, longName="heatParams.ambientTemperature"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[36];
+ ParamDef->init("ambientTemperature", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Environment temperature.", true);
+ ParamDefTable[36].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=37, longName="heatParams.heatForceDirection"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[37];
+ ParamDef->init("heatForceDirection", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Direction of the force induced by heat source.", true);
+ ParamDefTable[37].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=38, longName="heatParams.thermalConductivity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[38];
+ ParamDef->init("thermalConductivity", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Thermal conductivity. Default value is set for air.", true);
+ ParamDefTable[38].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=39, longName="useDensity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[39];
+ ParamDef->init("useDensity", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Enable whether or not to use density in the simulation.", true);
+ ParamDefTable[39].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=40, longName="densityParams"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[40];
+ ParamDef->init("densityParams", TYPE_STRUCT, "DensityParams", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=41, longName="densityParams.diffusionCoef"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[41];
+ ParamDef->init("diffusionCoef", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Diffusion coefficient for density (analog for viscosity in velocity equation.", true);
+ ParamDefTable[41].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=42, longName="densityParams.densityFieldFade"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[42];
+ ParamDef->init("densityFieldFade", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[42].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Each cell in density field are multiplied by (1 - densityFieldFade) every frame.", true);
+ ParamDefTable[42].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=43, longName="isEnabledOptimizedLOD"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[43];
+ ParamDef->init("isEnabledOptimizedLOD", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Enable more aggressive LOD.", true);
+ ParamDefTable[43].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=44, longName="customLOD"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[44];
+ ParamDef->init("customLOD", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Force the current LOD to a particular value, range is 0-1: 1.0f is maximum, 0.0f is minimum simulation quality.", true);
+ ParamDefTable[44].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=45, longName="lodWeights"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[45];
+ ParamDef->init("lodWeights", TYPE_STRUCT, "LODWeights", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=46, longName="lodWeights.maxDistance"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[46];
+ ParamDef->init("maxDistance", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Objects greater than this distance from the player will be culled more aggressively", true);
+ ParamDefTable[46].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=47, longName="lodWeights.distanceWeight"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[47];
+ ParamDef->init("distanceWeight", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Weight given to distance parameter in LOD function", true);
+ ParamDefTable[47].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=48, longName="lodWeights.bias"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[48];
+ ParamDef->init("bias", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "", true);
+ ParamDefTable[48].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=49, longName="lodWeights.benefitBias"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[49];
+ ParamDef->init("benefitBias", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "", true);
+ ParamDefTable[49].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=50, longName="lodWeights.benefitWeight"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[50];
+ ParamDef->init("benefitWeight", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "", true);
+ ParamDefTable[50].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=51, longName="noiseParams"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[51];
+ ParamDef->init("noiseParams", TYPE_STRUCT, "NoiseParams", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=52, longName="noiseParams.noiseStrength"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[52];
+ ParamDef->init("noiseStrength", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The strength of the noise added to the simulation.", true);
+ ParamDefTable[52].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=53, longName="noiseParams.noiseSpacePeriod"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[53];
+ ParamDef->init("noiseSpacePeriod", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Noise period in space.", true);
+ ParamDefTable[53].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=54, longName="noiseParams.noiseTimePeriod"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[54];
+ ParamDef->init("noiseTimePeriod", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Noise time period.", true);
+ ParamDefTable[54].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=55, longName="noiseParams.noiseOctaves"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[55];
+ ParamDef->init("noiseOctaves", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of the noise octaves (more octaves give more turbulent noise, but increase computational time).", true);
+ ParamDefTable[55].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=56, longName="dragCoeffForRigidBody"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[56];
+ ParamDef->init("dragCoeffForRigidBody", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "It is not true drag coef just mixing coefficient for slip and no-slip boundary condition. If set to zero supposed slip boundary condition on rigid bodies. If set to 1 supposed no-slip boundary condition else mixed (partly slip)", true);
+ ParamDefTable[56].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=57, longName="fluidViscosity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[57];
+ ParamDef->init("fluidViscosity", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Viscosity is the coefficient for velocity diffusion. If 0. there is no diffusion.", true);
+ ParamDefTable[57].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=58, longName="volumeRenderMaterialName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[58];
+ ParamDef->init("volumeRenderMaterialName", TYPE_REF, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The optional volume render material name", true);
+ ParamDefTable[58].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+ static const char* const RefVariantVals[] = { "ApexVolumeRenderMaterials" };
+ ParamDefTable[58].setRefVariantVals((const char**)RefVariantVals, 1);
+
+
+
+ }
+
+ // SetChildren for: nodeIndex=0, longName=""
+ {
+ static Definition* Children[35];
+ Children[0] = PDEF_PTR(1);
+ Children[1] = PDEF_PTR(4);
+ Children[2] = PDEF_PTR(7);
+ Children[3] = PDEF_PTR(10);
+ Children[4] = PDEF_PTR(11);
+ Children[5] = PDEF_PTR(14);
+ Children[6] = PDEF_PTR(15);
+ Children[7] = PDEF_PTR(16);
+ Children[8] = PDEF_PTR(17);
+ Children[9] = PDEF_PTR(18);
+ Children[10] = PDEF_PTR(19);
+ Children[11] = PDEF_PTR(20);
+ Children[12] = PDEF_PTR(21);
+ Children[13] = PDEF_PTR(22);
+ Children[14] = PDEF_PTR(23);
+ Children[15] = PDEF_PTR(24);
+ Children[16] = PDEF_PTR(25);
+ Children[17] = PDEF_PTR(26);
+ Children[18] = PDEF_PTR(27);
+ Children[19] = PDEF_PTR(28);
+ Children[20] = PDEF_PTR(29);
+ Children[21] = PDEF_PTR(30);
+ Children[22] = PDEF_PTR(31);
+ Children[23] = PDEF_PTR(32);
+ Children[24] = PDEF_PTR(33);
+ Children[25] = PDEF_PTR(34);
+ Children[26] = PDEF_PTR(39);
+ Children[27] = PDEF_PTR(40);
+ Children[28] = PDEF_PTR(43);
+ Children[29] = PDEF_PTR(44);
+ Children[30] = PDEF_PTR(45);
+ Children[31] = PDEF_PTR(51);
+ Children[32] = PDEF_PTR(56);
+ Children[33] = PDEF_PTR(57);
+ Children[34] = PDEF_PTR(58);
+
+ ParamDefTable[0].setChildren(Children, 35);
+ }
+
+ // SetChildren for: nodeIndex=1, longName="gridXRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(2);
+ Children[1] = PDEF_PTR(3);
+
+ ParamDefTable[1].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=4, longName="gridYRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(5);
+ Children[1] = PDEF_PTR(6);
+
+ ParamDefTable[4].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=7, longName="gridZRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(8);
+ Children[1] = PDEF_PTR(9);
+
+ ParamDefTable[7].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=11, longName="updatesPerFrameRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(12);
+ Children[1] = PDEF_PTR(13);
+
+ ParamDefTable[11].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=34, longName="heatParams"
+ {
+ static Definition* Children[4];
+ Children[0] = PDEF_PTR(35);
+ Children[1] = PDEF_PTR(36);
+ Children[2] = PDEF_PTR(37);
+ Children[3] = PDEF_PTR(38);
+
+ ParamDefTable[34].setChildren(Children, 4);
+ }
+
+ // SetChildren for: nodeIndex=40, longName="densityParams"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(41);
+ Children[1] = PDEF_PTR(42);
+
+ ParamDefTable[40].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=45, longName="lodWeights"
+ {
+ static Definition* Children[5];
+ Children[0] = PDEF_PTR(46);
+ Children[1] = PDEF_PTR(47);
+ Children[2] = PDEF_PTR(48);
+ Children[3] = PDEF_PTR(49);
+ Children[4] = PDEF_PTR(50);
+
+ ParamDefTable[45].setChildren(Children, 5);
+ }
+
+ // SetChildren for: nodeIndex=51, longName="noiseParams"
+ {
+ static Definition* Children[4];
+ Children[0] = PDEF_PTR(52);
+ Children[1] = PDEF_PTR(53);
+ Children[2] = PDEF_PTR(54);
+ Children[3] = PDEF_PTR(55);
+
+ ParamDefTable[51].setChildren(Children, 4);
+ }
+
+ mBuiltFlag = true;
+
+}
+void TurbulenceFSAssetParams_0p7::initStrings(void)
+{
+ collisionFilterDataName.isAllocated = true;
+ collisionFilterDataName.buf = NULL;
+ fieldBoundaryFilterDataName.isAllocated = true;
+ fieldBoundaryFilterDataName.buf = NULL;
+ fieldSamplerFilterDataName.isAllocated = true;
+ fieldSamplerFilterDataName.buf = NULL;
+}
+
+void TurbulenceFSAssetParams_0p7::initDynamicArrays(void)
+{
+}
+
+void TurbulenceFSAssetParams_0p7::initDefaults(void)
+{
+
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+ gridXRange.min = (const char*)"EGR_16";
+ gridXRange.max = (const char*)"EGR_16";
+ gridYRange.min = (const char*)"EGR_16";
+ gridYRange.max = (const char*)"EGR_16";
+ gridZRange.min = (const char*)"EGR_16";
+ gridZRange.max = (const char*)"EGR_16";
+ gridSizeWorld = physx::PxVec3(init(12, 12, 12));
+
+ updatesPerFrameRange.min = 0.0f;
+ updatesPerFrameRange.max = 1.0f;
+
+ fluidVelocityMultiplier = float(1);
+ fluidVelocityClamp = float(1000000);
+ angularVelocityMultiplier = float(1);
+ angularVelocityClamp = float(1000000);
+ linearVelocityMultiplier = float(1);
+ linearVelocityClamp = float(1000000);
+ velocityFieldFade = float(0);
+ boundaryFadePercentage = float(0.1);
+ boundarySizePercentage = float(1);
+ maxCollidingObjects = uint32_t(32);
+ maxHeatSources = uint32_t(8);
+ maxSubstanceSources = uint32_t(8);
+ dragCoeff = float(0);
+ externalVelocity = physx::PxVec3(init(0.0, 0.0, 0.0));
+ fieldVelocityMultiplier = float(1);
+ fieldVelocityWeight = float(1);
+ useHeat = bool(false);
+ heatParams.temperatureBasedForceMultiplier = float(0.02);
+ heatParams.ambientTemperature = float(0);
+ heatParams.heatForceDirection = physx::PxVec3(init(0.0, 1.0, 0.0));
+ heatParams.thermalConductivity = float(0.025);
+ useDensity = bool(false);
+ densityParams.diffusionCoef = float(0);
+ densityParams.densityFieldFade = float(0);
+ isEnabledOptimizedLOD = bool(false);
+ customLOD = float(1);
+ lodWeights.maxDistance = float(100);
+ lodWeights.distanceWeight = float(1);
+ lodWeights.bias = float(0);
+ lodWeights.benefitBias = float(0);
+ lodWeights.benefitWeight = float(1);
+ noiseParams.noiseStrength = float(0);
+ noiseParams.noiseSpacePeriod = physx::PxVec3(init(1.0, 1.0, 1.0));
+ noiseParams.noiseTimePeriod = float(1);
+ noiseParams.noiseOctaves = uint32_t(1);
+ dragCoeffForRigidBody = float(0);
+ fluidViscosity = float(0);
+
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+}
+
+void TurbulenceFSAssetParams_0p7::initReferences(void)
+{
+ volumeRenderMaterialName = NULL;
+
+}
+
+void TurbulenceFSAssetParams_0p7::freeDynamicArrays(void)
+{
+}
+
+void TurbulenceFSAssetParams_0p7::freeStrings(void)
+{
+
+ if (collisionFilterDataName.isAllocated && collisionFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)collisionFilterDataName.buf);
+ }
+
+ if (fieldBoundaryFilterDataName.isAllocated && fieldBoundaryFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)fieldBoundaryFilterDataName.buf);
+ }
+
+ if (fieldSamplerFilterDataName.isAllocated && fieldSamplerFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)fieldSamplerFilterDataName.buf);
+ }
+}
+
+void TurbulenceFSAssetParams_0p7::freeReferences(void)
+{
+ if (volumeRenderMaterialName)
+ {
+ volumeRenderMaterialName->destroy();
+ }
+
+}
+
+} // namespace parameterized
+} // namespace nvidia
diff --git a/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_0p8.cpp b/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_0p8.cpp
new file mode 100644
index 00000000..5ae3a62d
--- /dev/null
+++ b/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_0p8.cpp
@@ -0,0 +1,1774 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and 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.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#include "TurbulenceFSAssetParams_0p8.h"
+#include <string.h>
+#include <stdlib.h>
+
+using namespace NvParameterized;
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+using namespace TurbulenceFSAssetParams_0p8NS;
+
+const char* const TurbulenceFSAssetParams_0p8Factory::vptr =
+ NvParameterized::getVptr<TurbulenceFSAssetParams_0p8, TurbulenceFSAssetParams_0p8::ClassAlignment>();
+
+const uint32_t NumParamDefs = 60;
+static NvParameterized::DefinitionImpl* ParamDefTable; // now allocated in buildTree [NumParamDefs];
+
+
+static const size_t ParamLookupChildrenTable[] =
+{
+ 1, 4, 7, 10, 11, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 34, 39, 40, 44, 45, 46, 52, 57, 58, 59, 2, 3, 5, 6, 8, 9, 12, 13,
+ 35, 36, 37, 38, 41, 42, 43, 47, 48, 49, 50, 51, 53, 54, 55, 56,
+};
+
+#define TENUM(type) nvidia::##type
+#define CHILDREN(index) &ParamLookupChildrenTable[index]
+static const NvParameterized::ParamLookupNode ParamLookupTable[NumParamDefs] =
+{
+ { TYPE_STRUCT, false, 0, CHILDREN(0), 35 },
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->gridXRange), CHILDREN(35), 2 }, // gridXRange
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->min), NULL, 0 }, // gridXRange.min
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->max), NULL, 0 }, // gridXRange.max
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->gridYRange), CHILDREN(37), 2 }, // gridYRange
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->min), NULL, 0 }, // gridYRange.min
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->max), NULL, 0 }, // gridYRange.max
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->gridZRange), CHILDREN(39), 2 }, // gridZRange
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->min), NULL, 0 }, // gridZRange.min
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->max), NULL, 0 }, // gridZRange.max
+ { TYPE_VEC3, false, (size_t)(&((ParametersStruct*)0)->gridSizeWorld), NULL, 0 }, // gridSizeWorld
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->updatesPerFrameRange), CHILDREN(41), 2 }, // updatesPerFrameRange
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->min), NULL, 0 }, // updatesPerFrameRange.min
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->max), NULL, 0 }, // updatesPerFrameRange.max
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fluidVelocityMultiplier), NULL, 0 }, // fluidVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fluidVelocityClamp), NULL, 0 }, // fluidVelocityClamp
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->angularVelocityMultiplier), NULL, 0 }, // angularVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->angularVelocityClamp), NULL, 0 }, // angularVelocityClamp
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->linearVelocityMultiplier), NULL, 0 }, // linearVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->linearVelocityClamp), NULL, 0 }, // linearVelocityClamp
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->velocityFieldFade), NULL, 0 }, // velocityFieldFade
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->boundaryFadePercentage), NULL, 0 }, // boundaryFadePercentage
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->boundarySizePercentage), NULL, 0 }, // boundarySizePercentage
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->collisionFilterDataName), NULL, 0 }, // collisionFilterDataName
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->fieldBoundaryFilterDataName), NULL, 0 }, // fieldBoundaryFilterDataName
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->fieldSamplerFilterDataName), NULL, 0 }, // fieldSamplerFilterDataName
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->maxCollidingObjects), NULL, 0 }, // maxCollidingObjects
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->maxHeatSources), NULL, 0 }, // maxHeatSources
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->maxSubstanceSources), NULL, 0 }, // maxSubstanceSources
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->dragCoeff), NULL, 0 }, // dragCoeff
+ { TYPE_VEC3, false, (size_t)(&((ParametersStruct*)0)->externalVelocity), NULL, 0 }, // externalVelocity
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fieldVelocityMultiplier), NULL, 0 }, // fieldVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fieldVelocityWeight), NULL, 0 }, // fieldVelocityWeight
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->useHeat), NULL, 0 }, // useHeat
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->heatParams), CHILDREN(43), 4 }, // heatParams
+ { TYPE_F32, false, (size_t)(&((HeatParams_Type*)0)->temperatureBasedForceMultiplier), NULL, 0 }, // heatParams.temperatureBasedForceMultiplier
+ { TYPE_F32, false, (size_t)(&((HeatParams_Type*)0)->ambientTemperature), NULL, 0 }, // heatParams.ambientTemperature
+ { TYPE_VEC3, false, (size_t)(&((HeatParams_Type*)0)->heatForceDirection), NULL, 0 }, // heatParams.heatForceDirection
+ { TYPE_F32, false, (size_t)(&((HeatParams_Type*)0)->thermalConductivity), NULL, 0 }, // heatParams.thermalConductivity
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->useDensity), NULL, 0 }, // useDensity
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->densityParams), CHILDREN(47), 3 }, // densityParams
+ { TYPE_F32, false, (size_t)(&((DensityParams_Type*)0)->diffusionCoef), NULL, 0 }, // densityParams.diffusionCoef
+ { TYPE_F32, false, (size_t)(&((DensityParams_Type*)0)->densityFieldFade), NULL, 0 }, // densityParams.densityFieldFade
+ { TYPE_U32, false, (size_t)(&((DensityParams_Type*)0)->densityGridMultiplier), NULL, 0 }, // densityParams.densityGridMultiplier
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->isEnabledOptimizedLOD), NULL, 0 }, // isEnabledOptimizedLOD
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->customLOD), NULL, 0 }, // customLOD
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->lodWeights), CHILDREN(50), 5 }, // lodWeights
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->maxDistance), NULL, 0 }, // lodWeights.maxDistance
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->distanceWeight), NULL, 0 }, // lodWeights.distanceWeight
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->bias), NULL, 0 }, // lodWeights.bias
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->benefitBias), NULL, 0 }, // lodWeights.benefitBias
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->benefitWeight), NULL, 0 }, // lodWeights.benefitWeight
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->noiseParams), CHILDREN(55), 4 }, // noiseParams
+ { TYPE_F32, false, (size_t)(&((NoiseParams_Type*)0)->noiseStrength), NULL, 0 }, // noiseParams.noiseStrength
+ { TYPE_VEC3, false, (size_t)(&((NoiseParams_Type*)0)->noiseSpacePeriod), NULL, 0 }, // noiseParams.noiseSpacePeriod
+ { TYPE_F32, false, (size_t)(&((NoiseParams_Type*)0)->noiseTimePeriod), NULL, 0 }, // noiseParams.noiseTimePeriod
+ { TYPE_U32, false, (size_t)(&((NoiseParams_Type*)0)->noiseOctaves), NULL, 0 }, // noiseParams.noiseOctaves
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->dragCoeffForRigidBody), NULL, 0 }, // dragCoeffForRigidBody
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fluidViscosity), NULL, 0 }, // fluidViscosity
+ { TYPE_REF, false, (size_t)(&((ParametersStruct*)0)->volumeRenderMaterialName), NULL, 0 }, // volumeRenderMaterialName
+};
+
+
+bool TurbulenceFSAssetParams_0p8::mBuiltFlag = false;
+NvParameterized::MutexType TurbulenceFSAssetParams_0p8::mBuiltFlagMutex;
+
+TurbulenceFSAssetParams_0p8::TurbulenceFSAssetParams_0p8(NvParameterized::Traits* traits, void* buf, int32_t* refCount) :
+ NvParameters(traits, buf, refCount)
+{
+ //mParameterizedTraits->registerFactory(className(), &TurbulenceFSAssetParams_0p8FactoryInst);
+
+ if (!buf) //Do not init data if it is inplace-deserialized
+ {
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+ initDefaults();
+ }
+}
+
+TurbulenceFSAssetParams_0p8::~TurbulenceFSAssetParams_0p8()
+{
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+}
+
+void TurbulenceFSAssetParams_0p8::destroy()
+{
+ // We cache these fields here to avoid overwrite in destructor
+ bool doDeallocateSelf = mDoDeallocateSelf;
+ NvParameterized::Traits* traits = mParameterizedTraits;
+ int32_t* refCount = mRefCount;
+ void* buf = mBuffer;
+
+ this->~TurbulenceFSAssetParams_0p8();
+
+ NvParameters::destroy(this, traits, doDeallocateSelf, refCount, buf);
+}
+
+const NvParameterized::DefinitionImpl* TurbulenceFSAssetParams_0p8::getParameterDefinitionTree(void)
+{
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+const NvParameterized::DefinitionImpl* TurbulenceFSAssetParams_0p8::getParameterDefinitionTree(void) const
+{
+ TurbulenceFSAssetParams_0p8* tmpParam = const_cast<TurbulenceFSAssetParams_0p8*>(this);
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ tmpParam->buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+NvParameterized::ErrorType TurbulenceFSAssetParams_0p8::getParameterHandle(const char* long_name, Handle& handle) const
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+NvParameterized::ErrorType TurbulenceFSAssetParams_0p8::getParameterHandle(const char* long_name, Handle& handle)
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+void TurbulenceFSAssetParams_0p8::getVarPtr(const Handle& handle, void*& ptr, size_t& offset) const
+{
+ ptr = getVarPtrHelper(&ParamLookupTable[0], const_cast<TurbulenceFSAssetParams_0p8::ParametersStruct*>(&parameters()), handle, offset);
+}
+
+
+/* Dynamic Handle Indices */
+
+void TurbulenceFSAssetParams_0p8::freeParameterDefinitionTable(NvParameterized::Traits* traits)
+{
+ if (!traits)
+ {
+ return;
+ }
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ return;
+ }
+
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+
+ if (!mBuiltFlag)
+ {
+ return;
+ }
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ ParamDefTable[i].~DefinitionImpl();
+ }
+
+ traits->free(ParamDefTable);
+
+ mBuiltFlag = false;
+}
+
+#define PDEF_PTR(index) (&ParamDefTable[index])
+
+void TurbulenceFSAssetParams_0p8::buildTree(void)
+{
+
+ uint32_t allocSize = sizeof(NvParameterized::DefinitionImpl) * NumParamDefs;
+ ParamDefTable = (NvParameterized::DefinitionImpl*)(mParameterizedTraits->alloc(allocSize));
+ memset(ParamDefTable, 0, allocSize);
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ NV_PARAM_PLACEMENT_NEW(ParamDefTable + i, NvParameterized::DefinitionImpl)(*mParameterizedTraits);
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=0, longName=""
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[0];
+ ParamDef->init("", TYPE_STRUCT, "STRUCT", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=1, longName="gridXRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[1];
+ ParamDef->init("gridXRange", TYPE_STRUCT, "turbulenceRangeStructEnum", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of grid cells in X dimension.", true);
+ ParamDefTable[1].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=2, longName="gridXRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[2];
+ ParamDef->init("min", TYPE_ENUM, NULL, true);
+
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[2].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=3, longName="gridXRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[3];
+ ParamDef->init("max", TYPE_ENUM, NULL, true);
+
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[3].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=4, longName="gridYRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[4];
+ ParamDef->init("gridYRange", TYPE_STRUCT, "turbulenceRangeStructEnum", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of grid cells in Y dimension.", true);
+ ParamDefTable[4].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=5, longName="gridYRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[5];
+ ParamDef->init("min", TYPE_ENUM, NULL, true);
+
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[5].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=6, longName="gridYRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[6];
+ ParamDef->init("max", TYPE_ENUM, NULL, true);
+
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[6].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=7, longName="gridZRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[7];
+ ParamDef->init("gridZRange", TYPE_STRUCT, "turbulenceRangeStructEnum", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of grid cells in Z dimension.", true);
+ ParamDefTable[7].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=8, longName="gridZRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[8];
+ ParamDef->init("min", TYPE_ENUM, NULL, true);
+
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[8].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=9, longName="gridZRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[9];
+ ParamDef->init("max", TYPE_ENUM, NULL, true);
+
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[9].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=10, longName="gridSizeWorld"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[10];
+ ParamDef->init("gridSizeWorld", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Size of the grid in world space.", true);
+ ParamDefTable[10].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=11, longName="updatesPerFrameRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[11];
+ ParamDef->init("updatesPerFrameRange", TYPE_STRUCT, "rangeStructF32", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The number of updates per frame. See APEX documentation for limitations.", true);
+ ParamDefTable[11].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=12, longName="updatesPerFrameRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[12];
+ ParamDef->init("min", TYPE_F32, NULL, true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=13, longName="updatesPerFrameRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[13];
+ ParamDef->init("max", TYPE_F32, NULL, true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=14, longName="fluidVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[14];
+ ParamDef->init("fluidVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "A multiplier for the velocity of the grid set by the user.", true);
+ ParamDefTable[14].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=15, longName="fluidVelocityClamp"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[15];
+ ParamDef->init("fluidVelocityClamp", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "A clamp for the velocity of the grid set by the user.", true);
+ ParamDefTable[15].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=16, longName="angularVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[16];
+ ParamDef->init("angularVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a multiplier for the angular velocity set by the user.", true);
+ ParamDefTable[16].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=17, longName="angularVelocityClamp"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[17];
+ ParamDef->init("angularVelocityClamp", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a clamp for the angular velocity set by the user.", true);
+ ParamDefTable[17].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=18, longName="linearVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[18];
+ ParamDef->init("linearVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a multiplier for the linear velocity set by the user.", true);
+ ParamDefTable[18].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=19, longName="linearVelocityClamp"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[19];
+ ParamDef->init("linearVelocityClamp", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a clamp for the linear velocity set by the user.", true);
+ ParamDefTable[19].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=20, longName="velocityFieldFade"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[20];
+ ParamDef->init("velocityFieldFade", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[20].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Each cell in velocity field are multiplied by (1 - velocityFieldFade) every frame.", true);
+ ParamDefTable[20].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=21, longName="boundaryFadePercentage"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[21];
+ ParamDef->init("boundaryFadePercentage", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[21].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Percentage of distance from boundary to center where fade out starts.", true);
+ ParamDefTable[21].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=22, longName="boundarySizePercentage"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[22];
+ ParamDef->init("boundarySizePercentage", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[22].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Boundary size as the percentage of grid size.", true);
+ ParamDefTable[22].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=23, longName="collisionFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[23];
+ ParamDef->init("collisionFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The filter data (group/groupsMask) name for TurbulenceFS vs PhysX interaction.", true);
+ ParamDefTable[23].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=24, longName="fieldBoundaryFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[24];
+ ParamDef->init("fieldBoundaryFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The filter data name for TurbulenceFS vs Field Boundaries interaction.", true);
+ ParamDefTable[24].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=25, longName="fieldSamplerFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[25];
+ ParamDef->init("fieldSamplerFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The filter data name for TurbulenceFS vs other Field Samplers interaction.", true);
+ ParamDefTable[25].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=26, longName="maxCollidingObjects"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[26];
+ ParamDef->init("maxCollidingObjects", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The maximum number of colliding objects.", true);
+ ParamDefTable[26].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=27, longName="maxHeatSources"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[27];
+ ParamDef->init("maxHeatSources", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The maximum number of heat source.", true);
+ ParamDefTable[27].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=28, longName="maxSubstanceSources"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[28];
+ ParamDef->init("maxSubstanceSources", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The maximum number of substance source (computed if density enabled).", true);
+ ParamDefTable[28].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=29, longName="dragCoeff"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[29];
+ ParamDef->init("dragCoeff", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Coefficient for deriving drag force from velocity (if equals to zero, direct grid velocity is used).", true);
+ ParamDefTable[29].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=30, longName="externalVelocity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[30];
+ ParamDef->init("externalVelocity", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Allows external actors like wind or explosion to add a single directional velocity to the grid. \n If there are multiple calls to this function are made only the last call is honored (i.e. the velocities are not accumulated).", true);
+ ParamDefTable[30].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=31, longName="fieldVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[31];
+ ParamDef->init("fieldVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "A multiplier for the field velocity.", true);
+ ParamDefTable[31].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=32, longName="fieldVelocityWeight"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[32];
+ ParamDef->init("fieldVelocityWeight", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[32].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "A weight for the field velocity. Controls how strongly the field velocity affects particles", true);
+ ParamDefTable[32].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=33, longName="useHeat"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[33];
+ ParamDef->init("useHeat", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Enable whether or not to use heat in the simulation.", true);
+ ParamDefTable[33].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=34, longName="heatParams"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[34];
+ ParamDef->init("heatParams", TYPE_STRUCT, "HeatParams", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=35, longName="heatParams.temperatureBasedForceMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[35];
+ ParamDef->init("temperatureBasedForceMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Multiplier for force induced by heat source.", true);
+ ParamDefTable[35].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=36, longName="heatParams.ambientTemperature"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[36];
+ ParamDef->init("ambientTemperature", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Environment temperature.", true);
+ ParamDefTable[36].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=37, longName="heatParams.heatForceDirection"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[37];
+ ParamDef->init("heatForceDirection", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Direction of the force induced by heat source.", true);
+ ParamDefTable[37].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=38, longName="heatParams.thermalConductivity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[38];
+ ParamDef->init("thermalConductivity", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Thermal conductivity. Default value is set for air.", true);
+ ParamDefTable[38].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=39, longName="useDensity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[39];
+ ParamDef->init("useDensity", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Enable whether or not to use density in the simulation.", true);
+ ParamDefTable[39].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=40, longName="densityParams"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[40];
+ ParamDef->init("densityParams", TYPE_STRUCT, "DensityParams", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=41, longName="densityParams.diffusionCoef"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[41];
+ ParamDef->init("diffusionCoef", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Diffusion coefficient for density (analog for viscosity in velocity equation.", true);
+ ParamDefTable[41].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=42, longName="densityParams.densityFieldFade"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[42];
+ ParamDef->init("densityFieldFade", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[42].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Each cell in density field are multiplied by (1 - densityFieldFade) every frame.", true);
+ ParamDefTable[42].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=43, longName="densityParams.densityGridMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[43];
+ ParamDef->init("densityGridMultiplier", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("min", uint64_t(1), true);
+ ParamDefTable[43].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("min", uint64_t(1), true);
+ HintTable[1].init("shortDescription", "Density grid resolution multiplier.", true);
+ ParamDefTable[43].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=44, longName="isEnabledOptimizedLOD"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[44];
+ ParamDef->init("isEnabledOptimizedLOD", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Enable more aggressive LOD.", true);
+ ParamDefTable[44].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=45, longName="customLOD"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[45];
+ ParamDef->init("customLOD", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Force the current LOD to a particular value, range is 0-1: 1.0f is maximum, 0.0f is minimum simulation quality.", true);
+ ParamDefTable[45].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=46, longName="lodWeights"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[46];
+ ParamDef->init("lodWeights", TYPE_STRUCT, "LODWeights", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=47, longName="lodWeights.maxDistance"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[47];
+ ParamDef->init("maxDistance", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Objects greater than this distance from the player will be culled more aggressively", true);
+ ParamDefTable[47].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=48, longName="lodWeights.distanceWeight"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[48];
+ ParamDef->init("distanceWeight", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Weight given to distance parameter in LOD function", true);
+ ParamDefTable[48].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=49, longName="lodWeights.bias"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[49];
+ ParamDef->init("bias", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "", true);
+ ParamDefTable[49].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=50, longName="lodWeights.benefitBias"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[50];
+ ParamDef->init("benefitBias", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "", true);
+ ParamDefTable[50].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=51, longName="lodWeights.benefitWeight"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[51];
+ ParamDef->init("benefitWeight", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "", true);
+ ParamDefTable[51].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=52, longName="noiseParams"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[52];
+ ParamDef->init("noiseParams", TYPE_STRUCT, "NoiseParams", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=53, longName="noiseParams.noiseStrength"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[53];
+ ParamDef->init("noiseStrength", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The strength of the noise added to the simulation.", true);
+ ParamDefTable[53].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=54, longName="noiseParams.noiseSpacePeriod"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[54];
+ ParamDef->init("noiseSpacePeriod", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Noise period in space.", true);
+ ParamDefTable[54].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=55, longName="noiseParams.noiseTimePeriod"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[55];
+ ParamDef->init("noiseTimePeriod", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Noise time period.", true);
+ ParamDefTable[55].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=56, longName="noiseParams.noiseOctaves"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[56];
+ ParamDef->init("noiseOctaves", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of the noise octaves (more octaves give more turbulent noise, but increase computational time).", true);
+ ParamDefTable[56].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=57, longName="dragCoeffForRigidBody"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[57];
+ ParamDef->init("dragCoeffForRigidBody", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "It is not true drag coef just mixing coefficient for slip and no-slip boundary condition. If set to zero supposed slip boundary condition on rigid bodies. If set to 1 supposed no-slip boundary condition else mixed (partly slip)", true);
+ ParamDefTable[57].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=58, longName="fluidViscosity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[58];
+ ParamDef->init("fluidViscosity", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Viscosity is the coefficient for velocity diffusion. If 0. there is no diffusion.", true);
+ ParamDefTable[58].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=59, longName="volumeRenderMaterialName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[59];
+ ParamDef->init("volumeRenderMaterialName", TYPE_REF, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The optional volume render material name", true);
+ ParamDefTable[59].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+ static const char* const RefVariantVals[] = { "ApexVolumeRenderMaterials" };
+ ParamDefTable[59].setRefVariantVals((const char**)RefVariantVals, 1);
+
+
+
+ }
+
+ // SetChildren for: nodeIndex=0, longName=""
+ {
+ static Definition* Children[35];
+ Children[0] = PDEF_PTR(1);
+ Children[1] = PDEF_PTR(4);
+ Children[2] = PDEF_PTR(7);
+ Children[3] = PDEF_PTR(10);
+ Children[4] = PDEF_PTR(11);
+ Children[5] = PDEF_PTR(14);
+ Children[6] = PDEF_PTR(15);
+ Children[7] = PDEF_PTR(16);
+ Children[8] = PDEF_PTR(17);
+ Children[9] = PDEF_PTR(18);
+ Children[10] = PDEF_PTR(19);
+ Children[11] = PDEF_PTR(20);
+ Children[12] = PDEF_PTR(21);
+ Children[13] = PDEF_PTR(22);
+ Children[14] = PDEF_PTR(23);
+ Children[15] = PDEF_PTR(24);
+ Children[16] = PDEF_PTR(25);
+ Children[17] = PDEF_PTR(26);
+ Children[18] = PDEF_PTR(27);
+ Children[19] = PDEF_PTR(28);
+ Children[20] = PDEF_PTR(29);
+ Children[21] = PDEF_PTR(30);
+ Children[22] = PDEF_PTR(31);
+ Children[23] = PDEF_PTR(32);
+ Children[24] = PDEF_PTR(33);
+ Children[25] = PDEF_PTR(34);
+ Children[26] = PDEF_PTR(39);
+ Children[27] = PDEF_PTR(40);
+ Children[28] = PDEF_PTR(44);
+ Children[29] = PDEF_PTR(45);
+ Children[30] = PDEF_PTR(46);
+ Children[31] = PDEF_PTR(52);
+ Children[32] = PDEF_PTR(57);
+ Children[33] = PDEF_PTR(58);
+ Children[34] = PDEF_PTR(59);
+
+ ParamDefTable[0].setChildren(Children, 35);
+ }
+
+ // SetChildren for: nodeIndex=1, longName="gridXRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(2);
+ Children[1] = PDEF_PTR(3);
+
+ ParamDefTable[1].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=4, longName="gridYRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(5);
+ Children[1] = PDEF_PTR(6);
+
+ ParamDefTable[4].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=7, longName="gridZRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(8);
+ Children[1] = PDEF_PTR(9);
+
+ ParamDefTable[7].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=11, longName="updatesPerFrameRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(12);
+ Children[1] = PDEF_PTR(13);
+
+ ParamDefTable[11].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=34, longName="heatParams"
+ {
+ static Definition* Children[4];
+ Children[0] = PDEF_PTR(35);
+ Children[1] = PDEF_PTR(36);
+ Children[2] = PDEF_PTR(37);
+ Children[3] = PDEF_PTR(38);
+
+ ParamDefTable[34].setChildren(Children, 4);
+ }
+
+ // SetChildren for: nodeIndex=40, longName="densityParams"
+ {
+ static Definition* Children[3];
+ Children[0] = PDEF_PTR(41);
+ Children[1] = PDEF_PTR(42);
+ Children[2] = PDEF_PTR(43);
+
+ ParamDefTable[40].setChildren(Children, 3);
+ }
+
+ // SetChildren for: nodeIndex=46, longName="lodWeights"
+ {
+ static Definition* Children[5];
+ Children[0] = PDEF_PTR(47);
+ Children[1] = PDEF_PTR(48);
+ Children[2] = PDEF_PTR(49);
+ Children[3] = PDEF_PTR(50);
+ Children[4] = PDEF_PTR(51);
+
+ ParamDefTable[46].setChildren(Children, 5);
+ }
+
+ // SetChildren for: nodeIndex=52, longName="noiseParams"
+ {
+ static Definition* Children[4];
+ Children[0] = PDEF_PTR(53);
+ Children[1] = PDEF_PTR(54);
+ Children[2] = PDEF_PTR(55);
+ Children[3] = PDEF_PTR(56);
+
+ ParamDefTable[52].setChildren(Children, 4);
+ }
+
+ mBuiltFlag = true;
+
+}
+void TurbulenceFSAssetParams_0p8::initStrings(void)
+{
+ collisionFilterDataName.isAllocated = true;
+ collisionFilterDataName.buf = NULL;
+ fieldBoundaryFilterDataName.isAllocated = true;
+ fieldBoundaryFilterDataName.buf = NULL;
+ fieldSamplerFilterDataName.isAllocated = true;
+ fieldSamplerFilterDataName.buf = NULL;
+}
+
+void TurbulenceFSAssetParams_0p8::initDynamicArrays(void)
+{
+}
+
+void TurbulenceFSAssetParams_0p8::initDefaults(void)
+{
+
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+ gridXRange.min = (const char*)"EGR_16";
+ gridXRange.max = (const char*)"EGR_16";
+ gridYRange.min = (const char*)"EGR_16";
+ gridYRange.max = (const char*)"EGR_16";
+ gridZRange.min = (const char*)"EGR_16";
+ gridZRange.max = (const char*)"EGR_16";
+ gridSizeWorld = physx::PxVec3(init(12, 12, 12));
+
+ updatesPerFrameRange.min = 0.0f;
+ updatesPerFrameRange.max = 1.0f;
+
+ fluidVelocityMultiplier = float(1);
+ fluidVelocityClamp = float(1000000);
+ angularVelocityMultiplier = float(1);
+ angularVelocityClamp = float(1000000);
+ linearVelocityMultiplier = float(1);
+ linearVelocityClamp = float(1000000);
+ velocityFieldFade = float(0);
+ boundaryFadePercentage = float(0.1);
+ boundarySizePercentage = float(1);
+ maxCollidingObjects = uint32_t(32);
+ maxHeatSources = uint32_t(8);
+ maxSubstanceSources = uint32_t(8);
+ dragCoeff = float(0);
+ externalVelocity = physx::PxVec3(init(0.0, 0.0, 0.0));
+ fieldVelocityMultiplier = float(1);
+ fieldVelocityWeight = float(1);
+ useHeat = bool(false);
+ heatParams.temperatureBasedForceMultiplier = float(0.02);
+ heatParams.ambientTemperature = float(0);
+ heatParams.heatForceDirection = physx::PxVec3(init(0.0, 1.0, 0.0));
+ heatParams.thermalConductivity = float(0.025);
+ useDensity = bool(false);
+ densityParams.diffusionCoef = float(0);
+ densityParams.densityFieldFade = float(0);
+ densityParams.densityGridMultiplier = uint32_t(1);
+ isEnabledOptimizedLOD = bool(false);
+ customLOD = float(1);
+ lodWeights.maxDistance = float(100);
+ lodWeights.distanceWeight = float(1);
+ lodWeights.bias = float(0);
+ lodWeights.benefitBias = float(0);
+ lodWeights.benefitWeight = float(1);
+ noiseParams.noiseStrength = float(0);
+ noiseParams.noiseSpacePeriod = physx::PxVec3(init(1.0, 1.0, 1.0));
+ noiseParams.noiseTimePeriod = float(1);
+ noiseParams.noiseOctaves = uint32_t(1);
+ dragCoeffForRigidBody = float(0);
+ fluidViscosity = float(0);
+
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+}
+
+void TurbulenceFSAssetParams_0p8::initReferences(void)
+{
+ volumeRenderMaterialName = NULL;
+
+}
+
+void TurbulenceFSAssetParams_0p8::freeDynamicArrays(void)
+{
+}
+
+void TurbulenceFSAssetParams_0p8::freeStrings(void)
+{
+
+ if (collisionFilterDataName.isAllocated && collisionFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)collisionFilterDataName.buf);
+ }
+
+ if (fieldBoundaryFilterDataName.isAllocated && fieldBoundaryFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)fieldBoundaryFilterDataName.buf);
+ }
+
+ if (fieldSamplerFilterDataName.isAllocated && fieldSamplerFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)fieldSamplerFilterDataName.buf);
+ }
+}
+
+void TurbulenceFSAssetParams_0p8::freeReferences(void)
+{
+ if (volumeRenderMaterialName)
+ {
+ volumeRenderMaterialName->destroy();
+ }
+
+}
+
+} // namespace parameterized
+} // namespace nvidia
diff --git a/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_0p9.cpp b/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_0p9.cpp
new file mode 100644
index 00000000..3486edca
--- /dev/null
+++ b/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_0p9.cpp
@@ -0,0 +1,1724 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and 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.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#include "TurbulenceFSAssetParams_0p9.h"
+#include <string.h>
+#include <stdlib.h>
+
+using namespace NvParameterized;
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+using namespace TurbulenceFSAssetParams_0p9NS;
+
+const char* const TurbulenceFSAssetParams_0p9Factory::vptr =
+ NvParameterized::getVptr<TurbulenceFSAssetParams_0p9, TurbulenceFSAssetParams_0p9::ClassAlignment>();
+
+const uint32_t NumParamDefs = 58;
+static NvParameterized::DefinitionImpl* ParamDefTable; // now allocated in buildTree [NumParamDefs];
+
+
+static const size_t ParamLookupChildrenTable[] =
+{
+ 1, 4, 7, 10, 11, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, 37, 38, 42, 43, 44, 50, 55, 56, 57, 2, 3, 5, 6, 8, 9, 12, 13, 33, 34,
+ 35, 36, 39, 40, 41, 45, 46, 47, 48, 49, 51, 52, 53, 54,
+};
+
+#define TENUM(type) nvidia::##type
+#define CHILDREN(index) &ParamLookupChildrenTable[index]
+static const NvParameterized::ParamLookupNode ParamLookupTable[NumParamDefs] =
+{
+ { TYPE_STRUCT, false, 0, CHILDREN(0), 33 },
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->gridXRange), CHILDREN(33), 2 }, // gridXRange
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->min), NULL, 0 }, // gridXRange.min
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->max), NULL, 0 }, // gridXRange.max
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->gridYRange), CHILDREN(35), 2 }, // gridYRange
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->min), NULL, 0 }, // gridYRange.min
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->max), NULL, 0 }, // gridYRange.max
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->gridZRange), CHILDREN(37), 2 }, // gridZRange
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->min), NULL, 0 }, // gridZRange.min
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->max), NULL, 0 }, // gridZRange.max
+ { TYPE_VEC3, false, (size_t)(&((ParametersStruct*)0)->gridSizeWorld), NULL, 0 }, // gridSizeWorld
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->updatesPerFrameRange), CHILDREN(39), 2 }, // updatesPerFrameRange
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->min), NULL, 0 }, // updatesPerFrameRange.min
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->max), NULL, 0 }, // updatesPerFrameRange.max
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->angularVelocityMultiplier), NULL, 0 }, // angularVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->angularVelocityClamp), NULL, 0 }, // angularVelocityClamp
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->linearVelocityMultiplier), NULL, 0 }, // linearVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->linearVelocityClamp), NULL, 0 }, // linearVelocityClamp
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->velocityFieldFade), NULL, 0 }, // velocityFieldFade
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->boundaryFadePercentage), NULL, 0 }, // boundaryFadePercentage
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->boundarySizePercentage), NULL, 0 }, // boundarySizePercentage
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->collisionFilterDataName), NULL, 0 }, // collisionFilterDataName
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->fieldBoundaryFilterDataName), NULL, 0 }, // fieldBoundaryFilterDataName
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->fieldSamplerFilterDataName), NULL, 0 }, // fieldSamplerFilterDataName
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->maxCollidingObjects), NULL, 0 }, // maxCollidingObjects
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->maxHeatSources), NULL, 0 }, // maxHeatSources
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->maxSubstanceSources), NULL, 0 }, // maxSubstanceSources
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->dragCoeff), NULL, 0 }, // dragCoeff
+ { TYPE_VEC3, false, (size_t)(&((ParametersStruct*)0)->externalVelocity), NULL, 0 }, // externalVelocity
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fieldVelocityMultiplier), NULL, 0 }, // fieldVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fieldVelocityWeight), NULL, 0 }, // fieldVelocityWeight
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->useHeat), NULL, 0 }, // useHeat
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->heatParams), CHILDREN(41), 4 }, // heatParams
+ { TYPE_F32, false, (size_t)(&((HeatParams_Type*)0)->temperatureBasedForceMultiplier), NULL, 0 }, // heatParams.temperatureBasedForceMultiplier
+ { TYPE_F32, false, (size_t)(&((HeatParams_Type*)0)->ambientTemperature), NULL, 0 }, // heatParams.ambientTemperature
+ { TYPE_VEC3, false, (size_t)(&((HeatParams_Type*)0)->heatForceDirection), NULL, 0 }, // heatParams.heatForceDirection
+ { TYPE_F32, false, (size_t)(&((HeatParams_Type*)0)->thermalConductivity), NULL, 0 }, // heatParams.thermalConductivity
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->useDensity), NULL, 0 }, // useDensity
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->densityParams), CHILDREN(45), 3 }, // densityParams
+ { TYPE_F32, false, (size_t)(&((DensityParams_Type*)0)->diffusionCoef), NULL, 0 }, // densityParams.diffusionCoef
+ { TYPE_F32, false, (size_t)(&((DensityParams_Type*)0)->densityFieldFade), NULL, 0 }, // densityParams.densityFieldFade
+ { TYPE_U32, false, (size_t)(&((DensityParams_Type*)0)->densityGridMultiplier), NULL, 0 }, // densityParams.densityGridMultiplier
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->isEnabledOptimizedLOD), NULL, 0 }, // isEnabledOptimizedLOD
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->customLOD), NULL, 0 }, // customLOD
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->lodWeights), CHILDREN(48), 5 }, // lodWeights
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->maxDistance), NULL, 0 }, // lodWeights.maxDistance
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->distanceWeight), NULL, 0 }, // lodWeights.distanceWeight
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->bias), NULL, 0 }, // lodWeights.bias
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->benefitBias), NULL, 0 }, // lodWeights.benefitBias
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->benefitWeight), NULL, 0 }, // lodWeights.benefitWeight
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->noiseParams), CHILDREN(53), 4 }, // noiseParams
+ { TYPE_F32, false, (size_t)(&((NoiseParams_Type*)0)->noiseStrength), NULL, 0 }, // noiseParams.noiseStrength
+ { TYPE_VEC3, false, (size_t)(&((NoiseParams_Type*)0)->noiseSpacePeriod), NULL, 0 }, // noiseParams.noiseSpacePeriod
+ { TYPE_F32, false, (size_t)(&((NoiseParams_Type*)0)->noiseTimePeriod), NULL, 0 }, // noiseParams.noiseTimePeriod
+ { TYPE_U32, false, (size_t)(&((NoiseParams_Type*)0)->noiseOctaves), NULL, 0 }, // noiseParams.noiseOctaves
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->dragCoeffForRigidBody), NULL, 0 }, // dragCoeffForRigidBody
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fluidViscosity), NULL, 0 }, // fluidViscosity
+ { TYPE_REF, false, (size_t)(&((ParametersStruct*)0)->volumeRenderMaterialName), NULL, 0 }, // volumeRenderMaterialName
+};
+
+
+bool TurbulenceFSAssetParams_0p9::mBuiltFlag = false;
+NvParameterized::MutexType TurbulenceFSAssetParams_0p9::mBuiltFlagMutex;
+
+TurbulenceFSAssetParams_0p9::TurbulenceFSAssetParams_0p9(NvParameterized::Traits* traits, void* buf, int32_t* refCount) :
+ NvParameters(traits, buf, refCount)
+{
+ //mParameterizedTraits->registerFactory(className(), &TurbulenceFSAssetParams_0p9FactoryInst);
+
+ if (!buf) //Do not init data if it is inplace-deserialized
+ {
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+ initDefaults();
+ }
+}
+
+TurbulenceFSAssetParams_0p9::~TurbulenceFSAssetParams_0p9()
+{
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+}
+
+void TurbulenceFSAssetParams_0p9::destroy()
+{
+ // We cache these fields here to avoid overwrite in destructor
+ bool doDeallocateSelf = mDoDeallocateSelf;
+ NvParameterized::Traits* traits = mParameterizedTraits;
+ int32_t* refCount = mRefCount;
+ void* buf = mBuffer;
+
+ this->~TurbulenceFSAssetParams_0p9();
+
+ NvParameters::destroy(this, traits, doDeallocateSelf, refCount, buf);
+}
+
+const NvParameterized::DefinitionImpl* TurbulenceFSAssetParams_0p9::getParameterDefinitionTree(void)
+{
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+const NvParameterized::DefinitionImpl* TurbulenceFSAssetParams_0p9::getParameterDefinitionTree(void) const
+{
+ TurbulenceFSAssetParams_0p9* tmpParam = const_cast<TurbulenceFSAssetParams_0p9*>(this);
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ tmpParam->buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+NvParameterized::ErrorType TurbulenceFSAssetParams_0p9::getParameterHandle(const char* long_name, Handle& handle) const
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+NvParameterized::ErrorType TurbulenceFSAssetParams_0p9::getParameterHandle(const char* long_name, Handle& handle)
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+void TurbulenceFSAssetParams_0p9::getVarPtr(const Handle& handle, void*& ptr, size_t& offset) const
+{
+ ptr = getVarPtrHelper(&ParamLookupTable[0], const_cast<TurbulenceFSAssetParams_0p9::ParametersStruct*>(&parameters()), handle, offset);
+}
+
+
+/* Dynamic Handle Indices */
+
+void TurbulenceFSAssetParams_0p9::freeParameterDefinitionTable(NvParameterized::Traits* traits)
+{
+ if (!traits)
+ {
+ return;
+ }
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ return;
+ }
+
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+
+ if (!mBuiltFlag)
+ {
+ return;
+ }
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ ParamDefTable[i].~DefinitionImpl();
+ }
+
+ traits->free(ParamDefTable);
+
+ mBuiltFlag = false;
+}
+
+#define PDEF_PTR(index) (&ParamDefTable[index])
+
+void TurbulenceFSAssetParams_0p9::buildTree(void)
+{
+
+ uint32_t allocSize = sizeof(NvParameterized::DefinitionImpl) * NumParamDefs;
+ ParamDefTable = (NvParameterized::DefinitionImpl*)(mParameterizedTraits->alloc(allocSize));
+ memset(ParamDefTable, 0, allocSize);
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ NV_PARAM_PLACEMENT_NEW(ParamDefTable + i, NvParameterized::DefinitionImpl)(*mParameterizedTraits);
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=0, longName=""
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[0];
+ ParamDef->init("", TYPE_STRUCT, "STRUCT", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=1, longName="gridXRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[1];
+ ParamDef->init("gridXRange", TYPE_STRUCT, "turbulenceRangeStructEnum", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of grid cells in X dimension.", true);
+ ParamDefTable[1].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=2, longName="gridXRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[2];
+ ParamDef->init("min", TYPE_ENUM, NULL, true);
+
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[2].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=3, longName="gridXRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[3];
+ ParamDef->init("max", TYPE_ENUM, NULL, true);
+
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[3].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=4, longName="gridYRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[4];
+ ParamDef->init("gridYRange", TYPE_STRUCT, "turbulenceRangeStructEnum", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of grid cells in Y dimension.", true);
+ ParamDefTable[4].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=5, longName="gridYRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[5];
+ ParamDef->init("min", TYPE_ENUM, NULL, true);
+
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[5].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=6, longName="gridYRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[6];
+ ParamDef->init("max", TYPE_ENUM, NULL, true);
+
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[6].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=7, longName="gridZRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[7];
+ ParamDef->init("gridZRange", TYPE_STRUCT, "turbulenceRangeStructEnum", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of grid cells in Z dimension.", true);
+ ParamDefTable[7].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=8, longName="gridZRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[8];
+ ParamDef->init("min", TYPE_ENUM, NULL, true);
+
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[8].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=9, longName="gridZRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[9];
+ ParamDef->init("max", TYPE_ENUM, NULL, true);
+
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[9].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=10, longName="gridSizeWorld"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[10];
+ ParamDef->init("gridSizeWorld", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Size of the grid in world space.", true);
+ ParamDefTable[10].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=11, longName="updatesPerFrameRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[11];
+ ParamDef->init("updatesPerFrameRange", TYPE_STRUCT, "rangeStructF32", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The number of updates per frame. See APEX documentation for limitations.", true);
+ ParamDefTable[11].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=12, longName="updatesPerFrameRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[12];
+ ParamDef->init("min", TYPE_F32, NULL, true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=13, longName="updatesPerFrameRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[13];
+ ParamDef->init("max", TYPE_F32, NULL, true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=14, longName="angularVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[14];
+ ParamDef->init("angularVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a multiplier for the angular velocity set by the user.", true);
+ ParamDefTable[14].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=15, longName="angularVelocityClamp"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[15];
+ ParamDef->init("angularVelocityClamp", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a clamp for the angular velocity set by the user.", true);
+ ParamDefTable[15].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=16, longName="linearVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[16];
+ ParamDef->init("linearVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a multiplier for the linear velocity set by the user.", true);
+ ParamDefTable[16].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=17, longName="linearVelocityClamp"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[17];
+ ParamDef->init("linearVelocityClamp", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a clamp for the linear velocity set by the user.", true);
+ ParamDefTable[17].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=18, longName="velocityFieldFade"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[18];
+ ParamDef->init("velocityFieldFade", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[18].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Each cell in velocity field are multiplied by (1 - velocityFieldFade) every frame.", true);
+ ParamDefTable[18].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=19, longName="boundaryFadePercentage"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[19];
+ ParamDef->init("boundaryFadePercentage", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[19].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Percentage of distance from boundary to center where fade out starts.", true);
+ ParamDefTable[19].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=20, longName="boundarySizePercentage"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[20];
+ ParamDef->init("boundarySizePercentage", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[20].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Boundary size as the percentage of grid size.", true);
+ ParamDefTable[20].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=21, longName="collisionFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[21];
+ ParamDef->init("collisionFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The filter data (group/groupsMask) name for TurbulenceFS vs PhysX interaction.", true);
+ ParamDefTable[21].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=22, longName="fieldBoundaryFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[22];
+ ParamDef->init("fieldBoundaryFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The filter data name for TurbulenceFS vs Field Boundaries interaction.", true);
+ ParamDefTable[22].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=23, longName="fieldSamplerFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[23];
+ ParamDef->init("fieldSamplerFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The filter data name for TurbulenceFS vs other Field Samplers interaction.", true);
+ ParamDefTable[23].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=24, longName="maxCollidingObjects"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[24];
+ ParamDef->init("maxCollidingObjects", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The maximum number of colliding objects.", true);
+ ParamDefTable[24].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=25, longName="maxHeatSources"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[25];
+ ParamDef->init("maxHeatSources", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The maximum number of heat source.", true);
+ ParamDefTable[25].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=26, longName="maxSubstanceSources"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[26];
+ ParamDef->init("maxSubstanceSources", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The maximum number of substance source (computed if density enabled).", true);
+ ParamDefTable[26].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=27, longName="dragCoeff"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[27];
+ ParamDef->init("dragCoeff", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Coefficient for deriving drag force from velocity (if equals to zero, direct grid velocity is used).", true);
+ ParamDefTable[27].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=28, longName="externalVelocity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[28];
+ ParamDef->init("externalVelocity", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Allows external actors like wind or explosion to add a single directional velocity to the grid. \n If there are multiple calls to this function are made only the last call is honored (i.e. the velocities are not accumulated).", true);
+ ParamDefTable[28].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=29, longName="fieldVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[29];
+ ParamDef->init("fieldVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "A multiplier for the field velocity.", true);
+ ParamDefTable[29].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=30, longName="fieldVelocityWeight"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[30];
+ ParamDef->init("fieldVelocityWeight", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[30].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "A weight for the field velocity. Controls how strongly the field velocity affects particles", true);
+ ParamDefTable[30].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=31, longName="useHeat"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[31];
+ ParamDef->init("useHeat", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Enable whether or not to use heat in the simulation.", true);
+ ParamDefTable[31].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=32, longName="heatParams"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[32];
+ ParamDef->init("heatParams", TYPE_STRUCT, "HeatParams", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=33, longName="heatParams.temperatureBasedForceMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[33];
+ ParamDef->init("temperatureBasedForceMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Multiplier for force induced by heat source.", true);
+ ParamDefTable[33].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=34, longName="heatParams.ambientTemperature"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[34];
+ ParamDef->init("ambientTemperature", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Environment temperature.", true);
+ ParamDefTable[34].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=35, longName="heatParams.heatForceDirection"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[35];
+ ParamDef->init("heatForceDirection", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Direction of the force induced by heat source.", true);
+ ParamDefTable[35].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=36, longName="heatParams.thermalConductivity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[36];
+ ParamDef->init("thermalConductivity", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Thermal conductivity. Default value is set for air.", true);
+ ParamDefTable[36].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=37, longName="useDensity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[37];
+ ParamDef->init("useDensity", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Enable whether or not to use density in the simulation.", true);
+ ParamDefTable[37].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=38, longName="densityParams"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[38];
+ ParamDef->init("densityParams", TYPE_STRUCT, "DensityParams", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=39, longName="densityParams.diffusionCoef"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[39];
+ ParamDef->init("diffusionCoef", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Diffusion coefficient for density (analog for viscosity in velocity equation.", true);
+ ParamDefTable[39].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=40, longName="densityParams.densityFieldFade"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[40];
+ ParamDef->init("densityFieldFade", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[40].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Each cell in density field are multiplied by (1 - densityFieldFade) every frame.", true);
+ ParamDefTable[40].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=41, longName="densityParams.densityGridMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[41];
+ ParamDef->init("densityGridMultiplier", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("min", uint64_t(1), true);
+ ParamDefTable[41].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("min", uint64_t(1), true);
+ HintTable[1].init("shortDescription", "Density grid resolution multiplier.", true);
+ ParamDefTable[41].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=42, longName="isEnabledOptimizedLOD"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[42];
+ ParamDef->init("isEnabledOptimizedLOD", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Enable more aggressive LOD.", true);
+ ParamDefTable[42].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=43, longName="customLOD"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[43];
+ ParamDef->init("customLOD", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Force the current LOD to a particular value, range is 0-1: 1.0f is maximum, 0.0f is minimum simulation quality.", true);
+ ParamDefTable[43].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=44, longName="lodWeights"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[44];
+ ParamDef->init("lodWeights", TYPE_STRUCT, "LODWeights", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=45, longName="lodWeights.maxDistance"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[45];
+ ParamDef->init("maxDistance", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Objects greater than this distance from the player will be culled more aggressively", true);
+ ParamDefTable[45].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=46, longName="lodWeights.distanceWeight"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[46];
+ ParamDef->init("distanceWeight", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Weight given to distance parameter in LOD function", true);
+ ParamDefTable[46].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=47, longName="lodWeights.bias"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[47];
+ ParamDef->init("bias", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "", true);
+ ParamDefTable[47].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=48, longName="lodWeights.benefitBias"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[48];
+ ParamDef->init("benefitBias", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "", true);
+ ParamDefTable[48].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=49, longName="lodWeights.benefitWeight"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[49];
+ ParamDef->init("benefitWeight", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "", true);
+ ParamDefTable[49].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=50, longName="noiseParams"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[50];
+ ParamDef->init("noiseParams", TYPE_STRUCT, "NoiseParams", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=51, longName="noiseParams.noiseStrength"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[51];
+ ParamDef->init("noiseStrength", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The strength of the noise added to the simulation.", true);
+ ParamDefTable[51].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=52, longName="noiseParams.noiseSpacePeriod"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[52];
+ ParamDef->init("noiseSpacePeriod", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Noise period in space.", true);
+ ParamDefTable[52].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=53, longName="noiseParams.noiseTimePeriod"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[53];
+ ParamDef->init("noiseTimePeriod", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Noise time period.", true);
+ ParamDefTable[53].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=54, longName="noiseParams.noiseOctaves"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[54];
+ ParamDef->init("noiseOctaves", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of the noise octaves (more octaves give more turbulent noise, but increase computational time).", true);
+ ParamDefTable[54].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=55, longName="dragCoeffForRigidBody"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[55];
+ ParamDef->init("dragCoeffForRigidBody", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "It is not true drag coef just mixing coefficient for slip and no-slip boundary condition. If set to zero supposed slip boundary condition on rigid bodies. If set to 1 supposed no-slip boundary condition else mixed (partly slip)", true);
+ ParamDefTable[55].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=56, longName="fluidViscosity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[56];
+ ParamDef->init("fluidViscosity", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Viscosity is the coefficient for velocity diffusion. If 0. there is no diffusion.", true);
+ ParamDefTable[56].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=57, longName="volumeRenderMaterialName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[57];
+ ParamDef->init("volumeRenderMaterialName", TYPE_REF, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The optional volume render material name", true);
+ ParamDefTable[57].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+ static const char* const RefVariantVals[] = { "ApexVolumeRenderMaterials" };
+ ParamDefTable[57].setRefVariantVals((const char**)RefVariantVals, 1);
+
+
+
+ }
+
+ // SetChildren for: nodeIndex=0, longName=""
+ {
+ static Definition* Children[33];
+ Children[0] = PDEF_PTR(1);
+ Children[1] = PDEF_PTR(4);
+ Children[2] = PDEF_PTR(7);
+ Children[3] = PDEF_PTR(10);
+ Children[4] = PDEF_PTR(11);
+ Children[5] = PDEF_PTR(14);
+ Children[6] = PDEF_PTR(15);
+ Children[7] = PDEF_PTR(16);
+ Children[8] = PDEF_PTR(17);
+ Children[9] = PDEF_PTR(18);
+ Children[10] = PDEF_PTR(19);
+ Children[11] = PDEF_PTR(20);
+ Children[12] = PDEF_PTR(21);
+ Children[13] = PDEF_PTR(22);
+ Children[14] = PDEF_PTR(23);
+ Children[15] = PDEF_PTR(24);
+ Children[16] = PDEF_PTR(25);
+ Children[17] = PDEF_PTR(26);
+ Children[18] = PDEF_PTR(27);
+ Children[19] = PDEF_PTR(28);
+ Children[20] = PDEF_PTR(29);
+ Children[21] = PDEF_PTR(30);
+ Children[22] = PDEF_PTR(31);
+ Children[23] = PDEF_PTR(32);
+ Children[24] = PDEF_PTR(37);
+ Children[25] = PDEF_PTR(38);
+ Children[26] = PDEF_PTR(42);
+ Children[27] = PDEF_PTR(43);
+ Children[28] = PDEF_PTR(44);
+ Children[29] = PDEF_PTR(50);
+ Children[30] = PDEF_PTR(55);
+ Children[31] = PDEF_PTR(56);
+ Children[32] = PDEF_PTR(57);
+
+ ParamDefTable[0].setChildren(Children, 33);
+ }
+
+ // SetChildren for: nodeIndex=1, longName="gridXRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(2);
+ Children[1] = PDEF_PTR(3);
+
+ ParamDefTable[1].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=4, longName="gridYRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(5);
+ Children[1] = PDEF_PTR(6);
+
+ ParamDefTable[4].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=7, longName="gridZRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(8);
+ Children[1] = PDEF_PTR(9);
+
+ ParamDefTable[7].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=11, longName="updatesPerFrameRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(12);
+ Children[1] = PDEF_PTR(13);
+
+ ParamDefTable[11].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=32, longName="heatParams"
+ {
+ static Definition* Children[4];
+ Children[0] = PDEF_PTR(33);
+ Children[1] = PDEF_PTR(34);
+ Children[2] = PDEF_PTR(35);
+ Children[3] = PDEF_PTR(36);
+
+ ParamDefTable[32].setChildren(Children, 4);
+ }
+
+ // SetChildren for: nodeIndex=38, longName="densityParams"
+ {
+ static Definition* Children[3];
+ Children[0] = PDEF_PTR(39);
+ Children[1] = PDEF_PTR(40);
+ Children[2] = PDEF_PTR(41);
+
+ ParamDefTable[38].setChildren(Children, 3);
+ }
+
+ // SetChildren for: nodeIndex=44, longName="lodWeights"
+ {
+ static Definition* Children[5];
+ Children[0] = PDEF_PTR(45);
+ Children[1] = PDEF_PTR(46);
+ Children[2] = PDEF_PTR(47);
+ Children[3] = PDEF_PTR(48);
+ Children[4] = PDEF_PTR(49);
+
+ ParamDefTable[44].setChildren(Children, 5);
+ }
+
+ // SetChildren for: nodeIndex=50, longName="noiseParams"
+ {
+ static Definition* Children[4];
+ Children[0] = PDEF_PTR(51);
+ Children[1] = PDEF_PTR(52);
+ Children[2] = PDEF_PTR(53);
+ Children[3] = PDEF_PTR(54);
+
+ ParamDefTable[50].setChildren(Children, 4);
+ }
+
+ mBuiltFlag = true;
+
+}
+void TurbulenceFSAssetParams_0p9::initStrings(void)
+{
+ collisionFilterDataName.isAllocated = true;
+ collisionFilterDataName.buf = NULL;
+ fieldBoundaryFilterDataName.isAllocated = true;
+ fieldBoundaryFilterDataName.buf = NULL;
+ fieldSamplerFilterDataName.isAllocated = true;
+ fieldSamplerFilterDataName.buf = NULL;
+}
+
+void TurbulenceFSAssetParams_0p9::initDynamicArrays(void)
+{
+}
+
+void TurbulenceFSAssetParams_0p9::initDefaults(void)
+{
+
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+ gridXRange.min = (const char*)"EGR_16";
+ gridXRange.max = (const char*)"EGR_16";
+ gridYRange.min = (const char*)"EGR_16";
+ gridYRange.max = (const char*)"EGR_16";
+ gridZRange.min = (const char*)"EGR_16";
+ gridZRange.max = (const char*)"EGR_16";
+ gridSizeWorld = physx::PxVec3(init(12, 12, 12));
+
+ updatesPerFrameRange.min = 0.0f;
+ updatesPerFrameRange.max = 1.0f;
+
+ angularVelocityMultiplier = float(1);
+ angularVelocityClamp = float(1000000);
+ linearVelocityMultiplier = float(1);
+ linearVelocityClamp = float(1000000);
+ velocityFieldFade = float(0);
+ boundaryFadePercentage = float(0.1);
+ boundarySizePercentage = float(1);
+ maxCollidingObjects = uint32_t(32);
+ maxHeatSources = uint32_t(8);
+ maxSubstanceSources = uint32_t(8);
+ dragCoeff = float(0);
+ externalVelocity = physx::PxVec3(init(0.0, 0.0, 0.0));
+ fieldVelocityMultiplier = float(1);
+ fieldVelocityWeight = float(1);
+ useHeat = bool(false);
+ heatParams.temperatureBasedForceMultiplier = float(0.02);
+ heatParams.ambientTemperature = float(0);
+ heatParams.heatForceDirection = physx::PxVec3(init(0.0, 1.0, 0.0));
+ heatParams.thermalConductivity = float(0.025);
+ useDensity = bool(false);
+ densityParams.diffusionCoef = float(0);
+ densityParams.densityFieldFade = float(0);
+ densityParams.densityGridMultiplier = uint32_t(1);
+ isEnabledOptimizedLOD = bool(false);
+ customLOD = float(1);
+ lodWeights.maxDistance = float(100);
+ lodWeights.distanceWeight = float(1);
+ lodWeights.bias = float(0);
+ lodWeights.benefitBias = float(0);
+ lodWeights.benefitWeight = float(1);
+ noiseParams.noiseStrength = float(0);
+ noiseParams.noiseSpacePeriod = physx::PxVec3(init(1.0, 1.0, 1.0));
+ noiseParams.noiseTimePeriod = float(1);
+ noiseParams.noiseOctaves = uint32_t(1);
+ dragCoeffForRigidBody = float(0);
+ fluidViscosity = float(0);
+
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+}
+
+void TurbulenceFSAssetParams_0p9::initReferences(void)
+{
+ volumeRenderMaterialName = NULL;
+
+}
+
+void TurbulenceFSAssetParams_0p9::freeDynamicArrays(void)
+{
+}
+
+void TurbulenceFSAssetParams_0p9::freeStrings(void)
+{
+
+ if (collisionFilterDataName.isAllocated && collisionFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)collisionFilterDataName.buf);
+ }
+
+ if (fieldBoundaryFilterDataName.isAllocated && fieldBoundaryFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)fieldBoundaryFilterDataName.buf);
+ }
+
+ if (fieldSamplerFilterDataName.isAllocated && fieldSamplerFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)fieldSamplerFilterDataName.buf);
+ }
+}
+
+void TurbulenceFSAssetParams_0p9::freeReferences(void)
+{
+ if (volumeRenderMaterialName)
+ {
+ volumeRenderMaterialName->destroy();
+ }
+
+}
+
+} // namespace parameterized
+} // namespace nvidia
diff --git a/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_1p0.cpp b/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_1p0.cpp
new file mode 100644
index 00000000..db0cfd68
--- /dev/null
+++ b/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_1p0.cpp
@@ -0,0 +1,1925 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and 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.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#include "TurbulenceFSAssetParams_1p0.h"
+#include <string.h>
+#include <stdlib.h>
+
+using namespace NvParameterized;
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+using namespace TurbulenceFSAssetParams_1p0NS;
+
+const char* const TurbulenceFSAssetParams_1p0Factory::vptr =
+ NvParameterized::getVptr<TurbulenceFSAssetParams_1p0, TurbulenceFSAssetParams_1p0::ClassAlignment>();
+
+const uint32_t NumParamDefs = 61;
+static NvParameterized::DefinitionImpl* ParamDefTable; // now allocated in buildTree [NumParamDefs];
+
+
+static const size_t ParamLookupChildrenTable[] =
+{
+ 1, 4, 7, 10, 11, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 34, 35, 40, 41, 45, 46, 47, 53, 58, 59, 60, 2, 3, 5, 6, 8, 9, 12,
+ 13, 36, 37, 38, 39, 42, 43, 44, 48, 49, 50, 51, 52, 54, 55, 56, 57,
+};
+
+#define TENUM(type) nvidia::##type
+#define CHILDREN(index) &ParamLookupChildrenTable[index]
+static const NvParameterized::ParamLookupNode ParamLookupTable[NumParamDefs] =
+{
+ { TYPE_STRUCT, false, 0, CHILDREN(0), 36 },
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->gridXRange), CHILDREN(36), 2 }, // gridXRange
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->min), NULL, 0 }, // gridXRange.min
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->max), NULL, 0 }, // gridXRange.max
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->gridYRange), CHILDREN(38), 2 }, // gridYRange
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->min), NULL, 0 }, // gridYRange.min
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->max), NULL, 0 }, // gridYRange.max
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->gridZRange), CHILDREN(40), 2 }, // gridZRange
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->min), NULL, 0 }, // gridZRange.min
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->max), NULL, 0 }, // gridZRange.max
+ { TYPE_VEC3, false, (size_t)(&((ParametersStruct*)0)->gridSizeWorld), NULL, 0 }, // gridSizeWorld
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->updatesPerFrameRange), CHILDREN(42), 2 }, // updatesPerFrameRange
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->min), NULL, 0 }, // updatesPerFrameRange.min
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->max), NULL, 0 }, // updatesPerFrameRange.max
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->angularVelocityMultiplier), NULL, 0 }, // angularVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->angularVelocityClamp), NULL, 0 }, // angularVelocityClamp
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->linearVelocityMultiplier), NULL, 0 }, // linearVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->linearVelocityClamp), NULL, 0 }, // linearVelocityClamp
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->velocityFieldFade), NULL, 0 }, // velocityFieldFade
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->velocityFieldCleaningTime), NULL, 0 }, // velocityFieldCleaningTime
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->velocityFieldCleaningDelay), NULL, 0 }, // velocityFieldCleaningDelay
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->velocityFieldCleaningIntensity), NULL, 0 }, // velocityFieldCleaningIntensity
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->boundaryFadePercentage), NULL, 0 }, // boundaryFadePercentage
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->boundarySizePercentage), NULL, 0 }, // boundarySizePercentage
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->collisionFilterDataName), NULL, 0 }, // collisionFilterDataName
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->fieldBoundaryFilterDataName), NULL, 0 }, // fieldBoundaryFilterDataName
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->fieldSamplerFilterDataName), NULL, 0 }, // fieldSamplerFilterDataName
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->maxCollidingObjects), NULL, 0 }, // maxCollidingObjects
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->maxHeatSources), NULL, 0 }, // maxHeatSources
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->maxSubstanceSources), NULL, 0 }, // maxSubstanceSources
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->dragCoeff), NULL, 0 }, // dragCoeff
+ { TYPE_VEC3, false, (size_t)(&((ParametersStruct*)0)->externalVelocity), NULL, 0 }, // externalVelocity
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fieldVelocityMultiplier), NULL, 0 }, // fieldVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fieldVelocityWeight), NULL, 0 }, // fieldVelocityWeight
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->useHeat), NULL, 0 }, // useHeat
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->heatParams), CHILDREN(44), 4 }, // heatParams
+ { TYPE_F32, false, (size_t)(&((HeatParams_Type*)0)->temperatureBasedForceMultiplier), NULL, 0 }, // heatParams.temperatureBasedForceMultiplier
+ { TYPE_F32, false, (size_t)(&((HeatParams_Type*)0)->ambientTemperature), NULL, 0 }, // heatParams.ambientTemperature
+ { TYPE_VEC3, false, (size_t)(&((HeatParams_Type*)0)->heatForceDirection), NULL, 0 }, // heatParams.heatForceDirection
+ { TYPE_F32, false, (size_t)(&((HeatParams_Type*)0)->thermalConductivity), NULL, 0 }, // heatParams.thermalConductivity
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->useDensity), NULL, 0 }, // useDensity
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->densityParams), CHILDREN(48), 3 }, // densityParams
+ { TYPE_F32, false, (size_t)(&((DensityParams_Type*)0)->diffusionCoef), NULL, 0 }, // densityParams.diffusionCoef
+ { TYPE_F32, false, (size_t)(&((DensityParams_Type*)0)->densityFieldFade), NULL, 0 }, // densityParams.densityFieldFade
+ { TYPE_U32, false, (size_t)(&((DensityParams_Type*)0)->densityGridMultiplier), NULL, 0 }, // densityParams.densityGridMultiplier
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->isEnabledOptimizedLOD), NULL, 0 }, // isEnabledOptimizedLOD
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->customLOD), NULL, 0 }, // customLOD
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->lodWeights), CHILDREN(51), 5 }, // lodWeights
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->maxDistance), NULL, 0 }, // lodWeights.maxDistance
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->distanceWeight), NULL, 0 }, // lodWeights.distanceWeight
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->bias), NULL, 0 }, // lodWeights.bias
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->benefitBias), NULL, 0 }, // lodWeights.benefitBias
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->benefitWeight), NULL, 0 }, // lodWeights.benefitWeight
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->noiseParams), CHILDREN(56), 4 }, // noiseParams
+ { TYPE_F32, false, (size_t)(&((NoiseParams_Type*)0)->noiseStrength), NULL, 0 }, // noiseParams.noiseStrength
+ { TYPE_VEC3, false, (size_t)(&((NoiseParams_Type*)0)->noiseSpacePeriod), NULL, 0 }, // noiseParams.noiseSpacePeriod
+ { TYPE_F32, false, (size_t)(&((NoiseParams_Type*)0)->noiseTimePeriod), NULL, 0 }, // noiseParams.noiseTimePeriod
+ { TYPE_U32, false, (size_t)(&((NoiseParams_Type*)0)->noiseOctaves), NULL, 0 }, // noiseParams.noiseOctaves
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->dragCoeffForRigidBody), NULL, 0 }, // dragCoeffForRigidBody
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fluidViscosity), NULL, 0 }, // fluidViscosity
+ { TYPE_REF, false, (size_t)(&((ParametersStruct*)0)->volumeRenderMaterialName), NULL, 0 }, // volumeRenderMaterialName
+};
+
+
+bool TurbulenceFSAssetParams_1p0::mBuiltFlag = false;
+NvParameterized::MutexType TurbulenceFSAssetParams_1p0::mBuiltFlagMutex;
+
+TurbulenceFSAssetParams_1p0::TurbulenceFSAssetParams_1p0(NvParameterized::Traits* traits, void* buf, int32_t* refCount) :
+ NvParameters(traits, buf, refCount)
+{
+ //mParameterizedTraits->registerFactory(className(), &TurbulenceFSAssetParams_1p0FactoryInst);
+
+ if (!buf) //Do not init data if it is inplace-deserialized
+ {
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+ initDefaults();
+ }
+}
+
+TurbulenceFSAssetParams_1p0::~TurbulenceFSAssetParams_1p0()
+{
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+}
+
+void TurbulenceFSAssetParams_1p0::destroy()
+{
+ // We cache these fields here to avoid overwrite in destructor
+ bool doDeallocateSelf = mDoDeallocateSelf;
+ NvParameterized::Traits* traits = mParameterizedTraits;
+ int32_t* refCount = mRefCount;
+ void* buf = mBuffer;
+
+ this->~TurbulenceFSAssetParams_1p0();
+
+ NvParameters::destroy(this, traits, doDeallocateSelf, refCount, buf);
+}
+
+const NvParameterized::DefinitionImpl* TurbulenceFSAssetParams_1p0::getParameterDefinitionTree(void)
+{
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+const NvParameterized::DefinitionImpl* TurbulenceFSAssetParams_1p0::getParameterDefinitionTree(void) const
+{
+ TurbulenceFSAssetParams_1p0* tmpParam = const_cast<TurbulenceFSAssetParams_1p0*>(this);
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ tmpParam->buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+NvParameterized::ErrorType TurbulenceFSAssetParams_1p0::getParameterHandle(const char* long_name, Handle& handle) const
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+NvParameterized::ErrorType TurbulenceFSAssetParams_1p0::getParameterHandle(const char* long_name, Handle& handle)
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+void TurbulenceFSAssetParams_1p0::getVarPtr(const Handle& handle, void*& ptr, size_t& offset) const
+{
+ ptr = getVarPtrHelper(&ParamLookupTable[0], const_cast<TurbulenceFSAssetParams_1p0::ParametersStruct*>(&parameters()), handle, offset);
+}
+
+
+/* Dynamic Handle Indices */
+
+void TurbulenceFSAssetParams_1p0::freeParameterDefinitionTable(NvParameterized::Traits* traits)
+{
+ if (!traits)
+ {
+ return;
+ }
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ return;
+ }
+
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+
+ if (!mBuiltFlag)
+ {
+ return;
+ }
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ ParamDefTable[i].~DefinitionImpl();
+ }
+
+ traits->free(ParamDefTable);
+
+ mBuiltFlag = false;
+}
+
+#define PDEF_PTR(index) (&ParamDefTable[index])
+
+void TurbulenceFSAssetParams_1p0::buildTree(void)
+{
+
+ uint32_t allocSize = sizeof(NvParameterized::DefinitionImpl) * NumParamDefs;
+ ParamDefTable = (NvParameterized::DefinitionImpl*)(mParameterizedTraits->alloc(allocSize));
+ memset(ParamDefTable, 0, allocSize);
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ NV_PARAM_PLACEMENT_NEW(ParamDefTable + i, NvParameterized::DefinitionImpl)(*mParameterizedTraits);
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=0, longName=""
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[0];
+ ParamDef->init("", TYPE_STRUCT, "STRUCT", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Contains the asset properties for this Turbulence field sampler.", true);
+ ParamDefTable[0].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=1, longName="gridXRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[1];
+ ParamDef->init("gridXRange", TYPE_STRUCT, "turbulenceRangeStructEnum", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of grid cells in X dimension.", true);
+ ParamDefTable[1].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=2, longName="gridXRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[2];
+ ParamDef->init("min", TYPE_ENUM, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Turbulence resolution. The higher resolution, the higher precision, but the simulation time is also longer. This is the lower bound of possible turbulence grid resolution, depending on the LOD settings", true);
+ ParamDefTable[2].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[2].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=3, longName="gridXRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[3];
+ ParamDef->init("max", TYPE_ENUM, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Turbulence resolution. The higher resolution, the higher precision, but the simulation time is also longer. This is the higher bound of possible turbulence grid resolution, depending on the LOD settings", true);
+ ParamDefTable[3].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[3].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=4, longName="gridYRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[4];
+ ParamDef->init("gridYRange", TYPE_STRUCT, "turbulenceRangeStructEnum", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of grid cells in Y dimension.", true);
+ ParamDefTable[4].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=5, longName="gridYRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[5];
+ ParamDef->init("min", TYPE_ENUM, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Turbulence resolution. The higher resolution, the higher precision, but the simulation time is also longer. This is the lower bound of possible turbulence grid resolution, depending on the LOD settings", true);
+ ParamDefTable[5].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[5].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=6, longName="gridYRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[6];
+ ParamDef->init("max", TYPE_ENUM, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Turbulence resolution. The higher resolution, the higher precision, but the simulation time is also longer. This is the higher bound of possible turbulence grid resolution, depending on the LOD settings", true);
+ ParamDefTable[6].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[6].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=7, longName="gridZRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[7];
+ ParamDef->init("gridZRange", TYPE_STRUCT, "turbulenceRangeStructEnum", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of grid cells in Z dimension.", true);
+ ParamDefTable[7].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=8, longName="gridZRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[8];
+ ParamDef->init("min", TYPE_ENUM, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Turbulence resolution. The higher resolution, the higher precision, but the simulation time is also longer. This is the lower bound of possible turbulence grid resolution, depending on the LOD settings", true);
+ ParamDefTable[8].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[8].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=9, longName="gridZRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[9];
+ ParamDef->init("max", TYPE_ENUM, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Turbulence resolution. The higher resolution, the higher precision, but the simulation time is also longer. This is the higher bound of possible turbulence grid resolution, depending on the LOD settings", true);
+ ParamDefTable[9].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[9].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=10, longName="gridSizeWorld"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[10];
+ ParamDef->init("gridSizeWorld", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Size of the grid in world space.", true);
+ ParamDefTable[10].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=11, longName="updatesPerFrameRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[11];
+ ParamDef->init("updatesPerFrameRange", TYPE_STRUCT, "rangeStructF32", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The number of updates per frame. See APEX documentation for limitations.", true);
+ ParamDefTable[11].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=12, longName="updatesPerFrameRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[12];
+ ParamDef->init("min", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Minimum value", true);
+ ParamDefTable[12].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=13, longName="updatesPerFrameRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[13];
+ ParamDef->init("max", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Maximum value", true);
+ ParamDefTable[13].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=14, longName="angularVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[14];
+ ParamDef->init("angularVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a multiplier for the angular velocity set by the user.", true);
+ ParamDefTable[14].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=15, longName="angularVelocityClamp"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[15];
+ ParamDef->init("angularVelocityClamp", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a clamp for the angular velocity set by the user.", true);
+ ParamDefTable[15].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=16, longName="linearVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[16];
+ ParamDef->init("linearVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a multiplier for the linear velocity set by the user.", true);
+ ParamDefTable[16].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=17, longName="linearVelocityClamp"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[17];
+ ParamDef->init("linearVelocityClamp", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a clamp for the linear velocity set by the user.", true);
+ ParamDefTable[17].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=18, longName="velocityFieldFade"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[18];
+ ParamDef->init("velocityFieldFade", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[18].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Each cell in velocity field are multiplied by (1 - velocityFieldFade) every frame.", true);
+ ParamDefTable[18].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=19, longName="velocityFieldCleaningTime"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[19];
+ ParamDef->init("velocityFieldCleaningTime", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1000), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[19].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1000), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Time of velocity field cleaning process [sec]. Cleaning disabled by default.", true);
+ ParamDefTable[19].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=20, longName="velocityFieldCleaningDelay"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[20];
+ ParamDef->init("velocityFieldCleaningDelay", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1000), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[20].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1000), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Time without activity before velocity field cleaning process starts [sec]. ", true);
+ ParamDefTable[20].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=21, longName="velocityFieldCleaningIntensity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[21];
+ ParamDef->init("velocityFieldCleaningIntensity", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(4), true);
+ HintTable[1].init("min", double(0.01), true);
+ ParamDefTable[21].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(4), true);
+ HintTable[1].init("min", double(0.01), true);
+ HintTable[2].init("shortDescription", "This parameter correspond to 'a' in erf(a*(cleaning_timer/velocityFieldCleaningTime)). \n for full cleaning it should be greater then 2. If want just decrease velocity magitude use smaller value", true);
+ ParamDefTable[21].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=22, longName="boundaryFadePercentage"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[22];
+ ParamDef->init("boundaryFadePercentage", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[22].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Percentage of distance from boundary to center where fade out starts.", true);
+ ParamDefTable[22].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=23, longName="boundarySizePercentage"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[23];
+ ParamDef->init("boundarySizePercentage", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[23].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Boundary size as the percentage of grid size.", true);
+ ParamDefTable[23].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=24, longName="collisionFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[24];
+ ParamDef->init("collisionFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("HIDDEN", uint64_t(1), true);
+ ParamDefTable[24].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("HIDDEN", uint64_t(1), true);
+ HintTable[1].init("shortDescription", "The filter data (group/groupsMask) name for TurbulenceFS vs PhysX interaction.", true);
+ ParamDefTable[24].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=25, longName="fieldBoundaryFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[25];
+ ParamDef->init("fieldBoundaryFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("HIDDEN", uint64_t(1), true);
+ ParamDefTable[25].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("HIDDEN", uint64_t(1), true);
+ HintTable[1].init("shortDescription", "The filter data name for TurbulenceFS vs Field Boundaries interaction.", true);
+ ParamDefTable[25].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=26, longName="fieldSamplerFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[26];
+ ParamDef->init("fieldSamplerFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The filter data name for TurbulenceFS vs other Field Samplers interaction.", true);
+ ParamDefTable[26].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=27, longName="maxCollidingObjects"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[27];
+ ParamDef->init("maxCollidingObjects", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The maximum number of colliding objects.", true);
+ ParamDefTable[27].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=28, longName="maxHeatSources"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[28];
+ ParamDef->init("maxHeatSources", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The maximum number of heat source.", true);
+ ParamDefTable[28].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=29, longName="maxSubstanceSources"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[29];
+ ParamDef->init("maxSubstanceSources", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The maximum number of substance source (computed if density enabled).", true);
+ ParamDefTable[29].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=30, longName="dragCoeff"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[30];
+ ParamDef->init("dragCoeff", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Coefficient for deriving drag force from velocity (if equals to zero, direct grid velocity is used).", true);
+ ParamDefTable[30].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=31, longName="externalVelocity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[31];
+ ParamDef->init("externalVelocity", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Adds a single directional velocity to the grid.", true);
+ ParamDefTable[31].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=32, longName="fieldVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[32];
+ ParamDef->init("fieldVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "A multiplier for the field velocity.", true);
+ ParamDefTable[32].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=33, longName="fieldVelocityWeight"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[33];
+ ParamDef->init("fieldVelocityWeight", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[33].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "The effect of the field velocity on objects. A value of 1 causes objects to only be affected by the grid, a value of 0 allows objects to be controlled by other field samplers.", true);
+ ParamDefTable[33].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=34, longName="useHeat"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[34];
+ ParamDef->init("useHeat", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Enable whether or not to use heat in the simulation.", true);
+ ParamDefTable[34].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=35, longName="heatParams"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[35];
+ ParamDef->init("heatParams", TYPE_STRUCT, "HeatParams", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=36, longName="heatParams.temperatureBasedForceMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[36];
+ ParamDef->init("temperatureBasedForceMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Multiplier for force induced by heat source.", true);
+ ParamDefTable[36].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=37, longName="heatParams.ambientTemperature"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[37];
+ ParamDef->init("ambientTemperature", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Environment temperature.", true);
+ ParamDefTable[37].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=38, longName="heatParams.heatForceDirection"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[38];
+ ParamDef->init("heatForceDirection", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Direction of the force induced by heat source.", true);
+ ParamDefTable[38].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=39, longName="heatParams.thermalConductivity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[39];
+ ParamDef->init("thermalConductivity", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Thermal conductivity. Default value is set for air.", true);
+ ParamDefTable[39].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=40, longName="useDensity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[40];
+ ParamDef->init("useDensity", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Enable whether or not to use density in the simulation.", true);
+ ParamDefTable[40].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=41, longName="densityParams"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[41];
+ ParamDef->init("densityParams", TYPE_STRUCT, "DensityParams", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=42, longName="densityParams.diffusionCoef"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[42];
+ ParamDef->init("diffusionCoef", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Diffusion coefficient for density (analog for viscosity in velocity equation.", true);
+ ParamDefTable[42].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=43, longName="densityParams.densityFieldFade"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[43];
+ ParamDef->init("densityFieldFade", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[43].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Each cell in density field are multiplied by (1 - densityFieldFade) every frame.", true);
+ ParamDefTable[43].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=44, longName="densityParams.densityGridMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[44];
+ ParamDef->init("densityGridMultiplier", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("min", uint64_t(1), true);
+ ParamDefTable[44].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("min", uint64_t(1), true);
+ HintTable[1].init("shortDescription", "Density grid resolution multiplier.", true);
+ ParamDefTable[44].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=45, longName="isEnabledOptimizedLOD"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[45];
+ ParamDef->init("isEnabledOptimizedLOD", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Enable more aggressive LOD.", true);
+ ParamDefTable[45].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=46, longName="customLOD"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[46];
+ ParamDef->init("customLOD", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Force the current LOD to a particular value, range is 0-1: 1.0f is maximum, 0.0f is minimum simulation quality.", true);
+ ParamDefTable[46].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=47, longName="lodWeights"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[47];
+ ParamDef->init("lodWeights", TYPE_STRUCT, "LODWeights", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=48, longName="lodWeights.maxDistance"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[48];
+ ParamDef->init("maxDistance", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Objects greater than this distance from the player will be culled more aggressively", true);
+ ParamDefTable[48].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=49, longName="lodWeights.distanceWeight"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[49];
+ ParamDef->init("distanceWeight", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Weight given to distance parameter in LOD function", true);
+ ParamDefTable[49].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=50, longName="lodWeights.bias"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[50];
+ ParamDef->init("bias", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "benefit = ((distanceWeight * distanceFactor + bias) * SimulationCost + benefitBias) * benefitWeight", true);
+ ParamDefTable[50].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=51, longName="lodWeights.benefitBias"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[51];
+ ParamDef->init("benefitBias", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "benefit = ((distanceWeight * distanceFactor + bias) * SimulationCost + benefitBias) * benefitWeight", true);
+ ParamDefTable[51].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=52, longName="lodWeights.benefitWeight"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[52];
+ ParamDef->init("benefitWeight", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "benefit = ((distanceWeight * distanceFactor + bias) * SimulationCost + benefitBias) * benefitWeight", true);
+ ParamDefTable[52].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=53, longName="noiseParams"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[53];
+ ParamDef->init("noiseParams", TYPE_STRUCT, "NoiseParams", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=54, longName="noiseParams.noiseStrength"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[54];
+ ParamDef->init("noiseStrength", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The strength of the noise added to the simulation.", true);
+ ParamDefTable[54].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=55, longName="noiseParams.noiseSpacePeriod"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[55];
+ ParamDef->init("noiseSpacePeriod", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Noise period in space.", true);
+ ParamDefTable[55].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=56, longName="noiseParams.noiseTimePeriod"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[56];
+ ParamDef->init("noiseTimePeriod", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Noise time period.", true);
+ ParamDefTable[56].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=57, longName="noiseParams.noiseOctaves"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[57];
+ ParamDef->init("noiseOctaves", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of the noise octaves (more octaves give more turbulent noise, but increase computational time).", true);
+ ParamDefTable[57].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=58, longName="dragCoeffForRigidBody"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[58];
+ ParamDef->init("dragCoeffForRigidBody", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "It is not true drag coef just mixing coefficient for slip and no-slip boundary condition. If set to zero supposed slip boundary condition on rigid bodies. If set to 1 supposed no-slip boundary condition else mixed (partly slip)", true);
+ ParamDefTable[58].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=59, longName="fluidViscosity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[59];
+ ParamDef->init("fluidViscosity", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Viscosity is the coefficient for velocity diffusion. If 0. there is no diffusion.", true);
+ ParamDefTable[59].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=60, longName="volumeRenderMaterialName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[60];
+ ParamDef->init("volumeRenderMaterialName", TYPE_REF, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The optional volume render material name", true);
+ ParamDefTable[60].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+ static const char* const RefVariantVals[] = { "ApexVolumeRenderMaterials" };
+ ParamDefTable[60].setRefVariantVals((const char**)RefVariantVals, 1);
+
+
+
+ }
+
+ // SetChildren for: nodeIndex=0, longName=""
+ {
+ static Definition* Children[36];
+ Children[0] = PDEF_PTR(1);
+ Children[1] = PDEF_PTR(4);
+ Children[2] = PDEF_PTR(7);
+ Children[3] = PDEF_PTR(10);
+ Children[4] = PDEF_PTR(11);
+ Children[5] = PDEF_PTR(14);
+ Children[6] = PDEF_PTR(15);
+ Children[7] = PDEF_PTR(16);
+ Children[8] = PDEF_PTR(17);
+ Children[9] = PDEF_PTR(18);
+ Children[10] = PDEF_PTR(19);
+ Children[11] = PDEF_PTR(20);
+ Children[12] = PDEF_PTR(21);
+ Children[13] = PDEF_PTR(22);
+ Children[14] = PDEF_PTR(23);
+ Children[15] = PDEF_PTR(24);
+ Children[16] = PDEF_PTR(25);
+ Children[17] = PDEF_PTR(26);
+ Children[18] = PDEF_PTR(27);
+ Children[19] = PDEF_PTR(28);
+ Children[20] = PDEF_PTR(29);
+ Children[21] = PDEF_PTR(30);
+ Children[22] = PDEF_PTR(31);
+ Children[23] = PDEF_PTR(32);
+ Children[24] = PDEF_PTR(33);
+ Children[25] = PDEF_PTR(34);
+ Children[26] = PDEF_PTR(35);
+ Children[27] = PDEF_PTR(40);
+ Children[28] = PDEF_PTR(41);
+ Children[29] = PDEF_PTR(45);
+ Children[30] = PDEF_PTR(46);
+ Children[31] = PDEF_PTR(47);
+ Children[32] = PDEF_PTR(53);
+ Children[33] = PDEF_PTR(58);
+ Children[34] = PDEF_PTR(59);
+ Children[35] = PDEF_PTR(60);
+
+ ParamDefTable[0].setChildren(Children, 36);
+ }
+
+ // SetChildren for: nodeIndex=1, longName="gridXRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(2);
+ Children[1] = PDEF_PTR(3);
+
+ ParamDefTable[1].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=4, longName="gridYRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(5);
+ Children[1] = PDEF_PTR(6);
+
+ ParamDefTable[4].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=7, longName="gridZRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(8);
+ Children[1] = PDEF_PTR(9);
+
+ ParamDefTable[7].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=11, longName="updatesPerFrameRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(12);
+ Children[1] = PDEF_PTR(13);
+
+ ParamDefTable[11].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=35, longName="heatParams"
+ {
+ static Definition* Children[4];
+ Children[0] = PDEF_PTR(36);
+ Children[1] = PDEF_PTR(37);
+ Children[2] = PDEF_PTR(38);
+ Children[3] = PDEF_PTR(39);
+
+ ParamDefTable[35].setChildren(Children, 4);
+ }
+
+ // SetChildren for: nodeIndex=41, longName="densityParams"
+ {
+ static Definition* Children[3];
+ Children[0] = PDEF_PTR(42);
+ Children[1] = PDEF_PTR(43);
+ Children[2] = PDEF_PTR(44);
+
+ ParamDefTable[41].setChildren(Children, 3);
+ }
+
+ // SetChildren for: nodeIndex=47, longName="lodWeights"
+ {
+ static Definition* Children[5];
+ Children[0] = PDEF_PTR(48);
+ Children[1] = PDEF_PTR(49);
+ Children[2] = PDEF_PTR(50);
+ Children[3] = PDEF_PTR(51);
+ Children[4] = PDEF_PTR(52);
+
+ ParamDefTable[47].setChildren(Children, 5);
+ }
+
+ // SetChildren for: nodeIndex=53, longName="noiseParams"
+ {
+ static Definition* Children[4];
+ Children[0] = PDEF_PTR(54);
+ Children[1] = PDEF_PTR(55);
+ Children[2] = PDEF_PTR(56);
+ Children[3] = PDEF_PTR(57);
+
+ ParamDefTable[53].setChildren(Children, 4);
+ }
+
+ mBuiltFlag = true;
+
+}
+void TurbulenceFSAssetParams_1p0::initStrings(void)
+{
+ collisionFilterDataName.isAllocated = true;
+ collisionFilterDataName.buf = NULL;
+ fieldBoundaryFilterDataName.isAllocated = true;
+ fieldBoundaryFilterDataName.buf = NULL;
+ fieldSamplerFilterDataName.isAllocated = true;
+ fieldSamplerFilterDataName.buf = NULL;
+}
+
+void TurbulenceFSAssetParams_1p0::initDynamicArrays(void)
+{
+}
+
+void TurbulenceFSAssetParams_1p0::initDefaults(void)
+{
+
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+ gridXRange.min = (const char*)"EGR_16";
+ gridXRange.max = (const char*)"EGR_16";
+ gridYRange.min = (const char*)"EGR_16";
+ gridYRange.max = (const char*)"EGR_16";
+ gridZRange.min = (const char*)"EGR_16";
+ gridZRange.max = (const char*)"EGR_16";
+ gridSizeWorld = physx::PxVec3(init(12, 12, 12));
+
+ updatesPerFrameRange.min = 0.0f;
+ updatesPerFrameRange.max = 1.0f;
+
+ angularVelocityMultiplier = float(1);
+ angularVelocityClamp = float(1000000);
+ linearVelocityMultiplier = float(1);
+ linearVelocityClamp = float(1000000);
+ velocityFieldFade = float(0);
+ velocityFieldCleaningTime = float(0);
+ velocityFieldCleaningDelay = float(2);
+ velocityFieldCleaningIntensity = float(2);
+ boundaryFadePercentage = float(0.1);
+ boundarySizePercentage = float(1);
+ maxCollidingObjects = uint32_t(32);
+ maxHeatSources = uint32_t(8);
+ maxSubstanceSources = uint32_t(8);
+ dragCoeff = float(0);
+ externalVelocity = physx::PxVec3(init(0.0, 0.0, 0.0));
+ fieldVelocityMultiplier = float(1);
+ fieldVelocityWeight = float(1);
+ useHeat = bool(false);
+ heatParams.temperatureBasedForceMultiplier = float(0.02);
+ heatParams.ambientTemperature = float(0);
+ heatParams.heatForceDirection = physx::PxVec3(init(0.0, 1.0, 0.0));
+ heatParams.thermalConductivity = float(0.025);
+ useDensity = bool(false);
+ densityParams.diffusionCoef = float(0);
+ densityParams.densityFieldFade = float(0);
+ densityParams.densityGridMultiplier = uint32_t(1);
+ isEnabledOptimizedLOD = bool(false);
+ customLOD = float(1);
+ lodWeights.maxDistance = float(100);
+ lodWeights.distanceWeight = float(1);
+ lodWeights.bias = float(0);
+ lodWeights.benefitBias = float(0);
+ lodWeights.benefitWeight = float(1);
+ noiseParams.noiseStrength = float(0);
+ noiseParams.noiseSpacePeriod = physx::PxVec3(init(1.0, 1.0, 1.0));
+ noiseParams.noiseTimePeriod = float(1);
+ noiseParams.noiseOctaves = uint32_t(1);
+ dragCoeffForRigidBody = float(0);
+ fluidViscosity = float(0);
+
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+}
+
+void TurbulenceFSAssetParams_1p0::initReferences(void)
+{
+ volumeRenderMaterialName = NULL;
+
+}
+
+void TurbulenceFSAssetParams_1p0::freeDynamicArrays(void)
+{
+}
+
+void TurbulenceFSAssetParams_1p0::freeStrings(void)
+{
+
+ if (collisionFilterDataName.isAllocated && collisionFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)collisionFilterDataName.buf);
+ }
+
+ if (fieldBoundaryFilterDataName.isAllocated && fieldBoundaryFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)fieldBoundaryFilterDataName.buf);
+ }
+
+ if (fieldSamplerFilterDataName.isAllocated && fieldSamplerFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)fieldSamplerFilterDataName.buf);
+ }
+}
+
+void TurbulenceFSAssetParams_1p0::freeReferences(void)
+{
+ if (volumeRenderMaterialName)
+ {
+ volumeRenderMaterialName->destroy();
+ }
+
+}
+
+} // namespace parameterized
+} // namespace nvidia
diff --git a/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_1p1.cpp b/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_1p1.cpp
new file mode 100644
index 00000000..a156e582
--- /dev/null
+++ b/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_1p1.cpp
@@ -0,0 +1,1950 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and 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.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#include "TurbulenceFSAssetParams_1p1.h"
+#include <string.h>
+#include <stdlib.h>
+
+using namespace NvParameterized;
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+using namespace TurbulenceFSAssetParams_1p1NS;
+
+const char* const TurbulenceFSAssetParams_1p1Factory::vptr =
+ NvParameterized::getVptr<TurbulenceFSAssetParams_1p1, TurbulenceFSAssetParams_1p1::ClassAlignment>();
+
+const uint32_t NumParamDefs = 62;
+static NvParameterized::DefinitionImpl* ParamDefTable; // now allocated in buildTree [NumParamDefs];
+
+
+static const size_t ParamLookupChildrenTable[] =
+{
+ 1, 4, 7, 10, 11, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 34, 35, 36, 41, 42, 46, 47, 48, 54, 59, 60, 61, 2, 3, 5, 6, 8, 9,
+ 12, 13, 37, 38, 39, 40, 43, 44, 45, 49, 50, 51, 52, 53, 55, 56, 57, 58,
+};
+
+#define TENUM(type) nvidia::##type
+#define CHILDREN(index) &ParamLookupChildrenTable[index]
+static const NvParameterized::ParamLookupNode ParamLookupTable[NumParamDefs] =
+{
+ { TYPE_STRUCT, false, 0, CHILDREN(0), 37 },
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->gridXRange), CHILDREN(37), 2 }, // gridXRange
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->min), NULL, 0 }, // gridXRange.min
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->max), NULL, 0 }, // gridXRange.max
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->gridYRange), CHILDREN(39), 2 }, // gridYRange
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->min), NULL, 0 }, // gridYRange.min
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->max), NULL, 0 }, // gridYRange.max
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->gridZRange), CHILDREN(41), 2 }, // gridZRange
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->min), NULL, 0 }, // gridZRange.min
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->max), NULL, 0 }, // gridZRange.max
+ { TYPE_VEC3, false, (size_t)(&((ParametersStruct*)0)->gridSizeWorld), NULL, 0 }, // gridSizeWorld
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->updatesPerFrameRange), CHILDREN(43), 2 }, // updatesPerFrameRange
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->min), NULL, 0 }, // updatesPerFrameRange.min
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->max), NULL, 0 }, // updatesPerFrameRange.max
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->angularVelocityMultiplier), NULL, 0 }, // angularVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->angularVelocityClamp), NULL, 0 }, // angularVelocityClamp
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->linearVelocityMultiplier), NULL, 0 }, // linearVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->linearVelocityClamp), NULL, 0 }, // linearVelocityClamp
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->velocityFieldFade), NULL, 0 }, // velocityFieldFade
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->velocityFieldCleaningTime), NULL, 0 }, // velocityFieldCleaningTime
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->velocityFieldCleaningDelay), NULL, 0 }, // velocityFieldCleaningDelay
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->velocityFieldCleaningIntensity), NULL, 0 }, // velocityFieldCleaningIntensity
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->boundaryFadePercentage), NULL, 0 }, // boundaryFadePercentage
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->boundarySizePercentage), NULL, 0 }, // boundarySizePercentage
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->collisionFilterDataName), NULL, 0 }, // collisionFilterDataName
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->fieldBoundaryFilterDataName), NULL, 0 }, // fieldBoundaryFilterDataName
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->fieldSamplerFilterDataName), NULL, 0 }, // fieldSamplerFilterDataName
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->maxCollidingObjects), NULL, 0 }, // maxCollidingObjects
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->maxVelocitySources), NULL, 0 }, // maxVelocitySources
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->maxHeatSources), NULL, 0 }, // maxHeatSources
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->maxSubstanceSources), NULL, 0 }, // maxSubstanceSources
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->dragCoeff), NULL, 0 }, // dragCoeff
+ { TYPE_VEC3, false, (size_t)(&((ParametersStruct*)0)->externalVelocity), NULL, 0 }, // externalVelocity
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fieldVelocityMultiplier), NULL, 0 }, // fieldVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fieldVelocityWeight), NULL, 0 }, // fieldVelocityWeight
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->useHeat), NULL, 0 }, // useHeat
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->heatParams), CHILDREN(45), 4 }, // heatParams
+ { TYPE_F32, false, (size_t)(&((HeatParams_Type*)0)->temperatureBasedForceMultiplier), NULL, 0 }, // heatParams.temperatureBasedForceMultiplier
+ { TYPE_F32, false, (size_t)(&((HeatParams_Type*)0)->ambientTemperature), NULL, 0 }, // heatParams.ambientTemperature
+ { TYPE_VEC3, false, (size_t)(&((HeatParams_Type*)0)->heatForceDirection), NULL, 0 }, // heatParams.heatForceDirection
+ { TYPE_F32, false, (size_t)(&((HeatParams_Type*)0)->thermalConductivity), NULL, 0 }, // heatParams.thermalConductivity
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->useDensity), NULL, 0 }, // useDensity
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->densityParams), CHILDREN(49), 3 }, // densityParams
+ { TYPE_F32, false, (size_t)(&((DensityParams_Type*)0)->diffusionCoef), NULL, 0 }, // densityParams.diffusionCoef
+ { TYPE_F32, false, (size_t)(&((DensityParams_Type*)0)->densityFieldFade), NULL, 0 }, // densityParams.densityFieldFade
+ { TYPE_U32, false, (size_t)(&((DensityParams_Type*)0)->densityGridMultiplier), NULL, 0 }, // densityParams.densityGridMultiplier
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->isEnabledOptimizedLOD), NULL, 0 }, // isEnabledOptimizedLOD
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->customLOD), NULL, 0 }, // customLOD
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->lodWeights), CHILDREN(52), 5 }, // lodWeights
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->maxDistance), NULL, 0 }, // lodWeights.maxDistance
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->distanceWeight), NULL, 0 }, // lodWeights.distanceWeight
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->bias), NULL, 0 }, // lodWeights.bias
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->benefitBias), NULL, 0 }, // lodWeights.benefitBias
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->benefitWeight), NULL, 0 }, // lodWeights.benefitWeight
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->noiseParams), CHILDREN(57), 4 }, // noiseParams
+ { TYPE_F32, false, (size_t)(&((NoiseParams_Type*)0)->noiseStrength), NULL, 0 }, // noiseParams.noiseStrength
+ { TYPE_VEC3, false, (size_t)(&((NoiseParams_Type*)0)->noiseSpacePeriod), NULL, 0 }, // noiseParams.noiseSpacePeriod
+ { TYPE_F32, false, (size_t)(&((NoiseParams_Type*)0)->noiseTimePeriod), NULL, 0 }, // noiseParams.noiseTimePeriod
+ { TYPE_U32, false, (size_t)(&((NoiseParams_Type*)0)->noiseOctaves), NULL, 0 }, // noiseParams.noiseOctaves
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->dragCoeffForRigidBody), NULL, 0 }, // dragCoeffForRigidBody
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fluidViscosity), NULL, 0 }, // fluidViscosity
+ { TYPE_REF, false, (size_t)(&((ParametersStruct*)0)->volumeRenderMaterialName), NULL, 0 }, // volumeRenderMaterialName
+};
+
+
+bool TurbulenceFSAssetParams_1p1::mBuiltFlag = false;
+NvParameterized::MutexType TurbulenceFSAssetParams_1p1::mBuiltFlagMutex;
+
+TurbulenceFSAssetParams_1p1::TurbulenceFSAssetParams_1p1(NvParameterized::Traits* traits, void* buf, int32_t* refCount) :
+ NvParameters(traits, buf, refCount)
+{
+ //mParameterizedTraits->registerFactory(className(), &TurbulenceFSAssetParams_1p1FactoryInst);
+
+ if (!buf) //Do not init data if it is inplace-deserialized
+ {
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+ initDefaults();
+ }
+}
+
+TurbulenceFSAssetParams_1p1::~TurbulenceFSAssetParams_1p1()
+{
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+}
+
+void TurbulenceFSAssetParams_1p1::destroy()
+{
+ // We cache these fields here to avoid overwrite in destructor
+ bool doDeallocateSelf = mDoDeallocateSelf;
+ NvParameterized::Traits* traits = mParameterizedTraits;
+ int32_t* refCount = mRefCount;
+ void* buf = mBuffer;
+
+ this->~TurbulenceFSAssetParams_1p1();
+
+ NvParameters::destroy(this, traits, doDeallocateSelf, refCount, buf);
+}
+
+const NvParameterized::DefinitionImpl* TurbulenceFSAssetParams_1p1::getParameterDefinitionTree(void)
+{
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+const NvParameterized::DefinitionImpl* TurbulenceFSAssetParams_1p1::getParameterDefinitionTree(void) const
+{
+ TurbulenceFSAssetParams_1p1* tmpParam = const_cast<TurbulenceFSAssetParams_1p1*>(this);
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ tmpParam->buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+NvParameterized::ErrorType TurbulenceFSAssetParams_1p1::getParameterHandle(const char* long_name, Handle& handle) const
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+NvParameterized::ErrorType TurbulenceFSAssetParams_1p1::getParameterHandle(const char* long_name, Handle& handle)
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+void TurbulenceFSAssetParams_1p1::getVarPtr(const Handle& handle, void*& ptr, size_t& offset) const
+{
+ ptr = getVarPtrHelper(&ParamLookupTable[0], const_cast<TurbulenceFSAssetParams_1p1::ParametersStruct*>(&parameters()), handle, offset);
+}
+
+
+/* Dynamic Handle Indices */
+
+void TurbulenceFSAssetParams_1p1::freeParameterDefinitionTable(NvParameterized::Traits* traits)
+{
+ if (!traits)
+ {
+ return;
+ }
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ return;
+ }
+
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+
+ if (!mBuiltFlag)
+ {
+ return;
+ }
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ ParamDefTable[i].~DefinitionImpl();
+ }
+
+ traits->free(ParamDefTable);
+
+ mBuiltFlag = false;
+}
+
+#define PDEF_PTR(index) (&ParamDefTable[index])
+
+void TurbulenceFSAssetParams_1p1::buildTree(void)
+{
+
+ uint32_t allocSize = sizeof(NvParameterized::DefinitionImpl) * NumParamDefs;
+ ParamDefTable = (NvParameterized::DefinitionImpl*)(mParameterizedTraits->alloc(allocSize));
+ memset(ParamDefTable, 0, allocSize);
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ NV_PARAM_PLACEMENT_NEW(ParamDefTable + i, NvParameterized::DefinitionImpl)(*mParameterizedTraits);
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=0, longName=""
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[0];
+ ParamDef->init("", TYPE_STRUCT, "STRUCT", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Contains the asset properties for this Turbulence field sampler.", true);
+ ParamDefTable[0].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=1, longName="gridXRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[1];
+ ParamDef->init("gridXRange", TYPE_STRUCT, "turbulenceRangeStructEnum", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of grid cells in X dimension.", true);
+ ParamDefTable[1].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=2, longName="gridXRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[2];
+ ParamDef->init("min", TYPE_ENUM, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Turbulence resolution. The higher resolution, the higher precision, but the simulation time is also longer. This is the lower bound of possible turbulence grid resolution, depending on the LOD settings", true);
+ ParamDefTable[2].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[2].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=3, longName="gridXRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[3];
+ ParamDef->init("max", TYPE_ENUM, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Turbulence resolution. The higher resolution, the higher precision, but the simulation time is also longer. This is the higher bound of possible turbulence grid resolution, depending on the LOD settings", true);
+ ParamDefTable[3].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[3].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=4, longName="gridYRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[4];
+ ParamDef->init("gridYRange", TYPE_STRUCT, "turbulenceRangeStructEnum", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of grid cells in Y dimension.", true);
+ ParamDefTable[4].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=5, longName="gridYRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[5];
+ ParamDef->init("min", TYPE_ENUM, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Turbulence resolution. The higher resolution, the higher precision, but the simulation time is also longer. This is the lower bound of possible turbulence grid resolution, depending on the LOD settings", true);
+ ParamDefTable[5].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[5].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=6, longName="gridYRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[6];
+ ParamDef->init("max", TYPE_ENUM, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Turbulence resolution. The higher resolution, the higher precision, but the simulation time is also longer. This is the higher bound of possible turbulence grid resolution, depending on the LOD settings", true);
+ ParamDefTable[6].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[6].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=7, longName="gridZRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[7];
+ ParamDef->init("gridZRange", TYPE_STRUCT, "turbulenceRangeStructEnum", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of grid cells in Z dimension.", true);
+ ParamDefTable[7].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=8, longName="gridZRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[8];
+ ParamDef->init("min", TYPE_ENUM, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Turbulence resolution. The higher resolution, the higher precision, but the simulation time is also longer. This is the lower bound of possible turbulence grid resolution, depending on the LOD settings", true);
+ ParamDefTable[8].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[8].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=9, longName="gridZRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[9];
+ ParamDef->init("max", TYPE_ENUM, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Turbulence resolution. The higher resolution, the higher precision, but the simulation time is also longer. This is the higher bound of possible turbulence grid resolution, depending on the LOD settings", true);
+ ParamDefTable[9].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[9].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=10, longName="gridSizeWorld"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[10];
+ ParamDef->init("gridSizeWorld", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Size of the grid in world space.", true);
+ ParamDefTable[10].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=11, longName="updatesPerFrameRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[11];
+ ParamDef->init("updatesPerFrameRange", TYPE_STRUCT, "rangeStructF32", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The number of updates per frame. See APEX documentation for limitations.", true);
+ ParamDefTable[11].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=12, longName="updatesPerFrameRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[12];
+ ParamDef->init("min", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Minimum value", true);
+ ParamDefTable[12].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=13, longName="updatesPerFrameRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[13];
+ ParamDef->init("max", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Maximum value", true);
+ ParamDefTable[13].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=14, longName="angularVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[14];
+ ParamDef->init("angularVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a multiplier for the angular velocity set by the user.", true);
+ ParamDefTable[14].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=15, longName="angularVelocityClamp"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[15];
+ ParamDef->init("angularVelocityClamp", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a clamp for the angular velocity set by the user.", true);
+ ParamDefTable[15].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=16, longName="linearVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[16];
+ ParamDef->init("linearVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a multiplier for the linear velocity set by the user.", true);
+ ParamDefTable[16].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=17, longName="linearVelocityClamp"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[17];
+ ParamDef->init("linearVelocityClamp", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a clamp for the linear velocity set by the user.", true);
+ ParamDefTable[17].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=18, longName="velocityFieldFade"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[18];
+ ParamDef->init("velocityFieldFade", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[18].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Each cell in velocity field are multiplied by (1 - velocityFieldFade) every frame.", true);
+ ParamDefTable[18].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=19, longName="velocityFieldCleaningTime"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[19];
+ ParamDef->init("velocityFieldCleaningTime", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1000), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[19].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1000), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Time of velocity field cleaning process [sec]. Cleaning disabled by default.", true);
+ ParamDefTable[19].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=20, longName="velocityFieldCleaningDelay"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[20];
+ ParamDef->init("velocityFieldCleaningDelay", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1000), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[20].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1000), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Time without activity before velocity field cleaning process starts [sec]. ", true);
+ ParamDefTable[20].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=21, longName="velocityFieldCleaningIntensity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[21];
+ ParamDef->init("velocityFieldCleaningIntensity", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(4), true);
+ HintTable[1].init("min", double(0.01), true);
+ ParamDefTable[21].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(4), true);
+ HintTable[1].init("min", double(0.01), true);
+ HintTable[2].init("shortDescription", "This parameter correspond to 'a' in erf(a*(cleaning_timer/velocityFieldCleaningTime)). \n for full cleaning it should be greater then 2. If want just decrease velocity magitude use smaller value", true);
+ ParamDefTable[21].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=22, longName="boundaryFadePercentage"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[22];
+ ParamDef->init("boundaryFadePercentage", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[22].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Percentage of distance from boundary to center where fade out starts.", true);
+ ParamDefTable[22].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=23, longName="boundarySizePercentage"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[23];
+ ParamDef->init("boundarySizePercentage", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[23].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Boundary size as the percentage of grid size.", true);
+ ParamDefTable[23].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=24, longName="collisionFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[24];
+ ParamDef->init("collisionFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("HIDDEN", uint64_t(1), true);
+ ParamDefTable[24].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("HIDDEN", uint64_t(1), true);
+ HintTable[1].init("shortDescription", "The filter data (group/groupsMask) name for TurbulenceFS vs PhysX interaction.", true);
+ ParamDefTable[24].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=25, longName="fieldBoundaryFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[25];
+ ParamDef->init("fieldBoundaryFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("HIDDEN", uint64_t(1), true);
+ ParamDefTable[25].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("HIDDEN", uint64_t(1), true);
+ HintTable[1].init("shortDescription", "The filter data name for TurbulenceFS vs Field Boundaries interaction.", true);
+ ParamDefTable[25].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=26, longName="fieldSamplerFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[26];
+ ParamDef->init("fieldSamplerFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The filter data name for TurbulenceFS vs other Field Samplers interaction.", true);
+ ParamDefTable[26].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=27, longName="maxCollidingObjects"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[27];
+ ParamDef->init("maxCollidingObjects", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The maximum number of colliding objects.", true);
+ ParamDefTable[27].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=28, longName="maxVelocitySources"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[28];
+ ParamDef->init("maxVelocitySources", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The maximum number of velocity source.", true);
+ ParamDefTable[28].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=29, longName="maxHeatSources"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[29];
+ ParamDef->init("maxHeatSources", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The maximum number of heat source.", true);
+ ParamDefTable[29].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=30, longName="maxSubstanceSources"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[30];
+ ParamDef->init("maxSubstanceSources", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The maximum number of substance source (computed if density enabled).", true);
+ ParamDefTable[30].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=31, longName="dragCoeff"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[31];
+ ParamDef->init("dragCoeff", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Coefficient for deriving drag force from velocity (if equals to zero, direct grid velocity is used).", true);
+ ParamDefTable[31].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=32, longName="externalVelocity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[32];
+ ParamDef->init("externalVelocity", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Adds a single directional velocity to the grid.", true);
+ ParamDefTable[32].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=33, longName="fieldVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[33];
+ ParamDef->init("fieldVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "A multiplier for the field velocity.", true);
+ ParamDefTable[33].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=34, longName="fieldVelocityWeight"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[34];
+ ParamDef->init("fieldVelocityWeight", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[34].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "The effect of the field velocity on objects. A value of 1 causes objects to only be affected by the grid, a value of 0 allows objects to be controlled by other field samplers.", true);
+ ParamDefTable[34].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=35, longName="useHeat"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[35];
+ ParamDef->init("useHeat", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Enable whether or not to use heat in the simulation.", true);
+ ParamDefTable[35].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=36, longName="heatParams"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[36];
+ ParamDef->init("heatParams", TYPE_STRUCT, "HeatParams", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=37, longName="heatParams.temperatureBasedForceMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[37];
+ ParamDef->init("temperatureBasedForceMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Multiplier for force induced by heat source.", true);
+ ParamDefTable[37].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=38, longName="heatParams.ambientTemperature"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[38];
+ ParamDef->init("ambientTemperature", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Environment temperature.", true);
+ ParamDefTable[38].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=39, longName="heatParams.heatForceDirection"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[39];
+ ParamDef->init("heatForceDirection", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Direction of the force induced by heat source.", true);
+ ParamDefTable[39].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=40, longName="heatParams.thermalConductivity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[40];
+ ParamDef->init("thermalConductivity", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Thermal conductivity. Default value is set for air.", true);
+ ParamDefTable[40].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=41, longName="useDensity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[41];
+ ParamDef->init("useDensity", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Enable whether or not to use density in the simulation.", true);
+ ParamDefTable[41].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=42, longName="densityParams"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[42];
+ ParamDef->init("densityParams", TYPE_STRUCT, "DensityParams", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=43, longName="densityParams.diffusionCoef"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[43];
+ ParamDef->init("diffusionCoef", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Diffusion coefficient for density (analog for viscosity in velocity equation.", true);
+ ParamDefTable[43].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=44, longName="densityParams.densityFieldFade"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[44];
+ ParamDef->init("densityFieldFade", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[44].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Each cell in density field are multiplied by (1 - densityFieldFade) every frame.", true);
+ ParamDefTable[44].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=45, longName="densityParams.densityGridMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[45];
+ ParamDef->init("densityGridMultiplier", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("min", uint64_t(1), true);
+ ParamDefTable[45].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("min", uint64_t(1), true);
+ HintTable[1].init("shortDescription", "Density grid resolution multiplier.", true);
+ ParamDefTable[45].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=46, longName="isEnabledOptimizedLOD"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[46];
+ ParamDef->init("isEnabledOptimizedLOD", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Enable more aggressive LOD.", true);
+ ParamDefTable[46].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=47, longName="customLOD"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[47];
+ ParamDef->init("customLOD", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Force the current LOD to a particular value, range is 0-1: 1.0f is maximum, 0.0f is minimum simulation quality.", true);
+ ParamDefTable[47].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=48, longName="lodWeights"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[48];
+ ParamDef->init("lodWeights", TYPE_STRUCT, "LODWeights", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=49, longName="lodWeights.maxDistance"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[49];
+ ParamDef->init("maxDistance", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Objects greater than this distance from the player will be culled more aggressively", true);
+ ParamDefTable[49].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=50, longName="lodWeights.distanceWeight"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[50];
+ ParamDef->init("distanceWeight", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Weight given to distance parameter in LOD function", true);
+ ParamDefTable[50].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=51, longName="lodWeights.bias"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[51];
+ ParamDef->init("bias", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "benefit = ((distanceWeight * distanceFactor + bias) * SimulationCost + benefitBias) * benefitWeight", true);
+ ParamDefTable[51].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=52, longName="lodWeights.benefitBias"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[52];
+ ParamDef->init("benefitBias", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "benefit = ((distanceWeight * distanceFactor + bias) * SimulationCost + benefitBias) * benefitWeight", true);
+ ParamDefTable[52].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=53, longName="lodWeights.benefitWeight"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[53];
+ ParamDef->init("benefitWeight", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "benefit = ((distanceWeight * distanceFactor + bias) * SimulationCost + benefitBias) * benefitWeight", true);
+ ParamDefTable[53].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=54, longName="noiseParams"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[54];
+ ParamDef->init("noiseParams", TYPE_STRUCT, "NoiseParams", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=55, longName="noiseParams.noiseStrength"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[55];
+ ParamDef->init("noiseStrength", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The strength of the noise added to the simulation.", true);
+ ParamDefTable[55].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=56, longName="noiseParams.noiseSpacePeriod"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[56];
+ ParamDef->init("noiseSpacePeriod", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Noise period in space.", true);
+ ParamDefTable[56].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=57, longName="noiseParams.noiseTimePeriod"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[57];
+ ParamDef->init("noiseTimePeriod", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Noise time period.", true);
+ ParamDefTable[57].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=58, longName="noiseParams.noiseOctaves"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[58];
+ ParamDef->init("noiseOctaves", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of the noise octaves (more octaves give more turbulent noise, but increase computational time).", true);
+ ParamDefTable[58].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=59, longName="dragCoeffForRigidBody"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[59];
+ ParamDef->init("dragCoeffForRigidBody", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "It is not true drag coef just mixing coefficient for slip and no-slip boundary condition. If set to zero supposed slip boundary condition on rigid bodies. If set to 1 supposed no-slip boundary condition else mixed (partly slip)", true);
+ ParamDefTable[59].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=60, longName="fluidViscosity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[60];
+ ParamDef->init("fluidViscosity", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Viscosity is the coefficient for velocity diffusion. If 0. there is no diffusion.", true);
+ ParamDefTable[60].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=61, longName="volumeRenderMaterialName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[61];
+ ParamDef->init("volumeRenderMaterialName", TYPE_REF, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The optional volume render material name", true);
+ ParamDefTable[61].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+ static const char* const RefVariantVals[] = { "ApexVolumeRenderMaterials" };
+ ParamDefTable[61].setRefVariantVals((const char**)RefVariantVals, 1);
+
+
+
+ }
+
+ // SetChildren for: nodeIndex=0, longName=""
+ {
+ static Definition* Children[37];
+ Children[0] = PDEF_PTR(1);
+ Children[1] = PDEF_PTR(4);
+ Children[2] = PDEF_PTR(7);
+ Children[3] = PDEF_PTR(10);
+ Children[4] = PDEF_PTR(11);
+ Children[5] = PDEF_PTR(14);
+ Children[6] = PDEF_PTR(15);
+ Children[7] = PDEF_PTR(16);
+ Children[8] = PDEF_PTR(17);
+ Children[9] = PDEF_PTR(18);
+ Children[10] = PDEF_PTR(19);
+ Children[11] = PDEF_PTR(20);
+ Children[12] = PDEF_PTR(21);
+ Children[13] = PDEF_PTR(22);
+ Children[14] = PDEF_PTR(23);
+ Children[15] = PDEF_PTR(24);
+ Children[16] = PDEF_PTR(25);
+ Children[17] = PDEF_PTR(26);
+ Children[18] = PDEF_PTR(27);
+ Children[19] = PDEF_PTR(28);
+ Children[20] = PDEF_PTR(29);
+ Children[21] = PDEF_PTR(30);
+ Children[22] = PDEF_PTR(31);
+ Children[23] = PDEF_PTR(32);
+ Children[24] = PDEF_PTR(33);
+ Children[25] = PDEF_PTR(34);
+ Children[26] = PDEF_PTR(35);
+ Children[27] = PDEF_PTR(36);
+ Children[28] = PDEF_PTR(41);
+ Children[29] = PDEF_PTR(42);
+ Children[30] = PDEF_PTR(46);
+ Children[31] = PDEF_PTR(47);
+ Children[32] = PDEF_PTR(48);
+ Children[33] = PDEF_PTR(54);
+ Children[34] = PDEF_PTR(59);
+ Children[35] = PDEF_PTR(60);
+ Children[36] = PDEF_PTR(61);
+
+ ParamDefTable[0].setChildren(Children, 37);
+ }
+
+ // SetChildren for: nodeIndex=1, longName="gridXRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(2);
+ Children[1] = PDEF_PTR(3);
+
+ ParamDefTable[1].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=4, longName="gridYRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(5);
+ Children[1] = PDEF_PTR(6);
+
+ ParamDefTable[4].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=7, longName="gridZRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(8);
+ Children[1] = PDEF_PTR(9);
+
+ ParamDefTable[7].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=11, longName="updatesPerFrameRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(12);
+ Children[1] = PDEF_PTR(13);
+
+ ParamDefTable[11].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=36, longName="heatParams"
+ {
+ static Definition* Children[4];
+ Children[0] = PDEF_PTR(37);
+ Children[1] = PDEF_PTR(38);
+ Children[2] = PDEF_PTR(39);
+ Children[3] = PDEF_PTR(40);
+
+ ParamDefTable[36].setChildren(Children, 4);
+ }
+
+ // SetChildren for: nodeIndex=42, longName="densityParams"
+ {
+ static Definition* Children[3];
+ Children[0] = PDEF_PTR(43);
+ Children[1] = PDEF_PTR(44);
+ Children[2] = PDEF_PTR(45);
+
+ ParamDefTable[42].setChildren(Children, 3);
+ }
+
+ // SetChildren for: nodeIndex=48, longName="lodWeights"
+ {
+ static Definition* Children[5];
+ Children[0] = PDEF_PTR(49);
+ Children[1] = PDEF_PTR(50);
+ Children[2] = PDEF_PTR(51);
+ Children[3] = PDEF_PTR(52);
+ Children[4] = PDEF_PTR(53);
+
+ ParamDefTable[48].setChildren(Children, 5);
+ }
+
+ // SetChildren for: nodeIndex=54, longName="noiseParams"
+ {
+ static Definition* Children[4];
+ Children[0] = PDEF_PTR(55);
+ Children[1] = PDEF_PTR(56);
+ Children[2] = PDEF_PTR(57);
+ Children[3] = PDEF_PTR(58);
+
+ ParamDefTable[54].setChildren(Children, 4);
+ }
+
+ mBuiltFlag = true;
+
+}
+void TurbulenceFSAssetParams_1p1::initStrings(void)
+{
+ collisionFilterDataName.isAllocated = true;
+ collisionFilterDataName.buf = NULL;
+ fieldBoundaryFilterDataName.isAllocated = true;
+ fieldBoundaryFilterDataName.buf = NULL;
+ fieldSamplerFilterDataName.isAllocated = true;
+ fieldSamplerFilterDataName.buf = NULL;
+}
+
+void TurbulenceFSAssetParams_1p1::initDynamicArrays(void)
+{
+}
+
+void TurbulenceFSAssetParams_1p1::initDefaults(void)
+{
+
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+ gridXRange.min = (const char*)"EGR_16";
+ gridXRange.max = (const char*)"EGR_16";
+ gridYRange.min = (const char*)"EGR_16";
+ gridYRange.max = (const char*)"EGR_16";
+ gridZRange.min = (const char*)"EGR_16";
+ gridZRange.max = (const char*)"EGR_16";
+ gridSizeWorld = physx::PxVec3(init(12, 12, 12));
+
+ updatesPerFrameRange.min = 0.0f;
+ updatesPerFrameRange.max = 1.0f;
+
+ angularVelocityMultiplier = float(1);
+ angularVelocityClamp = float(1000000);
+ linearVelocityMultiplier = float(1);
+ linearVelocityClamp = float(1000000);
+ velocityFieldFade = float(0);
+ velocityFieldCleaningTime = float(0);
+ velocityFieldCleaningDelay = float(2);
+ velocityFieldCleaningIntensity = float(2);
+ boundaryFadePercentage = float(0.1);
+ boundarySizePercentage = float(1);
+ maxCollidingObjects = uint32_t(32);
+ maxVelocitySources = uint32_t(8);
+ maxHeatSources = uint32_t(8);
+ maxSubstanceSources = uint32_t(8);
+ dragCoeff = float(0);
+ externalVelocity = physx::PxVec3(init(0.0, 0.0, 0.0));
+ fieldVelocityMultiplier = float(1);
+ fieldVelocityWeight = float(1);
+ useHeat = bool(false);
+ heatParams.temperatureBasedForceMultiplier = float(0.02);
+ heatParams.ambientTemperature = float(0);
+ heatParams.heatForceDirection = physx::PxVec3(init(0.0, 1.0, 0.0));
+ heatParams.thermalConductivity = float(0.025);
+ useDensity = bool(false);
+ densityParams.diffusionCoef = float(0);
+ densityParams.densityFieldFade = float(0);
+ densityParams.densityGridMultiplier = uint32_t(1);
+ isEnabledOptimizedLOD = bool(false);
+ customLOD = float(1);
+ lodWeights.maxDistance = float(100);
+ lodWeights.distanceWeight = float(1);
+ lodWeights.bias = float(0);
+ lodWeights.benefitBias = float(0);
+ lodWeights.benefitWeight = float(1);
+ noiseParams.noiseStrength = float(0);
+ noiseParams.noiseSpacePeriod = physx::PxVec3(init(1.0, 1.0, 1.0));
+ noiseParams.noiseTimePeriod = float(1);
+ noiseParams.noiseOctaves = uint32_t(1);
+ dragCoeffForRigidBody = float(0);
+ fluidViscosity = float(0);
+
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+}
+
+void TurbulenceFSAssetParams_1p1::initReferences(void)
+{
+ volumeRenderMaterialName = NULL;
+
+}
+
+void TurbulenceFSAssetParams_1p1::freeDynamicArrays(void)
+{
+}
+
+void TurbulenceFSAssetParams_1p1::freeStrings(void)
+{
+
+ if (collisionFilterDataName.isAllocated && collisionFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)collisionFilterDataName.buf);
+ }
+
+ if (fieldBoundaryFilterDataName.isAllocated && fieldBoundaryFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)fieldBoundaryFilterDataName.buf);
+ }
+
+ if (fieldSamplerFilterDataName.isAllocated && fieldSamplerFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)fieldSamplerFilterDataName.buf);
+ }
+}
+
+void TurbulenceFSAssetParams_1p1::freeReferences(void)
+{
+ if (volumeRenderMaterialName)
+ {
+ volumeRenderMaterialName->destroy();
+ }
+
+}
+
+} // namespace parameterized
+} // namespace nvidia
diff --git a/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_1p2.cpp b/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_1p2.cpp
new file mode 100644
index 00000000..81438a7c
--- /dev/null
+++ b/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_1p2.cpp
@@ -0,0 +1,1950 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and 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.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#include "TurbulenceFSAssetParams_1p2.h"
+#include <string.h>
+#include <stdlib.h>
+
+using namespace NvParameterized;
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+using namespace TurbulenceFSAssetParams_1p2NS;
+
+const char* const TurbulenceFSAssetParams_1p2Factory::vptr =
+ NvParameterized::getVptr<TurbulenceFSAssetParams_1p2, TurbulenceFSAssetParams_1p2::ClassAlignment>();
+
+const uint32_t NumParamDefs = 62;
+static NvParameterized::DefinitionImpl* ParamDefTable; // now allocated in buildTree [NumParamDefs];
+
+
+static const size_t ParamLookupChildrenTable[] =
+{
+ 1, 4, 7, 10, 11, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 34, 35, 36, 41, 42, 46, 47, 48, 54, 59, 60, 61, 2, 3, 5, 6, 8, 9,
+ 12, 13, 37, 38, 39, 40, 43, 44, 45, 49, 50, 51, 52, 53, 55, 56, 57, 58,
+};
+
+#define TENUM(type) nvidia::##type
+#define CHILDREN(index) &ParamLookupChildrenTable[index]
+static const NvParameterized::ParamLookupNode ParamLookupTable[NumParamDefs] =
+{
+ { TYPE_STRUCT, false, 0, CHILDREN(0), 37 },
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->gridXRange), CHILDREN(37), 2 }, // gridXRange
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->min), NULL, 0 }, // gridXRange.min
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->max), NULL, 0 }, // gridXRange.max
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->gridYRange), CHILDREN(39), 2 }, // gridYRange
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->min), NULL, 0 }, // gridYRange.min
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->max), NULL, 0 }, // gridYRange.max
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->gridZRange), CHILDREN(41), 2 }, // gridZRange
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->min), NULL, 0 }, // gridZRange.min
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->max), NULL, 0 }, // gridZRange.max
+ { TYPE_VEC3, false, (size_t)(&((ParametersStruct*)0)->gridSizeWorld), NULL, 0 }, // gridSizeWorld
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->updatesPerFrameRange), CHILDREN(43), 2 }, // updatesPerFrameRange
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->min), NULL, 0 }, // updatesPerFrameRange.min
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->max), NULL, 0 }, // updatesPerFrameRange.max
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->angularVelocityMultiplier), NULL, 0 }, // angularVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->angularVelocityClamp), NULL, 0 }, // angularVelocityClamp
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->linearVelocityMultiplier), NULL, 0 }, // linearVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->linearVelocityClamp), NULL, 0 }, // linearVelocityClamp
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->velocityFieldFade), NULL, 0 }, // velocityFieldFade
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->velocityFieldFadeTime), NULL, 0 }, // velocityFieldFadeTime
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->velocityFieldFadeDelay), NULL, 0 }, // velocityFieldFadeDelay
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->velocityFieldFadeIntensity), NULL, 0 }, // velocityFieldFadeIntensity
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->boundaryFadePercentage), NULL, 0 }, // boundaryFadePercentage
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->boundarySizePercentage), NULL, 0 }, // boundarySizePercentage
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->collisionFilterDataName), NULL, 0 }, // collisionFilterDataName
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->fieldBoundaryFilterDataName), NULL, 0 }, // fieldBoundaryFilterDataName
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->fieldSamplerFilterDataName), NULL, 0 }, // fieldSamplerFilterDataName
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->maxCollidingObjects), NULL, 0 }, // maxCollidingObjects
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->maxVelocitySources), NULL, 0 }, // maxVelocitySources
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->maxHeatSources), NULL, 0 }, // maxHeatSources
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->maxSubstanceSources), NULL, 0 }, // maxSubstanceSources
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->dragCoeff), NULL, 0 }, // dragCoeff
+ { TYPE_VEC3, false, (size_t)(&((ParametersStruct*)0)->externalVelocity), NULL, 0 }, // externalVelocity
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fieldVelocityMultiplier), NULL, 0 }, // fieldVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fieldVelocityWeight), NULL, 0 }, // fieldVelocityWeight
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->useHeat), NULL, 0 }, // useHeat
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->heatParams), CHILDREN(45), 4 }, // heatParams
+ { TYPE_F32, false, (size_t)(&((HeatParams_Type*)0)->temperatureBasedForceMultiplier), NULL, 0 }, // heatParams.temperatureBasedForceMultiplier
+ { TYPE_F32, false, (size_t)(&((HeatParams_Type*)0)->ambientTemperature), NULL, 0 }, // heatParams.ambientTemperature
+ { TYPE_VEC3, false, (size_t)(&((HeatParams_Type*)0)->heatForceDirection), NULL, 0 }, // heatParams.heatForceDirection
+ { TYPE_F32, false, (size_t)(&((HeatParams_Type*)0)->thermalConductivity), NULL, 0 }, // heatParams.thermalConductivity
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->useDensity), NULL, 0 }, // useDensity
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->densityParams), CHILDREN(49), 3 }, // densityParams
+ { TYPE_F32, false, (size_t)(&((DensityParams_Type*)0)->diffusionCoef), NULL, 0 }, // densityParams.diffusionCoef
+ { TYPE_F32, false, (size_t)(&((DensityParams_Type*)0)->densityFieldFade), NULL, 0 }, // densityParams.densityFieldFade
+ { TYPE_U32, false, (size_t)(&((DensityParams_Type*)0)->densityGridMultiplier), NULL, 0 }, // densityParams.densityGridMultiplier
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->isEnabledOptimizedLOD), NULL, 0 }, // isEnabledOptimizedLOD
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->customLOD), NULL, 0 }, // customLOD
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->lodWeights), CHILDREN(52), 5 }, // lodWeights
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->maxDistance), NULL, 0 }, // lodWeights.maxDistance
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->distanceWeight), NULL, 0 }, // lodWeights.distanceWeight
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->bias), NULL, 0 }, // lodWeights.bias
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->benefitBias), NULL, 0 }, // lodWeights.benefitBias
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->benefitWeight), NULL, 0 }, // lodWeights.benefitWeight
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->noiseParams), CHILDREN(57), 4 }, // noiseParams
+ { TYPE_F32, false, (size_t)(&((NoiseParams_Type*)0)->noiseStrength), NULL, 0 }, // noiseParams.noiseStrength
+ { TYPE_VEC3, false, (size_t)(&((NoiseParams_Type*)0)->noiseSpacePeriod), NULL, 0 }, // noiseParams.noiseSpacePeriod
+ { TYPE_F32, false, (size_t)(&((NoiseParams_Type*)0)->noiseTimePeriod), NULL, 0 }, // noiseParams.noiseTimePeriod
+ { TYPE_U32, false, (size_t)(&((NoiseParams_Type*)0)->noiseOctaves), NULL, 0 }, // noiseParams.noiseOctaves
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->dragCoeffForRigidBody), NULL, 0 }, // dragCoeffForRigidBody
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fluidViscosity), NULL, 0 }, // fluidViscosity
+ { TYPE_REF, false, (size_t)(&((ParametersStruct*)0)->volumeRenderMaterialName), NULL, 0 }, // volumeRenderMaterialName
+};
+
+
+bool TurbulenceFSAssetParams_1p2::mBuiltFlag = false;
+NvParameterized::MutexType TurbulenceFSAssetParams_1p2::mBuiltFlagMutex;
+
+TurbulenceFSAssetParams_1p2::TurbulenceFSAssetParams_1p2(NvParameterized::Traits* traits, void* buf, int32_t* refCount) :
+ NvParameters(traits, buf, refCount)
+{
+ //mParameterizedTraits->registerFactory(className(), &TurbulenceFSAssetParams_1p2FactoryInst);
+
+ if (!buf) //Do not init data if it is inplace-deserialized
+ {
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+ initDefaults();
+ }
+}
+
+TurbulenceFSAssetParams_1p2::~TurbulenceFSAssetParams_1p2()
+{
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+}
+
+void TurbulenceFSAssetParams_1p2::destroy()
+{
+ // We cache these fields here to avoid overwrite in destructor
+ bool doDeallocateSelf = mDoDeallocateSelf;
+ NvParameterized::Traits* traits = mParameterizedTraits;
+ int32_t* refCount = mRefCount;
+ void* buf = mBuffer;
+
+ this->~TurbulenceFSAssetParams_1p2();
+
+ NvParameters::destroy(this, traits, doDeallocateSelf, refCount, buf);
+}
+
+const NvParameterized::DefinitionImpl* TurbulenceFSAssetParams_1p2::getParameterDefinitionTree(void)
+{
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+const NvParameterized::DefinitionImpl* TurbulenceFSAssetParams_1p2::getParameterDefinitionTree(void) const
+{
+ TurbulenceFSAssetParams_1p2* tmpParam = const_cast<TurbulenceFSAssetParams_1p2*>(this);
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ tmpParam->buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+NvParameterized::ErrorType TurbulenceFSAssetParams_1p2::getParameterHandle(const char* long_name, Handle& handle) const
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+NvParameterized::ErrorType TurbulenceFSAssetParams_1p2::getParameterHandle(const char* long_name, Handle& handle)
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+void TurbulenceFSAssetParams_1p2::getVarPtr(const Handle& handle, void*& ptr, size_t& offset) const
+{
+ ptr = getVarPtrHelper(&ParamLookupTable[0], const_cast<TurbulenceFSAssetParams_1p2::ParametersStruct*>(&parameters()), handle, offset);
+}
+
+
+/* Dynamic Handle Indices */
+
+void TurbulenceFSAssetParams_1p2::freeParameterDefinitionTable(NvParameterized::Traits* traits)
+{
+ if (!traits)
+ {
+ return;
+ }
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ return;
+ }
+
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+
+ if (!mBuiltFlag)
+ {
+ return;
+ }
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ ParamDefTable[i].~DefinitionImpl();
+ }
+
+ traits->free(ParamDefTable);
+
+ mBuiltFlag = false;
+}
+
+#define PDEF_PTR(index) (&ParamDefTable[index])
+
+void TurbulenceFSAssetParams_1p2::buildTree(void)
+{
+
+ uint32_t allocSize = sizeof(NvParameterized::DefinitionImpl) * NumParamDefs;
+ ParamDefTable = (NvParameterized::DefinitionImpl*)(mParameterizedTraits->alloc(allocSize));
+ memset(ParamDefTable, 0, allocSize);
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ NV_PARAM_PLACEMENT_NEW(ParamDefTable + i, NvParameterized::DefinitionImpl)(*mParameterizedTraits);
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=0, longName=""
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[0];
+ ParamDef->init("", TYPE_STRUCT, "STRUCT", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Contains the asset properties for this Turbulence field sampler.", true);
+ ParamDefTable[0].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=1, longName="gridXRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[1];
+ ParamDef->init("gridXRange", TYPE_STRUCT, "turbulenceRangeStructEnum", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of grid cells in X dimension.", true);
+ ParamDefTable[1].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=2, longName="gridXRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[2];
+ ParamDef->init("min", TYPE_ENUM, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Turbulence resolution. The higher resolution, the higher precision, but the simulation time is also longer. This is the lower bound of possible turbulence grid resolution, depending on the LOD settings", true);
+ ParamDefTable[2].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[2].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=3, longName="gridXRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[3];
+ ParamDef->init("max", TYPE_ENUM, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Turbulence resolution. The higher resolution, the higher precision, but the simulation time is also longer. This is the higher bound of possible turbulence grid resolution, depending on the LOD settings", true);
+ ParamDefTable[3].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[3].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=4, longName="gridYRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[4];
+ ParamDef->init("gridYRange", TYPE_STRUCT, "turbulenceRangeStructEnum", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of grid cells in Y dimension.", true);
+ ParamDefTable[4].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=5, longName="gridYRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[5];
+ ParamDef->init("min", TYPE_ENUM, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Turbulence resolution. The higher resolution, the higher precision, but the simulation time is also longer. This is the lower bound of possible turbulence grid resolution, depending on the LOD settings", true);
+ ParamDefTable[5].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[5].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=6, longName="gridYRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[6];
+ ParamDef->init("max", TYPE_ENUM, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Turbulence resolution. The higher resolution, the higher precision, but the simulation time is also longer. This is the higher bound of possible turbulence grid resolution, depending on the LOD settings", true);
+ ParamDefTable[6].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[6].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=7, longName="gridZRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[7];
+ ParamDef->init("gridZRange", TYPE_STRUCT, "turbulenceRangeStructEnum", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of grid cells in Z dimension.", true);
+ ParamDefTable[7].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=8, longName="gridZRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[8];
+ ParamDef->init("min", TYPE_ENUM, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Turbulence resolution. The higher resolution, the higher precision, but the simulation time is also longer. This is the lower bound of possible turbulence grid resolution, depending on the LOD settings", true);
+ ParamDefTable[8].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[8].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=9, longName="gridZRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[9];
+ ParamDef->init("max", TYPE_ENUM, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Turbulence resolution. The higher resolution, the higher precision, but the simulation time is also longer. This is the higher bound of possible turbulence grid resolution, depending on the LOD settings", true);
+ ParamDefTable[9].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[9].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=10, longName="gridSizeWorld"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[10];
+ ParamDef->init("gridSizeWorld", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Size of the grid in world space.", true);
+ ParamDefTable[10].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=11, longName="updatesPerFrameRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[11];
+ ParamDef->init("updatesPerFrameRange", TYPE_STRUCT, "rangeStructF32", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The number of updates per frame. See APEX documentation for limitations.", true);
+ ParamDefTable[11].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=12, longName="updatesPerFrameRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[12];
+ ParamDef->init("min", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Minimum value", true);
+ ParamDefTable[12].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=13, longName="updatesPerFrameRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[13];
+ ParamDef->init("max", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Maximum value", true);
+ ParamDefTable[13].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=14, longName="angularVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[14];
+ ParamDef->init("angularVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a multiplier for the angular velocity set by the user.", true);
+ ParamDefTable[14].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=15, longName="angularVelocityClamp"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[15];
+ ParamDef->init("angularVelocityClamp", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a clamp for the angular velocity set by the user.", true);
+ ParamDefTable[15].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=16, longName="linearVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[16];
+ ParamDef->init("linearVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a multiplier for the linear velocity set by the user.", true);
+ ParamDefTable[16].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=17, longName="linearVelocityClamp"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[17];
+ ParamDef->init("linearVelocityClamp", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a clamp for the linear velocity set by the user.", true);
+ ParamDefTable[17].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=18, longName="velocityFieldFade"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[18];
+ ParamDef->init("velocityFieldFade", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[18].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Each cell in velocity field are multiplied by (1 - velocityFieldFade) every frame.", true);
+ ParamDefTable[18].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=19, longName="velocityFieldFadeTime"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[19];
+ ParamDef->init("velocityFieldFadeTime", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1000), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[19].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1000), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Time of velocity field cleaning process [sec]. Cleaning disabled by default.", true);
+ ParamDefTable[19].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=20, longName="velocityFieldFadeDelay"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[20];
+ ParamDef->init("velocityFieldFadeDelay", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1000), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[20].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1000), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Time without activity before velocity field cleaning process starts [sec]. ", true);
+ ParamDefTable[20].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=21, longName="velocityFieldFadeIntensity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[21];
+ ParamDef->init("velocityFieldFadeIntensity", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", double(0.01), true);
+ ParamDefTable[21].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", double(0.01), true);
+ HintTable[2].init("shortDescription", "This parameter sets how much each velocity vector should be damped, so (1 - velocityFieldFadeIntensity) of original velocity vector magnitude will be left after the fade process finishes.", true);
+ ParamDefTable[21].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=22, longName="boundaryFadePercentage"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[22];
+ ParamDef->init("boundaryFadePercentage", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[22].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Percentage of distance from boundary to center where fade out starts.", true);
+ ParamDefTable[22].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=23, longName="boundarySizePercentage"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[23];
+ ParamDef->init("boundarySizePercentage", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[23].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Boundary size as the percentage of grid size.", true);
+ ParamDefTable[23].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=24, longName="collisionFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[24];
+ ParamDef->init("collisionFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("HIDDEN", uint64_t(1), true);
+ ParamDefTable[24].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("HIDDEN", uint64_t(1), true);
+ HintTable[1].init("shortDescription", "The filter data (group/groupsMask) name for TurbulenceFS vs PhysX interaction.", true);
+ ParamDefTable[24].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=25, longName="fieldBoundaryFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[25];
+ ParamDef->init("fieldBoundaryFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("HIDDEN", uint64_t(1), true);
+ ParamDefTable[25].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("HIDDEN", uint64_t(1), true);
+ HintTable[1].init("shortDescription", "The filter data name for TurbulenceFS vs Field Boundaries interaction.", true);
+ ParamDefTable[25].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=26, longName="fieldSamplerFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[26];
+ ParamDef->init("fieldSamplerFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The filter data name for TurbulenceFS vs other Field Samplers interaction.", true);
+ ParamDefTable[26].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=27, longName="maxCollidingObjects"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[27];
+ ParamDef->init("maxCollidingObjects", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The maximum number of colliding objects.", true);
+ ParamDefTable[27].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=28, longName="maxVelocitySources"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[28];
+ ParamDef->init("maxVelocitySources", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The maximum number of velocity source.", true);
+ ParamDefTable[28].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=29, longName="maxHeatSources"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[29];
+ ParamDef->init("maxHeatSources", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The maximum number of heat source.", true);
+ ParamDefTable[29].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=30, longName="maxSubstanceSources"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[30];
+ ParamDef->init("maxSubstanceSources", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The maximum number of substance source (computed if density enabled).", true);
+ ParamDefTable[30].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=31, longName="dragCoeff"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[31];
+ ParamDef->init("dragCoeff", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Coefficient for deriving drag force from velocity (if equals to zero, direct grid velocity is used).", true);
+ ParamDefTable[31].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=32, longName="externalVelocity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[32];
+ ParamDef->init("externalVelocity", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Adds a single directional velocity to the grid.", true);
+ ParamDefTable[32].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=33, longName="fieldVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[33];
+ ParamDef->init("fieldVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "A multiplier for the field velocity.", true);
+ ParamDefTable[33].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=34, longName="fieldVelocityWeight"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[34];
+ ParamDef->init("fieldVelocityWeight", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[34].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "The effect of the field velocity on objects. A value of 1 causes objects to only be affected by the grid, a value of 0 allows objects to be controlled by other field samplers.", true);
+ ParamDefTable[34].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=35, longName="useHeat"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[35];
+ ParamDef->init("useHeat", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Enable whether or not to use heat in the simulation.", true);
+ ParamDefTable[35].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=36, longName="heatParams"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[36];
+ ParamDef->init("heatParams", TYPE_STRUCT, "HeatParams", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=37, longName="heatParams.temperatureBasedForceMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[37];
+ ParamDef->init("temperatureBasedForceMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Multiplier for force induced by heat source.", true);
+ ParamDefTable[37].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=38, longName="heatParams.ambientTemperature"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[38];
+ ParamDef->init("ambientTemperature", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Environment temperature.", true);
+ ParamDefTable[38].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=39, longName="heatParams.heatForceDirection"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[39];
+ ParamDef->init("heatForceDirection", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Direction of the force induced by heat source.", true);
+ ParamDefTable[39].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=40, longName="heatParams.thermalConductivity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[40];
+ ParamDef->init("thermalConductivity", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Thermal conductivity. Default value is set for air.", true);
+ ParamDefTable[40].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=41, longName="useDensity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[41];
+ ParamDef->init("useDensity", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Enable whether or not to use density in the simulation.", true);
+ ParamDefTable[41].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=42, longName="densityParams"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[42];
+ ParamDef->init("densityParams", TYPE_STRUCT, "DensityParams", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=43, longName="densityParams.diffusionCoef"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[43];
+ ParamDef->init("diffusionCoef", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Diffusion coefficient for density (analog for viscosity in velocity equation.", true);
+ ParamDefTable[43].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=44, longName="densityParams.densityFieldFade"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[44];
+ ParamDef->init("densityFieldFade", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[44].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Each cell in density field are multiplied by (1 - densityFieldFade) every frame.", true);
+ ParamDefTable[44].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=45, longName="densityParams.densityGridMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[45];
+ ParamDef->init("densityGridMultiplier", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("min", uint64_t(1), true);
+ ParamDefTable[45].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("min", uint64_t(1), true);
+ HintTable[1].init("shortDescription", "Density grid resolution multiplier.", true);
+ ParamDefTable[45].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=46, longName="isEnabledOptimizedLOD"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[46];
+ ParamDef->init("isEnabledOptimizedLOD", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Enable more aggressive LOD.", true);
+ ParamDefTable[46].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=47, longName="customLOD"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[47];
+ ParamDef->init("customLOD", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Force the current LOD to a particular value, range is 0-1: 1.0f is maximum, 0.0f is minimum simulation quality.", true);
+ ParamDefTable[47].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=48, longName="lodWeights"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[48];
+ ParamDef->init("lodWeights", TYPE_STRUCT, "LODWeights", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=49, longName="lodWeights.maxDistance"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[49];
+ ParamDef->init("maxDistance", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Objects greater than this distance from the player will be culled more aggressively", true);
+ ParamDefTable[49].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=50, longName="lodWeights.distanceWeight"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[50];
+ ParamDef->init("distanceWeight", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Weight given to distance parameter in LOD function", true);
+ ParamDefTable[50].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=51, longName="lodWeights.bias"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[51];
+ ParamDef->init("bias", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "benefit = ((distanceWeight * distanceFactor + bias) * SimulationCost + benefitBias) * benefitWeight", true);
+ ParamDefTable[51].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=52, longName="lodWeights.benefitBias"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[52];
+ ParamDef->init("benefitBias", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "benefit = ((distanceWeight * distanceFactor + bias) * SimulationCost + benefitBias) * benefitWeight", true);
+ ParamDefTable[52].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=53, longName="lodWeights.benefitWeight"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[53];
+ ParamDef->init("benefitWeight", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "benefit = ((distanceWeight * distanceFactor + bias) * SimulationCost + benefitBias) * benefitWeight", true);
+ ParamDefTable[53].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=54, longName="noiseParams"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[54];
+ ParamDef->init("noiseParams", TYPE_STRUCT, "NoiseParams", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=55, longName="noiseParams.noiseStrength"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[55];
+ ParamDef->init("noiseStrength", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The strength of the noise added to the simulation.", true);
+ ParamDefTable[55].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=56, longName="noiseParams.noiseSpacePeriod"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[56];
+ ParamDef->init("noiseSpacePeriod", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Noise period in space.", true);
+ ParamDefTable[56].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=57, longName="noiseParams.noiseTimePeriod"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[57];
+ ParamDef->init("noiseTimePeriod", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Noise time period.", true);
+ ParamDefTable[57].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=58, longName="noiseParams.noiseOctaves"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[58];
+ ParamDef->init("noiseOctaves", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of the noise octaves (more octaves give more turbulent noise, but increase computational time).", true);
+ ParamDefTable[58].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=59, longName="dragCoeffForRigidBody"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[59];
+ ParamDef->init("dragCoeffForRigidBody", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "It is not true drag coef just mixing coefficient for slip and no-slip boundary condition. If set to zero supposed slip boundary condition on rigid bodies. If set to 1 supposed no-slip boundary condition else mixed (partly slip)", true);
+ ParamDefTable[59].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=60, longName="fluidViscosity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[60];
+ ParamDef->init("fluidViscosity", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Viscosity is the coefficient for velocity diffusion. If 0. there is no diffusion.", true);
+ ParamDefTable[60].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=61, longName="volumeRenderMaterialName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[61];
+ ParamDef->init("volumeRenderMaterialName", TYPE_REF, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The optional volume render material name", true);
+ ParamDefTable[61].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+ static const char* const RefVariantVals[] = { "ApexVolumeRenderMaterials" };
+ ParamDefTable[61].setRefVariantVals((const char**)RefVariantVals, 1);
+
+
+
+ }
+
+ // SetChildren for: nodeIndex=0, longName=""
+ {
+ static Definition* Children[37];
+ Children[0] = PDEF_PTR(1);
+ Children[1] = PDEF_PTR(4);
+ Children[2] = PDEF_PTR(7);
+ Children[3] = PDEF_PTR(10);
+ Children[4] = PDEF_PTR(11);
+ Children[5] = PDEF_PTR(14);
+ Children[6] = PDEF_PTR(15);
+ Children[7] = PDEF_PTR(16);
+ Children[8] = PDEF_PTR(17);
+ Children[9] = PDEF_PTR(18);
+ Children[10] = PDEF_PTR(19);
+ Children[11] = PDEF_PTR(20);
+ Children[12] = PDEF_PTR(21);
+ Children[13] = PDEF_PTR(22);
+ Children[14] = PDEF_PTR(23);
+ Children[15] = PDEF_PTR(24);
+ Children[16] = PDEF_PTR(25);
+ Children[17] = PDEF_PTR(26);
+ Children[18] = PDEF_PTR(27);
+ Children[19] = PDEF_PTR(28);
+ Children[20] = PDEF_PTR(29);
+ Children[21] = PDEF_PTR(30);
+ Children[22] = PDEF_PTR(31);
+ Children[23] = PDEF_PTR(32);
+ Children[24] = PDEF_PTR(33);
+ Children[25] = PDEF_PTR(34);
+ Children[26] = PDEF_PTR(35);
+ Children[27] = PDEF_PTR(36);
+ Children[28] = PDEF_PTR(41);
+ Children[29] = PDEF_PTR(42);
+ Children[30] = PDEF_PTR(46);
+ Children[31] = PDEF_PTR(47);
+ Children[32] = PDEF_PTR(48);
+ Children[33] = PDEF_PTR(54);
+ Children[34] = PDEF_PTR(59);
+ Children[35] = PDEF_PTR(60);
+ Children[36] = PDEF_PTR(61);
+
+ ParamDefTable[0].setChildren(Children, 37);
+ }
+
+ // SetChildren for: nodeIndex=1, longName="gridXRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(2);
+ Children[1] = PDEF_PTR(3);
+
+ ParamDefTable[1].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=4, longName="gridYRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(5);
+ Children[1] = PDEF_PTR(6);
+
+ ParamDefTable[4].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=7, longName="gridZRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(8);
+ Children[1] = PDEF_PTR(9);
+
+ ParamDefTable[7].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=11, longName="updatesPerFrameRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(12);
+ Children[1] = PDEF_PTR(13);
+
+ ParamDefTable[11].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=36, longName="heatParams"
+ {
+ static Definition* Children[4];
+ Children[0] = PDEF_PTR(37);
+ Children[1] = PDEF_PTR(38);
+ Children[2] = PDEF_PTR(39);
+ Children[3] = PDEF_PTR(40);
+
+ ParamDefTable[36].setChildren(Children, 4);
+ }
+
+ // SetChildren for: nodeIndex=42, longName="densityParams"
+ {
+ static Definition* Children[3];
+ Children[0] = PDEF_PTR(43);
+ Children[1] = PDEF_PTR(44);
+ Children[2] = PDEF_PTR(45);
+
+ ParamDefTable[42].setChildren(Children, 3);
+ }
+
+ // SetChildren for: nodeIndex=48, longName="lodWeights"
+ {
+ static Definition* Children[5];
+ Children[0] = PDEF_PTR(49);
+ Children[1] = PDEF_PTR(50);
+ Children[2] = PDEF_PTR(51);
+ Children[3] = PDEF_PTR(52);
+ Children[4] = PDEF_PTR(53);
+
+ ParamDefTable[48].setChildren(Children, 5);
+ }
+
+ // SetChildren for: nodeIndex=54, longName="noiseParams"
+ {
+ static Definition* Children[4];
+ Children[0] = PDEF_PTR(55);
+ Children[1] = PDEF_PTR(56);
+ Children[2] = PDEF_PTR(57);
+ Children[3] = PDEF_PTR(58);
+
+ ParamDefTable[54].setChildren(Children, 4);
+ }
+
+ mBuiltFlag = true;
+
+}
+void TurbulenceFSAssetParams_1p2::initStrings(void)
+{
+ collisionFilterDataName.isAllocated = true;
+ collisionFilterDataName.buf = NULL;
+ fieldBoundaryFilterDataName.isAllocated = true;
+ fieldBoundaryFilterDataName.buf = NULL;
+ fieldSamplerFilterDataName.isAllocated = true;
+ fieldSamplerFilterDataName.buf = NULL;
+}
+
+void TurbulenceFSAssetParams_1p2::initDynamicArrays(void)
+{
+}
+
+void TurbulenceFSAssetParams_1p2::initDefaults(void)
+{
+
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+ gridXRange.min = (const char*)"EGR_16";
+ gridXRange.max = (const char*)"EGR_16";
+ gridYRange.min = (const char*)"EGR_16";
+ gridYRange.max = (const char*)"EGR_16";
+ gridZRange.min = (const char*)"EGR_16";
+ gridZRange.max = (const char*)"EGR_16";
+ gridSizeWorld = physx::PxVec3(init(12, 12, 12));
+
+ updatesPerFrameRange.min = 0.0f;
+ updatesPerFrameRange.max = 1.0f;
+
+ angularVelocityMultiplier = float(1);
+ angularVelocityClamp = float(1000000);
+ linearVelocityMultiplier = float(1);
+ linearVelocityClamp = float(1000000);
+ velocityFieldFade = float(0);
+ velocityFieldFadeTime = float(0);
+ velocityFieldFadeDelay = float(2);
+ velocityFieldFadeIntensity = float(0.995);
+ boundaryFadePercentage = float(0.1);
+ boundarySizePercentage = float(1);
+ maxCollidingObjects = uint32_t(32);
+ maxVelocitySources = uint32_t(8);
+ maxHeatSources = uint32_t(8);
+ maxSubstanceSources = uint32_t(8);
+ dragCoeff = float(0);
+ externalVelocity = physx::PxVec3(init(0.0, 0.0, 0.0));
+ fieldVelocityMultiplier = float(1);
+ fieldVelocityWeight = float(1);
+ useHeat = bool(false);
+ heatParams.temperatureBasedForceMultiplier = float(0.02);
+ heatParams.ambientTemperature = float(0);
+ heatParams.heatForceDirection = physx::PxVec3(init(0.0, 1.0, 0.0));
+ heatParams.thermalConductivity = float(0.025);
+ useDensity = bool(false);
+ densityParams.diffusionCoef = float(0);
+ densityParams.densityFieldFade = float(0);
+ densityParams.densityGridMultiplier = uint32_t(1);
+ isEnabledOptimizedLOD = bool(false);
+ customLOD = float(1);
+ lodWeights.maxDistance = float(100);
+ lodWeights.distanceWeight = float(1);
+ lodWeights.bias = float(0);
+ lodWeights.benefitBias = float(0);
+ lodWeights.benefitWeight = float(1);
+ noiseParams.noiseStrength = float(0);
+ noiseParams.noiseSpacePeriod = physx::PxVec3(init(1.0, 1.0, 1.0));
+ noiseParams.noiseTimePeriod = float(1);
+ noiseParams.noiseOctaves = uint32_t(1);
+ dragCoeffForRigidBody = float(0);
+ fluidViscosity = float(0);
+
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+}
+
+void TurbulenceFSAssetParams_1p2::initReferences(void)
+{
+ volumeRenderMaterialName = NULL;
+
+}
+
+void TurbulenceFSAssetParams_1p2::freeDynamicArrays(void)
+{
+}
+
+void TurbulenceFSAssetParams_1p2::freeStrings(void)
+{
+
+ if (collisionFilterDataName.isAllocated && collisionFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)collisionFilterDataName.buf);
+ }
+
+ if (fieldBoundaryFilterDataName.isAllocated && fieldBoundaryFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)fieldBoundaryFilterDataName.buf);
+ }
+
+ if (fieldSamplerFilterDataName.isAllocated && fieldSamplerFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)fieldSamplerFilterDataName.buf);
+ }
+}
+
+void TurbulenceFSAssetParams_1p2::freeReferences(void)
+{
+ if (volumeRenderMaterialName)
+ {
+ volumeRenderMaterialName->destroy();
+ }
+
+}
+
+} // namespace parameterized
+} // namespace nvidia
diff --git a/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_1p3.cpp b/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_1p3.cpp
new file mode 100644
index 00000000..061c1262
--- /dev/null
+++ b/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_1p3.cpp
@@ -0,0 +1,1917 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and 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.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#include "TurbulenceFSAssetParams_1p3.h"
+#include <string.h>
+#include <stdlib.h>
+
+using namespace NvParameterized;
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+using namespace TurbulenceFSAssetParams_1p3NS;
+
+const char* const TurbulenceFSAssetParams_1p3Factory::vptr =
+ NvParameterized::getVptr<TurbulenceFSAssetParams_1p3, TurbulenceFSAssetParams_1p3::ClassAlignment>();
+
+const uint32_t NumParamDefs = 61;
+static NvParameterized::DefinitionImpl* ParamDefTable; // now allocated in buildTree [NumParamDefs];
+
+
+static const size_t ParamLookupChildrenTable[] =
+{
+ 1, 4, 7, 10, 11, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 34, 35, 40, 41, 45, 46, 47, 53, 58, 59, 60, 2, 3, 5, 6, 8, 9, 12,
+ 13, 36, 37, 38, 39, 42, 43, 44, 48, 49, 50, 51, 52, 54, 55, 56, 57,
+};
+
+#define TENUM(type) nvidia::##type
+#define CHILDREN(index) &ParamLookupChildrenTable[index]
+static const NvParameterized::ParamLookupNode ParamLookupTable[NumParamDefs] =
+{
+ { TYPE_STRUCT, false, 0, CHILDREN(0), 36 },
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->gridXRange), CHILDREN(36), 2 }, // gridXRange
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->min), NULL, 0 }, // gridXRange.min
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->max), NULL, 0 }, // gridXRange.max
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->gridYRange), CHILDREN(38), 2 }, // gridYRange
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->min), NULL, 0 }, // gridYRange.min
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->max), NULL, 0 }, // gridYRange.max
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->gridZRange), CHILDREN(40), 2 }, // gridZRange
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->min), NULL, 0 }, // gridZRange.min
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->max), NULL, 0 }, // gridZRange.max
+ { TYPE_VEC3, false, (size_t)(&((ParametersStruct*)0)->gridSizeWorld), NULL, 0 }, // gridSizeWorld
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->updatesPerFrameRange), CHILDREN(42), 2 }, // updatesPerFrameRange
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->min), NULL, 0 }, // updatesPerFrameRange.min
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->max), NULL, 0 }, // updatesPerFrameRange.max
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->angularVelocityMultiplier), NULL, 0 }, // angularVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->angularVelocityClamp), NULL, 0 }, // angularVelocityClamp
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->linearVelocityMultiplier), NULL, 0 }, // linearVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->linearVelocityClamp), NULL, 0 }, // linearVelocityClamp
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->velocityFieldFadeTime), NULL, 0 }, // velocityFieldFadeTime
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->velocityFieldFadeDelay), NULL, 0 }, // velocityFieldFadeDelay
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->velocityFieldFadeIntensity), NULL, 0 }, // velocityFieldFadeIntensity
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->boundaryFadePercentage), NULL, 0 }, // boundaryFadePercentage
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->boundarySizePercentage), NULL, 0 }, // boundarySizePercentage
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->collisionFilterDataName), NULL, 0 }, // collisionFilterDataName
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->fieldBoundaryFilterDataName), NULL, 0 }, // fieldBoundaryFilterDataName
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->fieldSamplerFilterDataName), NULL, 0 }, // fieldSamplerFilterDataName
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->maxCollidingObjects), NULL, 0 }, // maxCollidingObjects
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->maxVelocitySources), NULL, 0 }, // maxVelocitySources
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->maxHeatSources), NULL, 0 }, // maxHeatSources
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->maxSubstanceSources), NULL, 0 }, // maxSubstanceSources
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->dragCoeff), NULL, 0 }, // dragCoeff
+ { TYPE_VEC3, false, (size_t)(&((ParametersStruct*)0)->externalVelocity), NULL, 0 }, // externalVelocity
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fieldVelocityMultiplier), NULL, 0 }, // fieldVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fieldVelocityWeight), NULL, 0 }, // fieldVelocityWeight
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->useHeat), NULL, 0 }, // useHeat
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->heatParams), CHILDREN(44), 4 }, // heatParams
+ { TYPE_F32, false, (size_t)(&((HeatParams_Type*)0)->temperatureBasedForceMultiplier), NULL, 0 }, // heatParams.temperatureBasedForceMultiplier
+ { TYPE_F32, false, (size_t)(&((HeatParams_Type*)0)->ambientTemperature), NULL, 0 }, // heatParams.ambientTemperature
+ { TYPE_VEC3, false, (size_t)(&((HeatParams_Type*)0)->heatForceDirection), NULL, 0 }, // heatParams.heatForceDirection
+ { TYPE_F32, false, (size_t)(&((HeatParams_Type*)0)->thermalConductivity), NULL, 0 }, // heatParams.thermalConductivity
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->useDensity), NULL, 0 }, // useDensity
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->densityParams), CHILDREN(48), 3 }, // densityParams
+ { TYPE_F32, false, (size_t)(&((DensityParams_Type*)0)->diffusionCoef), NULL, 0 }, // densityParams.diffusionCoef
+ { TYPE_F32, false, (size_t)(&((DensityParams_Type*)0)->densityFieldFade), NULL, 0 }, // densityParams.densityFieldFade
+ { TYPE_U32, false, (size_t)(&((DensityParams_Type*)0)->densityGridMultiplier), NULL, 0 }, // densityParams.densityGridMultiplier
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->isEnabledOptimizedLOD), NULL, 0 }, // isEnabledOptimizedLOD
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->customLOD), NULL, 0 }, // customLOD
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->lodWeights), CHILDREN(51), 5 }, // lodWeights
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->maxDistance), NULL, 0 }, // lodWeights.maxDistance
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->distanceWeight), NULL, 0 }, // lodWeights.distanceWeight
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->bias), NULL, 0 }, // lodWeights.bias
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->benefitBias), NULL, 0 }, // lodWeights.benefitBias
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->benefitWeight), NULL, 0 }, // lodWeights.benefitWeight
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->noiseParams), CHILDREN(56), 4 }, // noiseParams
+ { TYPE_F32, false, (size_t)(&((NoiseParams_Type*)0)->noiseStrength), NULL, 0 }, // noiseParams.noiseStrength
+ { TYPE_VEC3, false, (size_t)(&((NoiseParams_Type*)0)->noiseSpacePeriod), NULL, 0 }, // noiseParams.noiseSpacePeriod
+ { TYPE_F32, false, (size_t)(&((NoiseParams_Type*)0)->noiseTimePeriod), NULL, 0 }, // noiseParams.noiseTimePeriod
+ { TYPE_U32, false, (size_t)(&((NoiseParams_Type*)0)->noiseOctaves), NULL, 0 }, // noiseParams.noiseOctaves
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->dragCoeffForRigidBody), NULL, 0 }, // dragCoeffForRigidBody
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fluidViscosity), NULL, 0 }, // fluidViscosity
+ { TYPE_REF, false, (size_t)(&((ParametersStruct*)0)->volumeRenderMaterialName), NULL, 0 }, // volumeRenderMaterialName
+};
+
+
+bool TurbulenceFSAssetParams_1p3::mBuiltFlag = false;
+NvParameterized::MutexType TurbulenceFSAssetParams_1p3::mBuiltFlagMutex;
+
+TurbulenceFSAssetParams_1p3::TurbulenceFSAssetParams_1p3(NvParameterized::Traits* traits, void* buf, int32_t* refCount) :
+ NvParameters(traits, buf, refCount)
+{
+ //mParameterizedTraits->registerFactory(className(), &TurbulenceFSAssetParams_1p3FactoryInst);
+
+ if (!buf) //Do not init data if it is inplace-deserialized
+ {
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+ initDefaults();
+ }
+}
+
+TurbulenceFSAssetParams_1p3::~TurbulenceFSAssetParams_1p3()
+{
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+}
+
+void TurbulenceFSAssetParams_1p3::destroy()
+{
+ // We cache these fields here to avoid overwrite in destructor
+ bool doDeallocateSelf = mDoDeallocateSelf;
+ NvParameterized::Traits* traits = mParameterizedTraits;
+ int32_t* refCount = mRefCount;
+ void* buf = mBuffer;
+
+ this->~TurbulenceFSAssetParams_1p3();
+
+ NvParameters::destroy(this, traits, doDeallocateSelf, refCount, buf);
+}
+
+const NvParameterized::DefinitionImpl* TurbulenceFSAssetParams_1p3::getParameterDefinitionTree(void)
+{
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+const NvParameterized::DefinitionImpl* TurbulenceFSAssetParams_1p3::getParameterDefinitionTree(void) const
+{
+ TurbulenceFSAssetParams_1p3* tmpParam = const_cast<TurbulenceFSAssetParams_1p3*>(this);
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ tmpParam->buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+NvParameterized::ErrorType TurbulenceFSAssetParams_1p3::getParameterHandle(const char* long_name, Handle& handle) const
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+NvParameterized::ErrorType TurbulenceFSAssetParams_1p3::getParameterHandle(const char* long_name, Handle& handle)
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+void TurbulenceFSAssetParams_1p3::getVarPtr(const Handle& handle, void*& ptr, size_t& offset) const
+{
+ ptr = getVarPtrHelper(&ParamLookupTable[0], const_cast<TurbulenceFSAssetParams_1p3::ParametersStruct*>(&parameters()), handle, offset);
+}
+
+
+/* Dynamic Handle Indices */
+
+void TurbulenceFSAssetParams_1p3::freeParameterDefinitionTable(NvParameterized::Traits* traits)
+{
+ if (!traits)
+ {
+ return;
+ }
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ return;
+ }
+
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+
+ if (!mBuiltFlag)
+ {
+ return;
+ }
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ ParamDefTable[i].~DefinitionImpl();
+ }
+
+ traits->free(ParamDefTable);
+
+ mBuiltFlag = false;
+}
+
+#define PDEF_PTR(index) (&ParamDefTable[index])
+
+void TurbulenceFSAssetParams_1p3::buildTree(void)
+{
+
+ uint32_t allocSize = sizeof(NvParameterized::DefinitionImpl) * NumParamDefs;
+ ParamDefTable = (NvParameterized::DefinitionImpl*)(mParameterizedTraits->alloc(allocSize));
+ memset(ParamDefTable, 0, allocSize);
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ NV_PARAM_PLACEMENT_NEW(ParamDefTable + i, NvParameterized::DefinitionImpl)(*mParameterizedTraits);
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=0, longName=""
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[0];
+ ParamDef->init("", TYPE_STRUCT, "STRUCT", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Contains the asset properties for this Turbulence field sampler.", true);
+ ParamDefTable[0].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=1, longName="gridXRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[1];
+ ParamDef->init("gridXRange", TYPE_STRUCT, "turbulenceRangeStructEnum", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of grid cells in X dimension.", true);
+ ParamDefTable[1].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=2, longName="gridXRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[2];
+ ParamDef->init("min", TYPE_ENUM, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Turbulence resolution. The higher resolution, the higher precision, but the simulation time is also longer. This is the lower bound of possible turbulence grid resolution, depending on the LOD settings", true);
+ ParamDefTable[2].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[2].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=3, longName="gridXRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[3];
+ ParamDef->init("max", TYPE_ENUM, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Turbulence resolution. The higher resolution, the higher precision, but the simulation time is also longer. This is the higher bound of possible turbulence grid resolution, depending on the LOD settings", true);
+ ParamDefTable[3].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[3].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=4, longName="gridYRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[4];
+ ParamDef->init("gridYRange", TYPE_STRUCT, "turbulenceRangeStructEnum", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of grid cells in Y dimension.", true);
+ ParamDefTable[4].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=5, longName="gridYRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[5];
+ ParamDef->init("min", TYPE_ENUM, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Turbulence resolution. The higher resolution, the higher precision, but the simulation time is also longer. This is the lower bound of possible turbulence grid resolution, depending on the LOD settings", true);
+ ParamDefTable[5].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[5].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=6, longName="gridYRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[6];
+ ParamDef->init("max", TYPE_ENUM, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Turbulence resolution. The higher resolution, the higher precision, but the simulation time is also longer. This is the higher bound of possible turbulence grid resolution, depending on the LOD settings", true);
+ ParamDefTable[6].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[6].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=7, longName="gridZRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[7];
+ ParamDef->init("gridZRange", TYPE_STRUCT, "turbulenceRangeStructEnum", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of grid cells in Z dimension.", true);
+ ParamDefTable[7].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=8, longName="gridZRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[8];
+ ParamDef->init("min", TYPE_ENUM, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Turbulence resolution. The higher resolution, the higher precision, but the simulation time is also longer. This is the lower bound of possible turbulence grid resolution, depending on the LOD settings", true);
+ ParamDefTable[8].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[8].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=9, longName="gridZRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[9];
+ ParamDef->init("max", TYPE_ENUM, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Turbulence resolution. The higher resolution, the higher precision, but the simulation time is also longer. This is the higher bound of possible turbulence grid resolution, depending on the LOD settings", true);
+ ParamDefTable[9].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[9].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=10, longName="gridSizeWorld"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[10];
+ ParamDef->init("gridSizeWorld", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Size of the grid in world space.", true);
+ ParamDefTable[10].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=11, longName="updatesPerFrameRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[11];
+ ParamDef->init("updatesPerFrameRange", TYPE_STRUCT, "rangeStructF32", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The number of updates per frame. See APEX documentation for limitations.", true);
+ ParamDefTable[11].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=12, longName="updatesPerFrameRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[12];
+ ParamDef->init("min", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Minimum value", true);
+ ParamDefTable[12].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=13, longName="updatesPerFrameRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[13];
+ ParamDef->init("max", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Maximum value", true);
+ ParamDefTable[13].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=14, longName="angularVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[14];
+ ParamDef->init("angularVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a multiplier for the angular velocity set by the user.", true);
+ ParamDefTable[14].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=15, longName="angularVelocityClamp"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[15];
+ ParamDef->init("angularVelocityClamp", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a clamp for the angular velocity set by the user.", true);
+ ParamDefTable[15].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=16, longName="linearVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[16];
+ ParamDef->init("linearVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a multiplier for the linear velocity set by the user.", true);
+ ParamDefTable[16].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=17, longName="linearVelocityClamp"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[17];
+ ParamDef->init("linearVelocityClamp", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a clamp for the linear velocity set by the user.", true);
+ ParamDefTable[17].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=18, longName="velocityFieldFadeTime"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[18];
+ ParamDef->init("velocityFieldFadeTime", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1000), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[18].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1000), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Time of velocity field cleaning process [sec]. Cleaning disabled by default.", true);
+ ParamDefTable[18].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=19, longName="velocityFieldFadeDelay"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[19];
+ ParamDef->init("velocityFieldFadeDelay", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1000), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[19].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1000), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Time without activity before velocity field cleaning process starts [sec]. ", true);
+ ParamDefTable[19].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=20, longName="velocityFieldFadeIntensity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[20];
+ ParamDef->init("velocityFieldFadeIntensity", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", double(0.01), true);
+ ParamDefTable[20].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", double(0.01), true);
+ HintTable[2].init("shortDescription", "This parameter sets how much each velocity vector should be damped, so (1 - velocityFieldFadeIntensity) of original velocity vector magnitude will be left after the fade process finishes.", true);
+ ParamDefTable[20].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=21, longName="boundaryFadePercentage"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[21];
+ ParamDef->init("boundaryFadePercentage", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[21].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Percentage of distance from boundary to center where fade out starts.", true);
+ ParamDefTable[21].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=22, longName="boundarySizePercentage"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[22];
+ ParamDef->init("boundarySizePercentage", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[22].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Boundary size as the percentage of grid size.", true);
+ ParamDefTable[22].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=23, longName="collisionFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[23];
+ ParamDef->init("collisionFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("HIDDEN", uint64_t(1), true);
+ ParamDefTable[23].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("HIDDEN", uint64_t(1), true);
+ HintTable[1].init("shortDescription", "The filter data (group/groupsMask) name for TurbulenceFS vs PhysX interaction.", true);
+ ParamDefTable[23].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=24, longName="fieldBoundaryFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[24];
+ ParamDef->init("fieldBoundaryFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("HIDDEN", uint64_t(1), true);
+ ParamDefTable[24].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("HIDDEN", uint64_t(1), true);
+ HintTable[1].init("shortDescription", "The filter data name for TurbulenceFS vs Field Boundaries interaction.", true);
+ ParamDefTable[24].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=25, longName="fieldSamplerFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[25];
+ ParamDef->init("fieldSamplerFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The filter data name for TurbulenceFS vs other Field Samplers interaction.", true);
+ ParamDefTable[25].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=26, longName="maxCollidingObjects"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[26];
+ ParamDef->init("maxCollidingObjects", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The maximum number of colliding objects.", true);
+ ParamDefTable[26].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=27, longName="maxVelocitySources"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[27];
+ ParamDef->init("maxVelocitySources", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The maximum number of velocity source.", true);
+ ParamDefTable[27].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=28, longName="maxHeatSources"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[28];
+ ParamDef->init("maxHeatSources", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The maximum number of heat source.", true);
+ ParamDefTable[28].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=29, longName="maxSubstanceSources"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[29];
+ ParamDef->init("maxSubstanceSources", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The maximum number of substance source (computed if density enabled).", true);
+ ParamDefTable[29].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=30, longName="dragCoeff"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[30];
+ ParamDef->init("dragCoeff", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Coefficient for deriving drag force from velocity (if equals to zero, direct grid velocity is used).", true);
+ ParamDefTable[30].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=31, longName="externalVelocity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[31];
+ ParamDef->init("externalVelocity", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Adds a single directional velocity to the grid.", true);
+ ParamDefTable[31].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=32, longName="fieldVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[32];
+ ParamDef->init("fieldVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "A multiplier for the field velocity.", true);
+ ParamDefTable[32].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=33, longName="fieldVelocityWeight"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[33];
+ ParamDef->init("fieldVelocityWeight", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[33].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "The effect of the field velocity on objects. A value of 1 causes objects to only be affected by the grid, a value of 0 allows objects to be controlled by other field samplers.", true);
+ ParamDefTable[33].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=34, longName="useHeat"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[34];
+ ParamDef->init("useHeat", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Enable whether or not to use heat in the simulation.", true);
+ ParamDefTable[34].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=35, longName="heatParams"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[35];
+ ParamDef->init("heatParams", TYPE_STRUCT, "HeatParams", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=36, longName="heatParams.temperatureBasedForceMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[36];
+ ParamDef->init("temperatureBasedForceMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Multiplier for force induced by heat source.", true);
+ ParamDefTable[36].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=37, longName="heatParams.ambientTemperature"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[37];
+ ParamDef->init("ambientTemperature", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Environment temperature.", true);
+ ParamDefTable[37].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=38, longName="heatParams.heatForceDirection"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[38];
+ ParamDef->init("heatForceDirection", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Direction of the force induced by heat source.", true);
+ ParamDefTable[38].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=39, longName="heatParams.thermalConductivity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[39];
+ ParamDef->init("thermalConductivity", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Thermal conductivity. Default value is set for air.", true);
+ ParamDefTable[39].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=40, longName="useDensity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[40];
+ ParamDef->init("useDensity", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Enable whether or not to use density in the simulation.", true);
+ ParamDefTable[40].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=41, longName="densityParams"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[41];
+ ParamDef->init("densityParams", TYPE_STRUCT, "DensityParams", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=42, longName="densityParams.diffusionCoef"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[42];
+ ParamDef->init("diffusionCoef", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Diffusion coefficient for density (analog for viscosity in velocity equation.", true);
+ ParamDefTable[42].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=43, longName="densityParams.densityFieldFade"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[43];
+ ParamDef->init("densityFieldFade", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[43].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Each cell in density field are multiplied by (1 - densityFieldFade) every frame.", true);
+ ParamDefTable[43].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=44, longName="densityParams.densityGridMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[44];
+ ParamDef->init("densityGridMultiplier", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("min", uint64_t(1), true);
+ ParamDefTable[44].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("min", uint64_t(1), true);
+ HintTable[1].init("shortDescription", "Density grid resolution multiplier.", true);
+ ParamDefTable[44].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=45, longName="isEnabledOptimizedLOD"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[45];
+ ParamDef->init("isEnabledOptimizedLOD", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Enable more aggressive LOD.", true);
+ ParamDefTable[45].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=46, longName="customLOD"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[46];
+ ParamDef->init("customLOD", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Force the current LOD to a particular value, range is 0-1: 1.0f is maximum, 0.0f is minimum simulation quality.", true);
+ ParamDefTable[46].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=47, longName="lodWeights"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[47];
+ ParamDef->init("lodWeights", TYPE_STRUCT, "LODWeights", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=48, longName="lodWeights.maxDistance"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[48];
+ ParamDef->init("maxDistance", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Objects greater than this distance from the player will be culled more aggressively", true);
+ ParamDefTable[48].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=49, longName="lodWeights.distanceWeight"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[49];
+ ParamDef->init("distanceWeight", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Weight given to distance parameter in LOD function", true);
+ ParamDefTable[49].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=50, longName="lodWeights.bias"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[50];
+ ParamDef->init("bias", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "benefit = ((distanceWeight * distanceFactor + bias) * SimulationCost + benefitBias) * benefitWeight", true);
+ ParamDefTable[50].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=51, longName="lodWeights.benefitBias"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[51];
+ ParamDef->init("benefitBias", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "benefit = ((distanceWeight * distanceFactor + bias) * SimulationCost + benefitBias) * benefitWeight", true);
+ ParamDefTable[51].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=52, longName="lodWeights.benefitWeight"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[52];
+ ParamDef->init("benefitWeight", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "benefit = ((distanceWeight * distanceFactor + bias) * SimulationCost + benefitBias) * benefitWeight", true);
+ ParamDefTable[52].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=53, longName="noiseParams"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[53];
+ ParamDef->init("noiseParams", TYPE_STRUCT, "NoiseParams", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=54, longName="noiseParams.noiseStrength"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[54];
+ ParamDef->init("noiseStrength", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The strength of the noise added to the simulation.", true);
+ ParamDefTable[54].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=55, longName="noiseParams.noiseSpacePeriod"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[55];
+ ParamDef->init("noiseSpacePeriod", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Noise period in space.", true);
+ ParamDefTable[55].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=56, longName="noiseParams.noiseTimePeriod"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[56];
+ ParamDef->init("noiseTimePeriod", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Noise time period.", true);
+ ParamDefTable[56].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=57, longName="noiseParams.noiseOctaves"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[57];
+ ParamDef->init("noiseOctaves", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of the noise octaves (more octaves give more turbulent noise, but increase computational time).", true);
+ ParamDefTable[57].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=58, longName="dragCoeffForRigidBody"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[58];
+ ParamDef->init("dragCoeffForRigidBody", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "It is not true drag coef just mixing coefficient for slip and no-slip boundary condition. If set to zero supposed slip boundary condition on rigid bodies. If set to 1 supposed no-slip boundary condition else mixed (partly slip)", true);
+ ParamDefTable[58].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=59, longName="fluidViscosity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[59];
+ ParamDef->init("fluidViscosity", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Viscosity is the coefficient for velocity diffusion. If 0. there is no diffusion.", true);
+ ParamDefTable[59].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=60, longName="volumeRenderMaterialName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[60];
+ ParamDef->init("volumeRenderMaterialName", TYPE_REF, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The optional volume render material name", true);
+ ParamDefTable[60].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+ static const char* const RefVariantVals[] = { "ApexVolumeRenderMaterials" };
+ ParamDefTable[60].setRefVariantVals((const char**)RefVariantVals, 1);
+
+
+
+ }
+
+ // SetChildren for: nodeIndex=0, longName=""
+ {
+ static Definition* Children[36];
+ Children[0] = PDEF_PTR(1);
+ Children[1] = PDEF_PTR(4);
+ Children[2] = PDEF_PTR(7);
+ Children[3] = PDEF_PTR(10);
+ Children[4] = PDEF_PTR(11);
+ Children[5] = PDEF_PTR(14);
+ Children[6] = PDEF_PTR(15);
+ Children[7] = PDEF_PTR(16);
+ Children[8] = PDEF_PTR(17);
+ Children[9] = PDEF_PTR(18);
+ Children[10] = PDEF_PTR(19);
+ Children[11] = PDEF_PTR(20);
+ Children[12] = PDEF_PTR(21);
+ Children[13] = PDEF_PTR(22);
+ Children[14] = PDEF_PTR(23);
+ Children[15] = PDEF_PTR(24);
+ Children[16] = PDEF_PTR(25);
+ Children[17] = PDEF_PTR(26);
+ Children[18] = PDEF_PTR(27);
+ Children[19] = PDEF_PTR(28);
+ Children[20] = PDEF_PTR(29);
+ Children[21] = PDEF_PTR(30);
+ Children[22] = PDEF_PTR(31);
+ Children[23] = PDEF_PTR(32);
+ Children[24] = PDEF_PTR(33);
+ Children[25] = PDEF_PTR(34);
+ Children[26] = PDEF_PTR(35);
+ Children[27] = PDEF_PTR(40);
+ Children[28] = PDEF_PTR(41);
+ Children[29] = PDEF_PTR(45);
+ Children[30] = PDEF_PTR(46);
+ Children[31] = PDEF_PTR(47);
+ Children[32] = PDEF_PTR(53);
+ Children[33] = PDEF_PTR(58);
+ Children[34] = PDEF_PTR(59);
+ Children[35] = PDEF_PTR(60);
+
+ ParamDefTable[0].setChildren(Children, 36);
+ }
+
+ // SetChildren for: nodeIndex=1, longName="gridXRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(2);
+ Children[1] = PDEF_PTR(3);
+
+ ParamDefTable[1].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=4, longName="gridYRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(5);
+ Children[1] = PDEF_PTR(6);
+
+ ParamDefTable[4].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=7, longName="gridZRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(8);
+ Children[1] = PDEF_PTR(9);
+
+ ParamDefTable[7].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=11, longName="updatesPerFrameRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(12);
+ Children[1] = PDEF_PTR(13);
+
+ ParamDefTable[11].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=35, longName="heatParams"
+ {
+ static Definition* Children[4];
+ Children[0] = PDEF_PTR(36);
+ Children[1] = PDEF_PTR(37);
+ Children[2] = PDEF_PTR(38);
+ Children[3] = PDEF_PTR(39);
+
+ ParamDefTable[35].setChildren(Children, 4);
+ }
+
+ // SetChildren for: nodeIndex=41, longName="densityParams"
+ {
+ static Definition* Children[3];
+ Children[0] = PDEF_PTR(42);
+ Children[1] = PDEF_PTR(43);
+ Children[2] = PDEF_PTR(44);
+
+ ParamDefTable[41].setChildren(Children, 3);
+ }
+
+ // SetChildren for: nodeIndex=47, longName="lodWeights"
+ {
+ static Definition* Children[5];
+ Children[0] = PDEF_PTR(48);
+ Children[1] = PDEF_PTR(49);
+ Children[2] = PDEF_PTR(50);
+ Children[3] = PDEF_PTR(51);
+ Children[4] = PDEF_PTR(52);
+
+ ParamDefTable[47].setChildren(Children, 5);
+ }
+
+ // SetChildren for: nodeIndex=53, longName="noiseParams"
+ {
+ static Definition* Children[4];
+ Children[0] = PDEF_PTR(54);
+ Children[1] = PDEF_PTR(55);
+ Children[2] = PDEF_PTR(56);
+ Children[3] = PDEF_PTR(57);
+
+ ParamDefTable[53].setChildren(Children, 4);
+ }
+
+ mBuiltFlag = true;
+
+}
+void TurbulenceFSAssetParams_1p3::initStrings(void)
+{
+ collisionFilterDataName.isAllocated = true;
+ collisionFilterDataName.buf = NULL;
+ fieldBoundaryFilterDataName.isAllocated = true;
+ fieldBoundaryFilterDataName.buf = NULL;
+ fieldSamplerFilterDataName.isAllocated = true;
+ fieldSamplerFilterDataName.buf = NULL;
+}
+
+void TurbulenceFSAssetParams_1p3::initDynamicArrays(void)
+{
+}
+
+void TurbulenceFSAssetParams_1p3::initDefaults(void)
+{
+
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+ gridXRange.min = (const char*)"EGR_16";
+ gridXRange.max = (const char*)"EGR_16";
+ gridYRange.min = (const char*)"EGR_16";
+ gridYRange.max = (const char*)"EGR_16";
+ gridZRange.min = (const char*)"EGR_16";
+ gridZRange.max = (const char*)"EGR_16";
+ gridSizeWorld = physx::PxVec3(init(12, 12, 12));
+
+ updatesPerFrameRange.min = 0.0f;
+ updatesPerFrameRange.max = 1.0f;
+
+ angularVelocityMultiplier = float(1);
+ angularVelocityClamp = float(1000000);
+ linearVelocityMultiplier = float(1);
+ linearVelocityClamp = float(1000000);
+ velocityFieldFadeTime = float(0);
+ velocityFieldFadeDelay = float(2);
+ velocityFieldFadeIntensity = float(0.995);
+ boundaryFadePercentage = float(0.1);
+ boundarySizePercentage = float(1);
+ maxCollidingObjects = uint32_t(32);
+ maxVelocitySources = uint32_t(8);
+ maxHeatSources = uint32_t(8);
+ maxSubstanceSources = uint32_t(8);
+ dragCoeff = float(0);
+ externalVelocity = physx::PxVec3(init(0.0, 0.0, 0.0));
+ fieldVelocityMultiplier = float(1);
+ fieldVelocityWeight = float(1);
+ useHeat = bool(false);
+ heatParams.temperatureBasedForceMultiplier = float(0.02);
+ heatParams.ambientTemperature = float(0);
+ heatParams.heatForceDirection = physx::PxVec3(init(0.0, 1.0, 0.0));
+ heatParams.thermalConductivity = float(0.025);
+ useDensity = bool(false);
+ densityParams.diffusionCoef = float(0);
+ densityParams.densityFieldFade = float(0);
+ densityParams.densityGridMultiplier = uint32_t(1);
+ isEnabledOptimizedLOD = bool(false);
+ customLOD = float(1);
+ lodWeights.maxDistance = float(100);
+ lodWeights.distanceWeight = float(1);
+ lodWeights.bias = float(0);
+ lodWeights.benefitBias = float(0);
+ lodWeights.benefitWeight = float(1);
+ noiseParams.noiseStrength = float(0);
+ noiseParams.noiseSpacePeriod = physx::PxVec3(init(1.0, 1.0, 1.0));
+ noiseParams.noiseTimePeriod = float(1);
+ noiseParams.noiseOctaves = uint32_t(1);
+ dragCoeffForRigidBody = float(0);
+ fluidViscosity = float(0);
+
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+}
+
+void TurbulenceFSAssetParams_1p3::initReferences(void)
+{
+ volumeRenderMaterialName = NULL;
+
+}
+
+void TurbulenceFSAssetParams_1p3::freeDynamicArrays(void)
+{
+}
+
+void TurbulenceFSAssetParams_1p3::freeStrings(void)
+{
+
+ if (collisionFilterDataName.isAllocated && collisionFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)collisionFilterDataName.buf);
+ }
+
+ if (fieldBoundaryFilterDataName.isAllocated && fieldBoundaryFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)fieldBoundaryFilterDataName.buf);
+ }
+
+ if (fieldSamplerFilterDataName.isAllocated && fieldSamplerFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)fieldSamplerFilterDataName.buf);
+ }
+}
+
+void TurbulenceFSAssetParams_1p3::freeReferences(void)
+{
+ if (volumeRenderMaterialName)
+ {
+ volumeRenderMaterialName->destroy();
+ }
+
+}
+
+} // namespace parameterized
+} // namespace nvidia
diff --git a/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_1p4.cpp b/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_1p4.cpp
new file mode 100644
index 00000000..b9126dbb
--- /dev/null
+++ b/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_1p4.cpp
@@ -0,0 +1,2400 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and 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.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#include "TurbulenceFSAssetParams_1p4.h"
+#include <string.h>
+#include <stdlib.h>
+
+using namespace NvParameterized;
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+using namespace TurbulenceFSAssetParams_1p4NS;
+
+const char* const TurbulenceFSAssetParams_1p4Factory::vptr =
+ NvParameterized::getVptr<TurbulenceFSAssetParams_1p4, TurbulenceFSAssetParams_1p4::ClassAlignment>();
+
+const uint32_t NumParamDefs = 77;
+static NvParameterized::DefinitionImpl* ParamDefTable; // now allocated in buildTree [NumParamDefs];
+
+
+static const size_t ParamLookupChildrenTable[] =
+{
+ 1, 4, 7, 10, 11, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 34, 35, 40, 41, 45, 46, 47, 53, 58, 59, 60, 61, 62, 76, 2, 3, 5,
+ 6, 8, 9, 12, 13, 36, 37, 38, 39, 42, 43, 44, 48, 49, 50, 51, 52, 54, 55, 56, 57,
+ 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
+};
+
+#define TENUM(type) nvidia::##type
+#define CHILDREN(index) &ParamLookupChildrenTable[index]
+static const NvParameterized::ParamLookupNode ParamLookupTable[NumParamDefs] =
+{
+ { TYPE_STRUCT, false, 0, CHILDREN(0), 39 },
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->gridXRange), CHILDREN(39), 2 }, // gridXRange
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->min), NULL, 0 }, // gridXRange.min
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->max), NULL, 0 }, // gridXRange.max
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->gridYRange), CHILDREN(41), 2 }, // gridYRange
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->min), NULL, 0 }, // gridYRange.min
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->max), NULL, 0 }, // gridYRange.max
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->gridZRange), CHILDREN(43), 2 }, // gridZRange
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->min), NULL, 0 }, // gridZRange.min
+ { TYPE_ENUM, false, (size_t)(&((turbulenceRangeStructEnum_Type*)0)->max), NULL, 0 }, // gridZRange.max
+ { TYPE_VEC3, false, (size_t)(&((ParametersStruct*)0)->gridSizeWorld), NULL, 0 }, // gridSizeWorld
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->updatesPerFrameRange), CHILDREN(45), 2 }, // updatesPerFrameRange
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->min), NULL, 0 }, // updatesPerFrameRange.min
+ { TYPE_F32, false, (size_t)(&((rangeStructF32_Type*)0)->max), NULL, 0 }, // updatesPerFrameRange.max
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->angularVelocityMultiplier), NULL, 0 }, // angularVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->angularVelocityClamp), NULL, 0 }, // angularVelocityClamp
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->linearVelocityMultiplier), NULL, 0 }, // linearVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->linearVelocityClamp), NULL, 0 }, // linearVelocityClamp
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->velocityFieldFadeTime), NULL, 0 }, // velocityFieldFadeTime
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->velocityFieldFadeDelay), NULL, 0 }, // velocityFieldFadeDelay
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->velocityFieldFadeIntensity), NULL, 0 }, // velocityFieldFadeIntensity
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->boundaryFadePercentage), NULL, 0 }, // boundaryFadePercentage
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->boundarySizePercentage), NULL, 0 }, // boundarySizePercentage
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->collisionFilterDataName), NULL, 0 }, // collisionFilterDataName
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->fieldBoundaryFilterDataName), NULL, 0 }, // fieldBoundaryFilterDataName
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->fieldSamplerFilterDataName), NULL, 0 }, // fieldSamplerFilterDataName
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->maxCollidingObjects), NULL, 0 }, // maxCollidingObjects
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->maxVelocitySources), NULL, 0 }, // maxVelocitySources
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->maxHeatSources), NULL, 0 }, // maxHeatSources
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->maxSubstanceSources), NULL, 0 }, // maxSubstanceSources
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->dragCoeff), NULL, 0 }, // dragCoeff
+ { TYPE_VEC3, false, (size_t)(&((ParametersStruct*)0)->externalVelocity), NULL, 0 }, // externalVelocity
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fieldVelocityMultiplier), NULL, 0 }, // fieldVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fieldVelocityWeight), NULL, 0 }, // fieldVelocityWeight
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->useHeat), NULL, 0 }, // useHeat
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->heatParams), CHILDREN(47), 4 }, // heatParams
+ { TYPE_F32, false, (size_t)(&((HeatParams_Type*)0)->temperatureBasedForceMultiplier), NULL, 0 }, // heatParams.temperatureBasedForceMultiplier
+ { TYPE_F32, false, (size_t)(&((HeatParams_Type*)0)->ambientTemperature), NULL, 0 }, // heatParams.ambientTemperature
+ { TYPE_VEC3, false, (size_t)(&((HeatParams_Type*)0)->heatForceDirection), NULL, 0 }, // heatParams.heatForceDirection
+ { TYPE_F32, false, (size_t)(&((HeatParams_Type*)0)->thermalConductivity), NULL, 0 }, // heatParams.thermalConductivity
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->useDensity), NULL, 0 }, // useDensity
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->densityParams), CHILDREN(51), 3 }, // densityParams
+ { TYPE_F32, false, (size_t)(&((DensityParams_Type*)0)->diffusionCoef), NULL, 0 }, // densityParams.diffusionCoef
+ { TYPE_F32, false, (size_t)(&((DensityParams_Type*)0)->densityFieldFade), NULL, 0 }, // densityParams.densityFieldFade
+ { TYPE_U32, false, (size_t)(&((DensityParams_Type*)0)->densityGridMultiplier), NULL, 0 }, // densityParams.densityGridMultiplier
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->isEnabledOptimizedLOD), NULL, 0 }, // isEnabledOptimizedLOD
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->customLOD), NULL, 0 }, // customLOD
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->lodWeights), CHILDREN(54), 5 }, // lodWeights
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->maxDistance), NULL, 0 }, // lodWeights.maxDistance
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->distanceWeight), NULL, 0 }, // lodWeights.distanceWeight
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->bias), NULL, 0 }, // lodWeights.bias
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->benefitBias), NULL, 0 }, // lodWeights.benefitBias
+ { TYPE_F32, false, (size_t)(&((LODWeights_Type*)0)->benefitWeight), NULL, 0 }, // lodWeights.benefitWeight
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->noiseParams), CHILDREN(59), 4 }, // noiseParams
+ { TYPE_F32, false, (size_t)(&((NoiseParams_Type*)0)->noiseStrength), NULL, 0 }, // noiseParams.noiseStrength
+ { TYPE_VEC3, false, (size_t)(&((NoiseParams_Type*)0)->noiseSpacePeriod), NULL, 0 }, // noiseParams.noiseSpacePeriod
+ { TYPE_F32, false, (size_t)(&((NoiseParams_Type*)0)->noiseTimePeriod), NULL, 0 }, // noiseParams.noiseTimePeriod
+ { TYPE_U32, false, (size_t)(&((NoiseParams_Type*)0)->noiseOctaves), NULL, 0 }, // noiseParams.noiseOctaves
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->dragCoeffForRigidBody), NULL, 0 }, // dragCoeffForRigidBody
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fluidViscosity), NULL, 0 }, // fluidViscosity
+ { TYPE_REF, false, (size_t)(&((ParametersStruct*)0)->volumeRenderMaterialName), NULL, 0 }, // volumeRenderMaterialName
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->useFlame), NULL, 0 }, // useFlame
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->flameParams), CHILDREN(63), 13 }, // flameParams
+ { TYPE_F32, false, (size_t)(&((FlameParams_Type*)0)->IgnitionTemp), NULL, 0 }, // flameParams.IgnitionTemp
+ { TYPE_F32, false, (size_t)(&((FlameParams_Type*)0)->MaxIgnitionTemp), NULL, 0 }, // flameParams.MaxIgnitionTemp
+ { TYPE_F32, false, (size_t)(&((FlameParams_Type*)0)->ReactionSpeed), NULL, 0 }, // flameParams.ReactionSpeed
+ { TYPE_F32, false, (size_t)(&((FlameParams_Type*)0)->HeatReleased), NULL, 0 }, // flameParams.HeatReleased
+ { TYPE_F32, false, (size_t)(&((FlameParams_Type*)0)->DensityEmission), NULL, 0 }, // flameParams.DensityEmission
+ { TYPE_F32, false, (size_t)(&((FlameParams_Type*)0)->FuelInefficiency), NULL, 0 }, // flameParams.FuelInefficiency
+ { TYPE_F32, false, (size_t)(&((FlameParams_Type*)0)->Expansion), NULL, 0 }, // flameParams.Expansion
+ { TYPE_F32, false, (size_t)(&((FlameParams_Type*)0)->Cooling), NULL, 0 }, // flameParams.Cooling
+ { TYPE_F32, false, (size_t)(&((FlameParams_Type*)0)->Buoyancy), NULL, 0 }, // flameParams.Buoyancy
+ { TYPE_VEC3, false, (size_t)(&((FlameParams_Type*)0)->BuoyancyUpVector), NULL, 0 }, // flameParams.BuoyancyUpVector
+ { TYPE_F32, false, (size_t)(&((FlameParams_Type*)0)->RoomTemperature), NULL, 0 }, // flameParams.RoomTemperature
+ { TYPE_VEC4, false, (size_t)(&((FlameParams_Type*)0)->Dissipation), NULL, 0 }, // flameParams.Dissipation
+ { TYPE_U32, false, (size_t)(&((FlameParams_Type*)0)->ResolutionMultiplier), NULL, 0 }, // flameParams.ResolutionMultiplier
+ { TYPE_ENUM, false, (size_t)(&((ParametersStruct*)0)->solverAccuracy), NULL, 0 }, // solverAccuracy
+};
+
+
+bool TurbulenceFSAssetParams_1p4::mBuiltFlag = false;
+NvParameterized::MutexType TurbulenceFSAssetParams_1p4::mBuiltFlagMutex;
+
+TurbulenceFSAssetParams_1p4::TurbulenceFSAssetParams_1p4(NvParameterized::Traits* traits, void* buf, int32_t* refCount) :
+ NvParameters(traits, buf, refCount)
+{
+ //mParameterizedTraits->registerFactory(className(), &TurbulenceFSAssetParams_1p4FactoryInst);
+
+ if (!buf) //Do not init data if it is inplace-deserialized
+ {
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+ initDefaults();
+ }
+}
+
+TurbulenceFSAssetParams_1p4::~TurbulenceFSAssetParams_1p4()
+{
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+}
+
+void TurbulenceFSAssetParams_1p4::destroy()
+{
+ // We cache these fields here to avoid overwrite in destructor
+ bool doDeallocateSelf = mDoDeallocateSelf;
+ NvParameterized::Traits* traits = mParameterizedTraits;
+ int32_t* refCount = mRefCount;
+ void* buf = mBuffer;
+
+ this->~TurbulenceFSAssetParams_1p4();
+
+ NvParameters::destroy(this, traits, doDeallocateSelf, refCount, buf);
+}
+
+const NvParameterized::DefinitionImpl* TurbulenceFSAssetParams_1p4::getParameterDefinitionTree(void)
+{
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+const NvParameterized::DefinitionImpl* TurbulenceFSAssetParams_1p4::getParameterDefinitionTree(void) const
+{
+ TurbulenceFSAssetParams_1p4* tmpParam = const_cast<TurbulenceFSAssetParams_1p4*>(this);
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ tmpParam->buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+NvParameterized::ErrorType TurbulenceFSAssetParams_1p4::getParameterHandle(const char* long_name, Handle& handle) const
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+NvParameterized::ErrorType TurbulenceFSAssetParams_1p4::getParameterHandle(const char* long_name, Handle& handle)
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+void TurbulenceFSAssetParams_1p4::getVarPtr(const Handle& handle, void*& ptr, size_t& offset) const
+{
+ ptr = getVarPtrHelper(&ParamLookupTable[0], const_cast<TurbulenceFSAssetParams_1p4::ParametersStruct*>(&parameters()), handle, offset);
+}
+
+
+/* Dynamic Handle Indices */
+
+void TurbulenceFSAssetParams_1p4::freeParameterDefinitionTable(NvParameterized::Traits* traits)
+{
+ if (!traits)
+ {
+ return;
+ }
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ return;
+ }
+
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+
+ if (!mBuiltFlag)
+ {
+ return;
+ }
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ ParamDefTable[i].~DefinitionImpl();
+ }
+
+ traits->free(ParamDefTable);
+
+ mBuiltFlag = false;
+}
+
+#define PDEF_PTR(index) (&ParamDefTable[index])
+
+void TurbulenceFSAssetParams_1p4::buildTree(void)
+{
+
+ uint32_t allocSize = sizeof(NvParameterized::DefinitionImpl) * NumParamDefs;
+ ParamDefTable = (NvParameterized::DefinitionImpl*)(mParameterizedTraits->alloc(allocSize));
+ memset(ParamDefTable, 0, allocSize);
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ NV_PARAM_PLACEMENT_NEW(ParamDefTable + i, NvParameterized::DefinitionImpl)(*mParameterizedTraits);
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=0, longName=""
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[0];
+ ParamDef->init("", TYPE_STRUCT, "STRUCT", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Contains the asset properties for this Turbulence field sampler.", true);
+ ParamDefTable[0].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=1, longName="gridXRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[1];
+ ParamDef->init("gridXRange", TYPE_STRUCT, "turbulenceRangeStructEnum", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of grid cells in X dimension.", true);
+ ParamDefTable[1].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=2, longName="gridXRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[2];
+ ParamDef->init("min", TYPE_ENUM, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Turbulence resolution. The higher resolution, the higher precision, but the simulation time is also longer. This is the lower bound of possible turbulence grid resolution, depending on the LOD settings", true);
+ ParamDefTable[2].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[2].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=3, longName="gridXRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[3];
+ ParamDef->init("max", TYPE_ENUM, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Turbulence resolution. The higher resolution, the higher precision, but the simulation time is also longer. This is the higher bound of possible turbulence grid resolution, depending on the LOD settings", true);
+ ParamDefTable[3].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[3].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=4, longName="gridYRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[4];
+ ParamDef->init("gridYRange", TYPE_STRUCT, "turbulenceRangeStructEnum", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of grid cells in Y dimension.", true);
+ ParamDefTable[4].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=5, longName="gridYRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[5];
+ ParamDef->init("min", TYPE_ENUM, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Turbulence resolution. The higher resolution, the higher precision, but the simulation time is also longer. This is the lower bound of possible turbulence grid resolution, depending on the LOD settings", true);
+ ParamDefTable[5].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[5].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=6, longName="gridYRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[6];
+ ParamDef->init("max", TYPE_ENUM, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Turbulence resolution. The higher resolution, the higher precision, but the simulation time is also longer. This is the higher bound of possible turbulence grid resolution, depending on the LOD settings", true);
+ ParamDefTable[6].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[6].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=7, longName="gridZRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[7];
+ ParamDef->init("gridZRange", TYPE_STRUCT, "turbulenceRangeStructEnum", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of grid cells in Z dimension.", true);
+ ParamDefTable[7].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=8, longName="gridZRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[8];
+ ParamDef->init("min", TYPE_ENUM, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Turbulence resolution. The higher resolution, the higher precision, but the simulation time is also longer. This is the lower bound of possible turbulence grid resolution, depending on the LOD settings", true);
+ ParamDefTable[8].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[8].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=9, longName="gridZRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[9];
+ ParamDef->init("max", TYPE_ENUM, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Turbulence resolution. The higher resolution, the higher precision, but the simulation time is also longer. This is the higher bound of possible turbulence grid resolution, depending on the LOD settings", true);
+ ParamDefTable[9].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[9].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=10, longName="gridSizeWorld"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[10];
+ ParamDef->init("gridSizeWorld", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Size of the grid in world space.", true);
+ ParamDefTable[10].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=11, longName="updatesPerFrameRange"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[11];
+ ParamDef->init("updatesPerFrameRange", TYPE_STRUCT, "rangeStructF32", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The number of updates per frame. See APEX documentation for limitations.", true);
+ ParamDefTable[11].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=12, longName="updatesPerFrameRange.min"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[12];
+ ParamDef->init("min", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Minimum value", true);
+ ParamDefTable[12].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=13, longName="updatesPerFrameRange.max"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[13];
+ ParamDef->init("max", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Maximum value", true);
+ ParamDefTable[13].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=14, longName="angularVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[14];
+ ParamDef->init("angularVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a multiplier for the angular velocity set by the user.", true);
+ ParamDefTable[14].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=15, longName="angularVelocityClamp"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[15];
+ ParamDef->init("angularVelocityClamp", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a clamp for the angular velocity set by the user.", true);
+ ParamDefTable[15].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=16, longName="linearVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[16];
+ ParamDef->init("linearVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a multiplier for the linear velocity set by the user.", true);
+ ParamDefTable[16].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=17, longName="linearVelocityClamp"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[17];
+ ParamDef->init("linearVelocityClamp", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a clamp for the linear velocity set by the user.", true);
+ ParamDefTable[17].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=18, longName="velocityFieldFadeTime"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[18];
+ ParamDef->init("velocityFieldFadeTime", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1000), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[18].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1000), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Time of velocity field cleaning process [sec]. Cleaning disabled by default.", true);
+ ParamDefTable[18].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=19, longName="velocityFieldFadeDelay"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[19];
+ ParamDef->init("velocityFieldFadeDelay", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1000), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[19].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1000), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Time without activity before velocity field cleaning process starts [sec]. ", true);
+ ParamDefTable[19].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=20, longName="velocityFieldFadeIntensity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[20];
+ ParamDef->init("velocityFieldFadeIntensity", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", double(0.01), true);
+ ParamDefTable[20].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", double(0.01), true);
+ HintTable[2].init("shortDescription", "This parameter sets how much each velocity vector should be damped, so (1 - velocityFieldFadeIntensity) of original velocity vector magnitude will be left after the fade process finishes.", true);
+ ParamDefTable[20].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=21, longName="boundaryFadePercentage"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[21];
+ ParamDef->init("boundaryFadePercentage", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[21].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Percentage of distance from boundary to center where fade out starts.", true);
+ ParamDefTable[21].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=22, longName="boundarySizePercentage"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[22];
+ ParamDef->init("boundarySizePercentage", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[22].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Boundary size as the percentage of grid size.", true);
+ ParamDefTable[22].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=23, longName="collisionFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[23];
+ ParamDef->init("collisionFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("HIDDEN", uint64_t(1), true);
+ ParamDefTable[23].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("HIDDEN", uint64_t(1), true);
+ HintTable[1].init("shortDescription", "The filter data (group/groupsMask) name for TurbulenceFS vs PhysX interaction.", true);
+ ParamDefTable[23].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=24, longName="fieldBoundaryFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[24];
+ ParamDef->init("fieldBoundaryFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("HIDDEN", uint64_t(1), true);
+ ParamDefTable[24].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("HIDDEN", uint64_t(1), true);
+ HintTable[1].init("shortDescription", "The filter data name for TurbulenceFS vs Field Boundaries interaction.", true);
+ ParamDefTable[24].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=25, longName="fieldSamplerFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[25];
+ ParamDef->init("fieldSamplerFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The filter data name for TurbulenceFS vs other Field Samplers interaction.", true);
+ ParamDefTable[25].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=26, longName="maxCollidingObjects"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[26];
+ ParamDef->init("maxCollidingObjects", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The maximum number of colliding objects.", true);
+ ParamDefTable[26].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=27, longName="maxVelocitySources"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[27];
+ ParamDef->init("maxVelocitySources", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The maximum number of velocity source.", true);
+ ParamDefTable[27].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=28, longName="maxHeatSources"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[28];
+ ParamDef->init("maxHeatSources", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The maximum number of heat source.", true);
+ ParamDefTable[28].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=29, longName="maxSubstanceSources"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[29];
+ ParamDef->init("maxSubstanceSources", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The maximum number of substance source (computed if density enabled).", true);
+ ParamDefTable[29].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=30, longName="dragCoeff"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[30];
+ ParamDef->init("dragCoeff", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Coefficient for deriving drag force from velocity (if equals to zero, direct grid velocity is used).", true);
+ ParamDefTable[30].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=31, longName="externalVelocity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[31];
+ ParamDef->init("externalVelocity", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Adds a single directional velocity to the grid.", true);
+ ParamDefTable[31].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=32, longName="fieldVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[32];
+ ParamDef->init("fieldVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "A multiplier for the field velocity.", true);
+ ParamDefTable[32].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=33, longName="fieldVelocityWeight"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[33];
+ ParamDef->init("fieldVelocityWeight", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[33].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "The effect of the field velocity on objects. A value of 1 causes objects to only be affected by the grid, a value of 0 allows objects to be controlled by other field samplers.", true);
+ ParamDefTable[33].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=34, longName="useHeat"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[34];
+ ParamDef->init("useHeat", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Enable whether or not to use heat in the simulation.", true);
+ ParamDefTable[34].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=35, longName="heatParams"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[35];
+ ParamDef->init("heatParams", TYPE_STRUCT, "HeatParams", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=36, longName="heatParams.temperatureBasedForceMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[36];
+ ParamDef->init("temperatureBasedForceMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Multiplier for force induced by heat source.", true);
+ ParamDefTable[36].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=37, longName="heatParams.ambientTemperature"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[37];
+ ParamDef->init("ambientTemperature", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Environment temperature.", true);
+ ParamDefTable[37].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=38, longName="heatParams.heatForceDirection"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[38];
+ ParamDef->init("heatForceDirection", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Direction of the force induced by heat source.", true);
+ ParamDefTable[38].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=39, longName="heatParams.thermalConductivity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[39];
+ ParamDef->init("thermalConductivity", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Thermal conductivity. Default value is set for air.", true);
+ ParamDefTable[39].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=40, longName="useDensity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[40];
+ ParamDef->init("useDensity", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Enable whether or not to use density in the simulation.", true);
+ ParamDefTable[40].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=41, longName="densityParams"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[41];
+ ParamDef->init("densityParams", TYPE_STRUCT, "DensityParams", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=42, longName="densityParams.diffusionCoef"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[42];
+ ParamDef->init("diffusionCoef", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Diffusion coefficient for density (analog for viscosity in velocity equation.", true);
+ ParamDefTable[42].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=43, longName="densityParams.densityFieldFade"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[43];
+ ParamDef->init("densityFieldFade", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[43].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Each cell in density field are multiplied by (1 - densityFieldFade) every frame.", true);
+ ParamDefTable[43].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=44, longName="densityParams.densityGridMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[44];
+ ParamDef->init("densityGridMultiplier", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("min", uint64_t(1), true);
+ ParamDefTable[44].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("min", uint64_t(1), true);
+ HintTable[1].init("shortDescription", "Density grid resolution multiplier.", true);
+ ParamDefTable[44].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=45, longName="isEnabledOptimizedLOD"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[45];
+ ParamDef->init("isEnabledOptimizedLOD", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Enable more aggressive LOD.", true);
+ ParamDefTable[45].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=46, longName="customLOD"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[46];
+ ParamDef->init("customLOD", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Force the current LOD to a particular value, range is 0-1: 1.0f is maximum, 0.0f is minimum simulation quality.", true);
+ ParamDefTable[46].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=47, longName="lodWeights"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[47];
+ ParamDef->init("lodWeights", TYPE_STRUCT, "LODWeights", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=48, longName="lodWeights.maxDistance"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[48];
+ ParamDef->init("maxDistance", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Objects greater than this distance from the player will be culled more aggressively", true);
+ ParamDefTable[48].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=49, longName="lodWeights.distanceWeight"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[49];
+ ParamDef->init("distanceWeight", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Weight given to distance parameter in LOD function", true);
+ ParamDefTable[49].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=50, longName="lodWeights.bias"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[50];
+ ParamDef->init("bias", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "benefit = ((distanceWeight * distanceFactor + bias) * SimulationCost + benefitBias) * benefitWeight", true);
+ ParamDefTable[50].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=51, longName="lodWeights.benefitBias"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[51];
+ ParamDef->init("benefitBias", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "benefit = ((distanceWeight * distanceFactor + bias) * SimulationCost + benefitBias) * benefitWeight", true);
+ ParamDefTable[51].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=52, longName="lodWeights.benefitWeight"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[52];
+ ParamDef->init("benefitWeight", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "benefit = ((distanceWeight * distanceFactor + bias) * SimulationCost + benefitBias) * benefitWeight", true);
+ ParamDefTable[52].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=53, longName="noiseParams"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[53];
+ ParamDef->init("noiseParams", TYPE_STRUCT, "NoiseParams", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=54, longName="noiseParams.noiseStrength"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[54];
+ ParamDef->init("noiseStrength", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The strength of the noise added to the simulation.", true);
+ ParamDefTable[54].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=55, longName="noiseParams.noiseSpacePeriod"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[55];
+ ParamDef->init("noiseSpacePeriod", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Noise period in space.", true);
+ ParamDefTable[55].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=56, longName="noiseParams.noiseTimePeriod"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[56];
+ ParamDef->init("noiseTimePeriod", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Noise time period.", true);
+ ParamDefTable[56].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=57, longName="noiseParams.noiseOctaves"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[57];
+ ParamDef->init("noiseOctaves", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of the noise octaves (more octaves give more turbulent noise, but increase computational time).", true);
+ ParamDefTable[57].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=58, longName="dragCoeffForRigidBody"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[58];
+ ParamDef->init("dragCoeffForRigidBody", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "It is not true drag coef just mixing coefficient for slip and no-slip boundary condition. If set to zero supposed slip boundary condition on rigid bodies. If set to 1 supposed no-slip boundary condition else mixed (partly slip)", true);
+ ParamDefTable[58].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=59, longName="fluidViscosity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[59];
+ ParamDef->init("fluidViscosity", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Viscosity is the coefficient for velocity diffusion. If 0. there is no diffusion.", true);
+ ParamDefTable[59].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=60, longName="volumeRenderMaterialName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[60];
+ ParamDef->init("volumeRenderMaterialName", TYPE_REF, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The optional volume render material name", true);
+ ParamDefTable[60].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+ static const char* const RefVariantVals[] = { "ApexVolumeRenderMaterials" };
+ ParamDefTable[60].setRefVariantVals((const char**)RefVariantVals, 1);
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=61, longName="useFlame"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[61];
+ ParamDef->init("useFlame", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Enable whether or not to use flame in the simulation.", true);
+ ParamDefTable[61].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=62, longName="flameParams"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[62];
+ ParamDef->init("flameParams", TYPE_STRUCT, "FlameParams", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=63, longName="flameParams.IgnitionTemp"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[63];
+ ParamDef->init("IgnitionTemp", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("tweakable", uint64_t(1), true);
+ ParamDefTable[63].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("shortDescription", "Temperature at which ignition occurs.", true);
+ HintTable[1].init("tweakable", uint64_t(1), true);
+ ParamDefTable[63].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=64, longName="flameParams.MaxIgnitionTemp"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[64];
+ ParamDef->init("MaxIgnitionTemp", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("tweakable", uint64_t(1), true);
+ ParamDefTable[64].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("shortDescription", "Maximum temperature at which ignition occurs.", true);
+ HintTable[1].init("tweakable", uint64_t(1), true);
+ ParamDefTable[64].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=65, longName="flameParams.ReactionSpeed"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[65];
+ ParamDef->init("ReactionSpeed", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("tweakable", uint64_t(1), true);
+ ParamDefTable[65].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("shortDescription", "Speed at which reaction occurs. Higher reaction speeds generate more heat and also consume fuel more quickly.", true);
+ HintTable[1].init("tweakable", uint64_t(1), true);
+ ParamDefTable[65].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=66, longName="flameParams.HeatReleased"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[66];
+ ParamDef->init("HeatReleased", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("tweakable", uint64_t(1), true);
+ ParamDefTable[66].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("shortDescription", "Amount of temperature released during reaction.", true);
+ HintTable[1].init("tweakable", uint64_t(1), true);
+ ParamDefTable[66].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=67, longName="flameParams.DensityEmission"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[67];
+ ParamDef->init("DensityEmission", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("tweakable", uint64_t(1), true);
+ ParamDefTable[67].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("shortDescription", "Amount of density (smoke) created during reaction", true);
+ HintTable[1].init("tweakable", uint64_t(1), true);
+ ParamDefTable[67].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=68, longName="flameParams.FuelInefficiency"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[68];
+ ParamDef->init("FuelInefficiency", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", double(1.0), true);
+ HintTable[1].init("min", double(0.0), true);
+ HintTable[2].init("tweakable", uint64_t(1), true);
+ ParamDefTable[68].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#else
+
+ static HintImpl HintTable[4];
+ static Hint* HintPtrTable[4] = { &HintTable[0], &HintTable[1], &HintTable[2], &HintTable[3], };
+ HintTable[0].init("max", double(1.0), true);
+ HintTable[1].init("min", double(0.0), true);
+ HintTable[2].init("shortDescription", " Controls how much of the burned fuel is actually not burned [0, 1]", true);
+ HintTable[3].init("tweakable", uint64_t(1), true);
+ ParamDefTable[68].setHints((const NvParameterized::Hint**)HintPtrTable, 4);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=69, longName="flameParams.Expansion"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[69];
+ ParamDef->init("Expansion", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("tweakable", uint64_t(1), true);
+ ParamDefTable[69].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("shortDescription", "Amount of expansion generated by reaction.", true);
+ HintTable[1].init("tweakable", uint64_t(1), true);
+ ParamDefTable[69].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=70, longName="flameParams.Cooling"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[70];
+ ParamDef->init("Cooling", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("tweakable", uint64_t(1), true);
+ ParamDefTable[70].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("shortDescription", "Exponential cooling amount", true);
+ HintTable[1].init("tweakable", uint64_t(1), true);
+ ParamDefTable[70].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=71, longName="flameParams.Buoyancy"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[71];
+ ParamDef->init("Buoyancy", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("tweakable", uint64_t(1), true);
+ ParamDefTable[71].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("shortDescription", "Buoyancy strength. If temperature is above room temperature, upwards force is generated.", true);
+ HintTable[1].init("tweakable", uint64_t(1), true);
+ ParamDefTable[71].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=72, longName="flameParams.BuoyancyUpVector"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[72];
+ ParamDef->init("BuoyancyUpVector", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("tweakable", uint64_t(1), true);
+ ParamDefTable[72].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("shortDescription", "Direction that buoyancy acts in (opposite gravity)", true);
+ HintTable[1].init("tweakable", uint64_t(1), true);
+ ParamDefTable[72].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=73, longName="flameParams.RoomTemperature"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[73];
+ ParamDef->init("RoomTemperature", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("tweakable", uint64_t(1), true);
+ ParamDefTable[73].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("shortDescription", "Room temperature. Affects buoyancy.", true);
+ HintTable[1].init("tweakable", uint64_t(1), true);
+ ParamDefTable[73].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=74, longName="flameParams.Dissipation"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[74];
+ ParamDef->init("Dissipation", TYPE_VEC4, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("tweakable", uint64_t(1), true);
+ ParamDefTable[74].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("shortDescription", "Amount to dissipate each channel of flame per simulation frame. This is corrected for the timestep.", true);
+ HintTable[1].init("tweakable", uint64_t(1), true);
+ ParamDefTable[74].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=75, longName="flameParams.ResolutionMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[75];
+ ParamDef->init("ResolutionMultiplier", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(16), true);
+ HintTable[1].init("min", uint64_t(1), true);
+ ParamDefTable[75].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(16), true);
+ HintTable[1].init("min", uint64_t(1), true);
+ HintTable[2].init("shortDescription", "The flame resolution multiplier", true);
+ ParamDefTable[75].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=76, longName="solverAccuracy"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[76];
+ ParamDef->init("solverAccuracy", TYPE_ENUM, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Solver accuracy. Use FAST mode to improve performance, but be aware that it could lead to less accurate and stable simulation!", true);
+ ParamDefTable[76].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+ static const char* const EnumVals[] = { "NORMAL", "FAST" };
+ ParamDefTable[76].setEnumVals((const char**)EnumVals, 2);
+
+
+
+
+ }
+
+ // SetChildren for: nodeIndex=0, longName=""
+ {
+ static Definition* Children[39];
+ Children[0] = PDEF_PTR(1);
+ Children[1] = PDEF_PTR(4);
+ Children[2] = PDEF_PTR(7);
+ Children[3] = PDEF_PTR(10);
+ Children[4] = PDEF_PTR(11);
+ Children[5] = PDEF_PTR(14);
+ Children[6] = PDEF_PTR(15);
+ Children[7] = PDEF_PTR(16);
+ Children[8] = PDEF_PTR(17);
+ Children[9] = PDEF_PTR(18);
+ Children[10] = PDEF_PTR(19);
+ Children[11] = PDEF_PTR(20);
+ Children[12] = PDEF_PTR(21);
+ Children[13] = PDEF_PTR(22);
+ Children[14] = PDEF_PTR(23);
+ Children[15] = PDEF_PTR(24);
+ Children[16] = PDEF_PTR(25);
+ Children[17] = PDEF_PTR(26);
+ Children[18] = PDEF_PTR(27);
+ Children[19] = PDEF_PTR(28);
+ Children[20] = PDEF_PTR(29);
+ Children[21] = PDEF_PTR(30);
+ Children[22] = PDEF_PTR(31);
+ Children[23] = PDEF_PTR(32);
+ Children[24] = PDEF_PTR(33);
+ Children[25] = PDEF_PTR(34);
+ Children[26] = PDEF_PTR(35);
+ Children[27] = PDEF_PTR(40);
+ Children[28] = PDEF_PTR(41);
+ Children[29] = PDEF_PTR(45);
+ Children[30] = PDEF_PTR(46);
+ Children[31] = PDEF_PTR(47);
+ Children[32] = PDEF_PTR(53);
+ Children[33] = PDEF_PTR(58);
+ Children[34] = PDEF_PTR(59);
+ Children[35] = PDEF_PTR(60);
+ Children[36] = PDEF_PTR(61);
+ Children[37] = PDEF_PTR(62);
+ Children[38] = PDEF_PTR(76);
+
+ ParamDefTable[0].setChildren(Children, 39);
+ }
+
+ // SetChildren for: nodeIndex=1, longName="gridXRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(2);
+ Children[1] = PDEF_PTR(3);
+
+ ParamDefTable[1].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=4, longName="gridYRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(5);
+ Children[1] = PDEF_PTR(6);
+
+ ParamDefTable[4].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=7, longName="gridZRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(8);
+ Children[1] = PDEF_PTR(9);
+
+ ParamDefTable[7].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=11, longName="updatesPerFrameRange"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(12);
+ Children[1] = PDEF_PTR(13);
+
+ ParamDefTable[11].setChildren(Children, 2);
+ }
+
+ // SetChildren for: nodeIndex=35, longName="heatParams"
+ {
+ static Definition* Children[4];
+ Children[0] = PDEF_PTR(36);
+ Children[1] = PDEF_PTR(37);
+ Children[2] = PDEF_PTR(38);
+ Children[3] = PDEF_PTR(39);
+
+ ParamDefTable[35].setChildren(Children, 4);
+ }
+
+ // SetChildren for: nodeIndex=41, longName="densityParams"
+ {
+ static Definition* Children[3];
+ Children[0] = PDEF_PTR(42);
+ Children[1] = PDEF_PTR(43);
+ Children[2] = PDEF_PTR(44);
+
+ ParamDefTable[41].setChildren(Children, 3);
+ }
+
+ // SetChildren for: nodeIndex=47, longName="lodWeights"
+ {
+ static Definition* Children[5];
+ Children[0] = PDEF_PTR(48);
+ Children[1] = PDEF_PTR(49);
+ Children[2] = PDEF_PTR(50);
+ Children[3] = PDEF_PTR(51);
+ Children[4] = PDEF_PTR(52);
+
+ ParamDefTable[47].setChildren(Children, 5);
+ }
+
+ // SetChildren for: nodeIndex=53, longName="noiseParams"
+ {
+ static Definition* Children[4];
+ Children[0] = PDEF_PTR(54);
+ Children[1] = PDEF_PTR(55);
+ Children[2] = PDEF_PTR(56);
+ Children[3] = PDEF_PTR(57);
+
+ ParamDefTable[53].setChildren(Children, 4);
+ }
+
+ // SetChildren for: nodeIndex=62, longName="flameParams"
+ {
+ static Definition* Children[13];
+ Children[0] = PDEF_PTR(63);
+ Children[1] = PDEF_PTR(64);
+ Children[2] = PDEF_PTR(65);
+ Children[3] = PDEF_PTR(66);
+ Children[4] = PDEF_PTR(67);
+ Children[5] = PDEF_PTR(68);
+ Children[6] = PDEF_PTR(69);
+ Children[7] = PDEF_PTR(70);
+ Children[8] = PDEF_PTR(71);
+ Children[9] = PDEF_PTR(72);
+ Children[10] = PDEF_PTR(73);
+ Children[11] = PDEF_PTR(74);
+ Children[12] = PDEF_PTR(75);
+
+ ParamDefTable[62].setChildren(Children, 13);
+ }
+
+ mBuiltFlag = true;
+
+}
+void TurbulenceFSAssetParams_1p4::initStrings(void)
+{
+ collisionFilterDataName.isAllocated = true;
+ collisionFilterDataName.buf = NULL;
+ fieldBoundaryFilterDataName.isAllocated = true;
+ fieldBoundaryFilterDataName.buf = NULL;
+ fieldSamplerFilterDataName.isAllocated = true;
+ fieldSamplerFilterDataName.buf = NULL;
+}
+
+void TurbulenceFSAssetParams_1p4::initDynamicArrays(void)
+{
+}
+
+void TurbulenceFSAssetParams_1p4::initDefaults(void)
+{
+
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+ gridXRange.min = (const char*)"EGR_16";
+ gridXRange.max = (const char*)"EGR_16";
+ gridYRange.min = (const char*)"EGR_16";
+ gridYRange.max = (const char*)"EGR_16";
+ gridZRange.min = (const char*)"EGR_16";
+ gridZRange.max = (const char*)"EGR_16";
+ gridSizeWorld = physx::PxVec3(init(12, 12, 12));
+
+ updatesPerFrameRange.min = 0.0f;
+ updatesPerFrameRange.max = 1.0f;
+
+ angularVelocityMultiplier = float(1);
+ angularVelocityClamp = float(1000000);
+ linearVelocityMultiplier = float(1);
+ linearVelocityClamp = float(1000000);
+ velocityFieldFadeTime = float(0);
+ velocityFieldFadeDelay = float(2);
+ velocityFieldFadeIntensity = float(0.995);
+ boundaryFadePercentage = float(0.1);
+ boundarySizePercentage = float(1);
+ maxCollidingObjects = uint32_t(32);
+ maxVelocitySources = uint32_t(8);
+ maxHeatSources = uint32_t(8);
+ maxSubstanceSources = uint32_t(8);
+ dragCoeff = float(0);
+ externalVelocity = physx::PxVec3(init(0.0, 0.0, 0.0));
+ fieldVelocityMultiplier = float(1);
+ fieldVelocityWeight = float(1);
+ useHeat = bool(false);
+ heatParams.temperatureBasedForceMultiplier = float(0.02);
+ heatParams.ambientTemperature = float(0);
+ heatParams.heatForceDirection = physx::PxVec3(init(0.0, 1.0, 0.0));
+ heatParams.thermalConductivity = float(0.025);
+ useDensity = bool(false);
+ densityParams.diffusionCoef = float(0);
+ densityParams.densityFieldFade = float(0);
+ densityParams.densityGridMultiplier = uint32_t(1);
+ isEnabledOptimizedLOD = bool(false);
+ customLOD = float(1);
+ lodWeights.maxDistance = float(100);
+ lodWeights.distanceWeight = float(1);
+ lodWeights.bias = float(0);
+ lodWeights.benefitBias = float(0);
+ lodWeights.benefitWeight = float(1);
+ noiseParams.noiseStrength = float(0);
+ noiseParams.noiseSpacePeriod = physx::PxVec3(init(1.0, 1.0, 1.0));
+ noiseParams.noiseTimePeriod = float(1);
+ noiseParams.noiseOctaves = uint32_t(1);
+ dragCoeffForRigidBody = float(0);
+ fluidViscosity = float(0);
+ useFlame = bool(false);
+ flameParams.IgnitionTemp = float(0.0);
+ flameParams.MaxIgnitionTemp = float(1.0);
+ flameParams.ReactionSpeed = float(0.2);
+ flameParams.HeatReleased = float(0.5);
+ flameParams.DensityEmission = float(0.0);
+ flameParams.FuelInefficiency = float(0.0);
+ flameParams.Expansion = float(0.5);
+ flameParams.Cooling = float(0.0);
+ flameParams.Buoyancy = float(0.2);
+ flameParams.BuoyancyUpVector = physx::PxVec3(init(0.0,0.0,0.0));
+ flameParams.RoomTemperature = float(0.0);
+ flameParams.Dissipation = physx::PxVec4(initVec4(0.1,0.1,0.1,0.1));
+ flameParams.ResolutionMultiplier = uint32_t(1);
+ solverAccuracy = (const char*)"NORMAL";
+
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+}
+
+void TurbulenceFSAssetParams_1p4::initReferences(void)
+{
+ volumeRenderMaterialName = NULL;
+
+}
+
+void TurbulenceFSAssetParams_1p4::freeDynamicArrays(void)
+{
+}
+
+void TurbulenceFSAssetParams_1p4::freeStrings(void)
+{
+
+ if (collisionFilterDataName.isAllocated && collisionFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)collisionFilterDataName.buf);
+ }
+
+ if (fieldBoundaryFilterDataName.isAllocated && fieldBoundaryFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)fieldBoundaryFilterDataName.buf);
+ }
+
+ if (fieldSamplerFilterDataName.isAllocated && fieldSamplerFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)fieldSamplerFilterDataName.buf);
+ }
+}
+
+void TurbulenceFSAssetParams_1p4::freeReferences(void)
+{
+ if (volumeRenderMaterialName)
+ {
+ volumeRenderMaterialName->destroy();
+ }
+
+}
+
+} // namespace parameterized
+} // namespace nvidia
diff --git a/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_1p5.cpp b/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_1p5.cpp
new file mode 100644
index 00000000..0b9ef42a
--- /dev/null
+++ b/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSAssetParams_1p5.cpp
@@ -0,0 +1,2004 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and 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.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#include "TurbulenceFSAssetParams_1p5.h"
+#include <string.h>
+#include <stdlib.h>
+
+using namespace NvParameterized;
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+using namespace TurbulenceFSAssetParams_1p5NS;
+
+const char* const TurbulenceFSAssetParams_1p5Factory::vptr =
+ NvParameterized::getVptr<TurbulenceFSAssetParams_1p5, TurbulenceFSAssetParams_1p5::ClassAlignment>();
+
+const uint32_t NumParamDefs = 62;
+static NvParameterized::DefinitionImpl* ParamDefTable; // now allocated in buildTree [NumParamDefs];
+
+
+static const size_t ParamLookupChildrenTable[] =
+{
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
+ 24, 25, 26, 27, 32, 33, 37, 38, 43, 44, 45, 46, 47, 61, 28, 29, 30, 31, 34, 35, 36,
+ 39, 40, 41, 42, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
+};
+
+#define TENUM(type) nvidia::##type
+#define CHILDREN(index) &ParamLookupChildrenTable[index]
+static const NvParameterized::ParamLookupNode ParamLookupTable[NumParamDefs] =
+{
+ { TYPE_STRUCT, false, 0, CHILDREN(0), 37 },
+ { TYPE_ENUM, false, (size_t)(&((ParametersStruct*)0)->gridXSize), NULL, 0 }, // gridXSize
+ { TYPE_ENUM, false, (size_t)(&((ParametersStruct*)0)->gridYSize), NULL, 0 }, // gridYSize
+ { TYPE_ENUM, false, (size_t)(&((ParametersStruct*)0)->gridZSize), NULL, 0 }, // gridZSize
+ { TYPE_VEC3, false, (size_t)(&((ParametersStruct*)0)->gridSizeWorld), NULL, 0 }, // gridSizeWorld
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->updatesPerFrame), NULL, 0 }, // updatesPerFrame
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->angularVelocityMultiplier), NULL, 0 }, // angularVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->angularVelocityClamp), NULL, 0 }, // angularVelocityClamp
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->linearVelocityMultiplier), NULL, 0 }, // linearVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->linearVelocityClamp), NULL, 0 }, // linearVelocityClamp
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->velocityFieldFadeTime), NULL, 0 }, // velocityFieldFadeTime
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->velocityFieldFadeDelay), NULL, 0 }, // velocityFieldFadeDelay
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->velocityFieldFadeIntensity), NULL, 0 }, // velocityFieldFadeIntensity
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->boundaryFadePercentage), NULL, 0 }, // boundaryFadePercentage
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->boundarySizePercentage), NULL, 0 }, // boundarySizePercentage
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->collisionFilterDataName), NULL, 0 }, // collisionFilterDataName
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->fieldBoundaryFilterDataName), NULL, 0 }, // fieldBoundaryFilterDataName
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->fieldSamplerFilterDataName), NULL, 0 }, // fieldSamplerFilterDataName
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->maxCollidingObjects), NULL, 0 }, // maxCollidingObjects
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->maxVelocitySources), NULL, 0 }, // maxVelocitySources
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->maxHeatSources), NULL, 0 }, // maxHeatSources
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->maxSubstanceSources), NULL, 0 }, // maxSubstanceSources
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->dragCoeff), NULL, 0 }, // dragCoeff
+ { TYPE_VEC3, false, (size_t)(&((ParametersStruct*)0)->externalVelocity), NULL, 0 }, // externalVelocity
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fieldVelocityMultiplier), NULL, 0 }, // fieldVelocityMultiplier
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fieldVelocityWeight), NULL, 0 }, // fieldVelocityWeight
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->useHeat), NULL, 0 }, // useHeat
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->heatParams), CHILDREN(37), 4 }, // heatParams
+ { TYPE_F32, false, (size_t)(&((HeatParams_Type*)0)->temperatureBasedForceMultiplier), NULL, 0 }, // heatParams.temperatureBasedForceMultiplier
+ { TYPE_F32, false, (size_t)(&((HeatParams_Type*)0)->ambientTemperature), NULL, 0 }, // heatParams.ambientTemperature
+ { TYPE_VEC3, false, (size_t)(&((HeatParams_Type*)0)->heatForceDirection), NULL, 0 }, // heatParams.heatForceDirection
+ { TYPE_F32, false, (size_t)(&((HeatParams_Type*)0)->thermalConductivity), NULL, 0 }, // heatParams.thermalConductivity
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->useDensity), NULL, 0 }, // useDensity
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->densityParams), CHILDREN(41), 3 }, // densityParams
+ { TYPE_F32, false, (size_t)(&((DensityParams_Type*)0)->diffusionCoef), NULL, 0 }, // densityParams.diffusionCoef
+ { TYPE_F32, false, (size_t)(&((DensityParams_Type*)0)->densityFieldFade), NULL, 0 }, // densityParams.densityFieldFade
+ { TYPE_U32, false, (size_t)(&((DensityParams_Type*)0)->densityGridMultiplier), NULL, 0 }, // densityParams.densityGridMultiplier
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->isEnabledOptimizedLOD), NULL, 0 }, // isEnabledOptimizedLOD
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->noiseParams), CHILDREN(44), 4 }, // noiseParams
+ { TYPE_F32, false, (size_t)(&((NoiseParams_Type*)0)->noiseStrength), NULL, 0 }, // noiseParams.noiseStrength
+ { TYPE_VEC3, false, (size_t)(&((NoiseParams_Type*)0)->noiseSpacePeriod), NULL, 0 }, // noiseParams.noiseSpacePeriod
+ { TYPE_F32, false, (size_t)(&((NoiseParams_Type*)0)->noiseTimePeriod), NULL, 0 }, // noiseParams.noiseTimePeriod
+ { TYPE_U32, false, (size_t)(&((NoiseParams_Type*)0)->noiseOctaves), NULL, 0 }, // noiseParams.noiseOctaves
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->dragCoeffForRigidBody), NULL, 0 }, // dragCoeffForRigidBody
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->fluidViscosity), NULL, 0 }, // fluidViscosity
+ { TYPE_REF, false, (size_t)(&((ParametersStruct*)0)->volumeRenderMaterialName), NULL, 0 }, // volumeRenderMaterialName
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->useFlame), NULL, 0 }, // useFlame
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->flameParams), CHILDREN(48), 13 }, // flameParams
+ { TYPE_F32, false, (size_t)(&((FlameParams_Type*)0)->IgnitionTemp), NULL, 0 }, // flameParams.IgnitionTemp
+ { TYPE_F32, false, (size_t)(&((FlameParams_Type*)0)->MaxIgnitionTemp), NULL, 0 }, // flameParams.MaxIgnitionTemp
+ { TYPE_F32, false, (size_t)(&((FlameParams_Type*)0)->ReactionSpeed), NULL, 0 }, // flameParams.ReactionSpeed
+ { TYPE_F32, false, (size_t)(&((FlameParams_Type*)0)->HeatReleased), NULL, 0 }, // flameParams.HeatReleased
+ { TYPE_F32, false, (size_t)(&((FlameParams_Type*)0)->DensityEmission), NULL, 0 }, // flameParams.DensityEmission
+ { TYPE_F32, false, (size_t)(&((FlameParams_Type*)0)->FuelInefficiency), NULL, 0 }, // flameParams.FuelInefficiency
+ { TYPE_F32, false, (size_t)(&((FlameParams_Type*)0)->Expansion), NULL, 0 }, // flameParams.Expansion
+ { TYPE_F32, false, (size_t)(&((FlameParams_Type*)0)->Cooling), NULL, 0 }, // flameParams.Cooling
+ { TYPE_F32, false, (size_t)(&((FlameParams_Type*)0)->Buoyancy), NULL, 0 }, // flameParams.Buoyancy
+ { TYPE_VEC3, false, (size_t)(&((FlameParams_Type*)0)->BuoyancyUpVector), NULL, 0 }, // flameParams.BuoyancyUpVector
+ { TYPE_F32, false, (size_t)(&((FlameParams_Type*)0)->RoomTemperature), NULL, 0 }, // flameParams.RoomTemperature
+ { TYPE_VEC4, false, (size_t)(&((FlameParams_Type*)0)->Dissipation), NULL, 0 }, // flameParams.Dissipation
+ { TYPE_U32, false, (size_t)(&((FlameParams_Type*)0)->ResolutionMultiplier), NULL, 0 }, // flameParams.ResolutionMultiplier
+ { TYPE_ENUM, false, (size_t)(&((ParametersStruct*)0)->solverAccuracy), NULL, 0 }, // solverAccuracy
+};
+
+
+bool TurbulenceFSAssetParams_1p5::mBuiltFlag = false;
+NvParameterized::MutexType TurbulenceFSAssetParams_1p5::mBuiltFlagMutex;
+
+TurbulenceFSAssetParams_1p5::TurbulenceFSAssetParams_1p5(NvParameterized::Traits* traits, void* buf, int32_t* refCount) :
+ NvParameters(traits, buf, refCount)
+{
+ //mParameterizedTraits->registerFactory(className(), &TurbulenceFSAssetParams_1p5FactoryInst);
+
+ if (!buf) //Do not init data if it is inplace-deserialized
+ {
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+ initDefaults();
+ }
+}
+
+TurbulenceFSAssetParams_1p5::~TurbulenceFSAssetParams_1p5()
+{
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+}
+
+void TurbulenceFSAssetParams_1p5::destroy()
+{
+ // We cache these fields here to avoid overwrite in destructor
+ bool doDeallocateSelf = mDoDeallocateSelf;
+ NvParameterized::Traits* traits = mParameterizedTraits;
+ int32_t* refCount = mRefCount;
+ void* buf = mBuffer;
+
+ this->~TurbulenceFSAssetParams_1p5();
+
+ NvParameters::destroy(this, traits, doDeallocateSelf, refCount, buf);
+}
+
+const NvParameterized::DefinitionImpl* TurbulenceFSAssetParams_1p5::getParameterDefinitionTree(void)
+{
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+const NvParameterized::DefinitionImpl* TurbulenceFSAssetParams_1p5::getParameterDefinitionTree(void) const
+{
+ TurbulenceFSAssetParams_1p5* tmpParam = const_cast<TurbulenceFSAssetParams_1p5*>(this);
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ tmpParam->buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+NvParameterized::ErrorType TurbulenceFSAssetParams_1p5::getParameterHandle(const char* long_name, Handle& handle) const
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+NvParameterized::ErrorType TurbulenceFSAssetParams_1p5::getParameterHandle(const char* long_name, Handle& handle)
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+void TurbulenceFSAssetParams_1p5::getVarPtr(const Handle& handle, void*& ptr, size_t& offset) const
+{
+ ptr = getVarPtrHelper(&ParamLookupTable[0], const_cast<TurbulenceFSAssetParams_1p5::ParametersStruct*>(&parameters()), handle, offset);
+}
+
+
+/* Dynamic Handle Indices */
+
+void TurbulenceFSAssetParams_1p5::freeParameterDefinitionTable(NvParameterized::Traits* traits)
+{
+ if (!traits)
+ {
+ return;
+ }
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ return;
+ }
+
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+
+ if (!mBuiltFlag)
+ {
+ return;
+ }
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ ParamDefTable[i].~DefinitionImpl();
+ }
+
+ traits->free(ParamDefTable);
+
+ mBuiltFlag = false;
+}
+
+#define PDEF_PTR(index) (&ParamDefTable[index])
+
+void TurbulenceFSAssetParams_1p5::buildTree(void)
+{
+
+ uint32_t allocSize = sizeof(NvParameterized::DefinitionImpl) * NumParamDefs;
+ ParamDefTable = (NvParameterized::DefinitionImpl*)(mParameterizedTraits->alloc(allocSize));
+ memset(ParamDefTable, 0, allocSize);
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ NV_PARAM_PLACEMENT_NEW(ParamDefTable + i, NvParameterized::DefinitionImpl)(*mParameterizedTraits);
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=0, longName=""
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[0];
+ ParamDef->init("", TYPE_STRUCT, "STRUCT", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Contains the asset properties for this Turbulence field sampler.", true);
+ ParamDefTable[0].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=1, longName="gridXSize"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[1];
+ ParamDef->init("gridXSize", TYPE_ENUM, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of grid cells in X dimension.", true);
+ ParamDefTable[1].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[1].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=2, longName="gridYSize"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[2];
+ ParamDef->init("gridYSize", TYPE_ENUM, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of grid cells in Y dimension.", true);
+ ParamDefTable[2].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[2].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=3, longName="gridZSize"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[3];
+ ParamDef->init("gridZSize", TYPE_ENUM, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of grid cells in Z dimension.", true);
+ ParamDefTable[3].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+ static const char* const EnumVals[] = { "EGR_12", "EGR_16", "EGR_24", "EGR_32", "EGR_48", "EGR_64", "EGR_96", "EGR_128" };
+ ParamDefTable[3].setEnumVals((const char**)EnumVals, 8);
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=4, longName="gridSizeWorld"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[4];
+ ParamDef->init("gridSizeWorld", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Size of the grid in world space.", true);
+ ParamDefTable[4].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=5, longName="updatesPerFrame"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[5];
+ ParamDef->init("updatesPerFrame", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[5].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "The number of updates per frame. See APEX documentation for limitations.", true);
+ ParamDefTable[5].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=6, longName="angularVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[6];
+ ParamDef->init("angularVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a multiplier for the angular velocity set by the user.", true);
+ ParamDefTable[6].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=7, longName="angularVelocityClamp"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[7];
+ ParamDef->init("angularVelocityClamp", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a clamp for the angular velocity set by the user.", true);
+ ParamDefTable[7].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=8, longName="linearVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[8];
+ ParamDef->init("linearVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a multiplier for the linear velocity set by the user.", true);
+ ParamDefTable[8].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=9, longName="linearVelocityClamp"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[9];
+ ParamDef->init("linearVelocityClamp", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "a clamp for the linear velocity set by the user.", true);
+ ParamDefTable[9].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=10, longName="velocityFieldFadeTime"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[10];
+ ParamDef->init("velocityFieldFadeTime", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1000), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[10].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1000), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Time of velocity field cleaning process [sec]. Cleaning disabled by default.", true);
+ ParamDefTable[10].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=11, longName="velocityFieldFadeDelay"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[11];
+ ParamDef->init("velocityFieldFadeDelay", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1000), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[11].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1000), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Time without activity before velocity field cleaning process starts [sec]. ", true);
+ ParamDefTable[11].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=12, longName="velocityFieldFadeIntensity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[12];
+ ParamDef->init("velocityFieldFadeIntensity", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", double(0.01), true);
+ ParamDefTable[12].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", double(0.01), true);
+ HintTable[2].init("shortDescription", "This parameter sets how much each velocity vector should be damped, so (1 - velocityFieldFadeIntensity) of original velocity vector magnitude will be left after the fade process finishes.", true);
+ ParamDefTable[12].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=13, longName="boundaryFadePercentage"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[13];
+ ParamDef->init("boundaryFadePercentage", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[13].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Percentage of distance from boundary to center where fade out starts.", true);
+ ParamDefTable[13].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=14, longName="boundarySizePercentage"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[14];
+ ParamDef->init("boundarySizePercentage", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[14].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Boundary size as the percentage of grid size.", true);
+ ParamDefTable[14].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=15, longName="collisionFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[15];
+ ParamDef->init("collisionFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("HIDDEN", uint64_t(1), true);
+ ParamDefTable[15].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("HIDDEN", uint64_t(1), true);
+ HintTable[1].init("shortDescription", "The filter data (group/groupsMask) name for TurbulenceFS vs PhysX interaction.", true);
+ ParamDefTable[15].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=16, longName="fieldBoundaryFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[16];
+ ParamDef->init("fieldBoundaryFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("HIDDEN", uint64_t(1), true);
+ ParamDefTable[16].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("HIDDEN", uint64_t(1), true);
+ HintTable[1].init("shortDescription", "The filter data name for TurbulenceFS vs Field Boundaries interaction.", true);
+ ParamDefTable[16].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=17, longName="fieldSamplerFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[17];
+ ParamDef->init("fieldSamplerFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The filter data name for TurbulenceFS vs other Field Samplers interaction.", true);
+ ParamDefTable[17].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=18, longName="maxCollidingObjects"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[18];
+ ParamDef->init("maxCollidingObjects", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The maximum number of colliding objects.", true);
+ ParamDefTable[18].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=19, longName="maxVelocitySources"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[19];
+ ParamDef->init("maxVelocitySources", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The maximum number of velocity source.", true);
+ ParamDefTable[19].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=20, longName="maxHeatSources"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[20];
+ ParamDef->init("maxHeatSources", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The maximum number of heat source.", true);
+ ParamDefTable[20].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=21, longName="maxSubstanceSources"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[21];
+ ParamDef->init("maxSubstanceSources", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The maximum number of substance source (computed if density enabled).", true);
+ ParamDefTable[21].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=22, longName="dragCoeff"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[22];
+ ParamDef->init("dragCoeff", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Coefficient for deriving drag force from velocity (if equals to zero, direct grid velocity is used).", true);
+ ParamDefTable[22].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=23, longName="externalVelocity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[23];
+ ParamDef->init("externalVelocity", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Adds a single directional velocity to the grid.", true);
+ ParamDefTable[23].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=24, longName="fieldVelocityMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[24];
+ ParamDef->init("fieldVelocityMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "A multiplier for the field velocity.", true);
+ ParamDefTable[24].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=25, longName="fieldVelocityWeight"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[25];
+ ParamDef->init("fieldVelocityWeight", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[25].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "The effect of the field velocity on objects. A value of 1 causes objects to only be affected by the grid, a value of 0 allows objects to be controlled by other field samplers.", true);
+ ParamDefTable[25].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=26, longName="useHeat"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[26];
+ ParamDef->init("useHeat", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Enable whether or not to use heat in the simulation.", true);
+ ParamDefTable[26].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=27, longName="heatParams"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[27];
+ ParamDef->init("heatParams", TYPE_STRUCT, "HeatParams", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=28, longName="heatParams.temperatureBasedForceMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[28];
+ ParamDef->init("temperatureBasedForceMultiplier", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Multiplier for force induced by heat source.", true);
+ ParamDefTable[28].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=29, longName="heatParams.ambientTemperature"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[29];
+ ParamDef->init("ambientTemperature", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Environment temperature.", true);
+ ParamDefTable[29].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=30, longName="heatParams.heatForceDirection"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[30];
+ ParamDef->init("heatForceDirection", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Direction of the force induced by heat source.", true);
+ ParamDefTable[30].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=31, longName="heatParams.thermalConductivity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[31];
+ ParamDef->init("thermalConductivity", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Thermal conductivity. Default value is set for air.", true);
+ ParamDefTable[31].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=32, longName="useDensity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[32];
+ ParamDef->init("useDensity", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Enable whether or not to use density in the simulation.", true);
+ ParamDefTable[32].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=33, longName="densityParams"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[33];
+ ParamDef->init("densityParams", TYPE_STRUCT, "DensityParams", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=34, longName="densityParams.diffusionCoef"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[34];
+ ParamDef->init("diffusionCoef", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Diffusion coefficient for density (analog for viscosity in velocity equation.", true);
+ ParamDefTable[34].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=35, longName="densityParams.densityFieldFade"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[35];
+ ParamDef->init("densityFieldFade", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ ParamDefTable[35].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(1), true);
+ HintTable[1].init("min", uint64_t(0), true);
+ HintTable[2].init("shortDescription", "Each cell in density field are multiplied by (1 - densityFieldFade) every frame.", true);
+ ParamDefTable[35].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=36, longName="densityParams.densityGridMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[36];
+ ParamDef->init("densityGridMultiplier", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("min", uint64_t(1), true);
+ ParamDefTable[36].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("min", uint64_t(1), true);
+ HintTable[1].init("shortDescription", "Density grid resolution multiplier.", true);
+ ParamDefTable[36].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=37, longName="isEnabledOptimizedLOD"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[37];
+ ParamDef->init("isEnabledOptimizedLOD", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Enable more aggressive LOD.", true);
+ ParamDefTable[37].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=38, longName="noiseParams"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[38];
+ ParamDef->init("noiseParams", TYPE_STRUCT, "NoiseParams", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=39, longName="noiseParams.noiseStrength"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[39];
+ ParamDef->init("noiseStrength", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The strength of the noise added to the simulation.", true);
+ ParamDefTable[39].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=40, longName="noiseParams.noiseSpacePeriod"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[40];
+ ParamDef->init("noiseSpacePeriod", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Noise period in space.", true);
+ ParamDefTable[40].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=41, longName="noiseParams.noiseTimePeriod"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[41];
+ ParamDef->init("noiseTimePeriod", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Noise time period.", true);
+ ParamDefTable[41].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=42, longName="noiseParams.noiseOctaves"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[42];
+ ParamDef->init("noiseOctaves", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Number of the noise octaves (more octaves give more turbulent noise, but increase computational time).", true);
+ ParamDefTable[42].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=43, longName="dragCoeffForRigidBody"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[43];
+ ParamDef->init("dragCoeffForRigidBody", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "It is not true drag coef just mixing coefficient for slip and no-slip boundary condition. If set to zero supposed slip boundary condition on rigid bodies. If set to 1 supposed no-slip boundary condition else mixed (partly slip)", true);
+ ParamDefTable[43].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=44, longName="fluidViscosity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[44];
+ ParamDef->init("fluidViscosity", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Viscosity is the coefficient for velocity diffusion. If 0. there is no diffusion.", true);
+ ParamDefTable[44].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=45, longName="volumeRenderMaterialName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[45];
+ ParamDef->init("volumeRenderMaterialName", TYPE_REF, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The optional volume render material name", true);
+ ParamDefTable[45].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+ static const char* const RefVariantVals[] = { "ApexVolumeRenderMaterials" };
+ ParamDefTable[45].setRefVariantVals((const char**)RefVariantVals, 1);
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=46, longName="useFlame"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[46];
+ ParamDef->init("useFlame", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Enable whether or not to use flame in the simulation.", true);
+ ParamDefTable[46].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=47, longName="flameParams"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[47];
+ ParamDef->init("flameParams", TYPE_STRUCT, "FlameParams", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=48, longName="flameParams.IgnitionTemp"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[48];
+ ParamDef->init("IgnitionTemp", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("tweakable", uint64_t(1), true);
+ ParamDefTable[48].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("shortDescription", "Temperature at which ignition occurs.", true);
+ HintTable[1].init("tweakable", uint64_t(1), true);
+ ParamDefTable[48].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=49, longName="flameParams.MaxIgnitionTemp"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[49];
+ ParamDef->init("MaxIgnitionTemp", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("tweakable", uint64_t(1), true);
+ ParamDefTable[49].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("shortDescription", "Maximum temperature at which ignition occurs.", true);
+ HintTable[1].init("tweakable", uint64_t(1), true);
+ ParamDefTable[49].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=50, longName="flameParams.ReactionSpeed"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[50];
+ ParamDef->init("ReactionSpeed", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("tweakable", uint64_t(1), true);
+ ParamDefTable[50].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("shortDescription", "Speed at which reaction occurs. Higher reaction speeds generate more heat and also consume fuel more quickly.", true);
+ HintTable[1].init("tweakable", uint64_t(1), true);
+ ParamDefTable[50].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=51, longName="flameParams.HeatReleased"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[51];
+ ParamDef->init("HeatReleased", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("tweakable", uint64_t(1), true);
+ ParamDefTable[51].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("shortDescription", "Amount of temperature released during reaction.", true);
+ HintTable[1].init("tweakable", uint64_t(1), true);
+ ParamDefTable[51].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=52, longName="flameParams.DensityEmission"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[52];
+ ParamDef->init("DensityEmission", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("tweakable", uint64_t(1), true);
+ ParamDefTable[52].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("shortDescription", "Amount of density (smoke) created during reaction", true);
+ HintTable[1].init("tweakable", uint64_t(1), true);
+ ParamDefTable[52].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=53, longName="flameParams.FuelInefficiency"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[53];
+ ParamDef->init("FuelInefficiency", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", double(1.0), true);
+ HintTable[1].init("min", double(0.0), true);
+ HintTable[2].init("tweakable", uint64_t(1), true);
+ ParamDefTable[53].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#else
+
+ static HintImpl HintTable[4];
+ static Hint* HintPtrTable[4] = { &HintTable[0], &HintTable[1], &HintTable[2], &HintTable[3], };
+ HintTable[0].init("max", double(1.0), true);
+ HintTable[1].init("min", double(0.0), true);
+ HintTable[2].init("shortDescription", " Controls how much of the burned fuel is actually not burned [0, 1]", true);
+ HintTable[3].init("tweakable", uint64_t(1), true);
+ ParamDefTable[53].setHints((const NvParameterized::Hint**)HintPtrTable, 4);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=54, longName="flameParams.Expansion"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[54];
+ ParamDef->init("Expansion", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("tweakable", uint64_t(1), true);
+ ParamDefTable[54].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("shortDescription", "Amount of expansion generated by reaction.", true);
+ HintTable[1].init("tweakable", uint64_t(1), true);
+ ParamDefTable[54].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=55, longName="flameParams.Cooling"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[55];
+ ParamDef->init("Cooling", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("tweakable", uint64_t(1), true);
+ ParamDefTable[55].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("shortDescription", "Exponential cooling amount", true);
+ HintTable[1].init("tweakable", uint64_t(1), true);
+ ParamDefTable[55].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=56, longName="flameParams.Buoyancy"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[56];
+ ParamDef->init("Buoyancy", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("tweakable", uint64_t(1), true);
+ ParamDefTable[56].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("shortDescription", "Buoyancy strength. If temperature is above room temperature, upwards force is generated.", true);
+ HintTable[1].init("tweakable", uint64_t(1), true);
+ ParamDefTable[56].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=57, longName="flameParams.BuoyancyUpVector"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[57];
+ ParamDef->init("BuoyancyUpVector", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("tweakable", uint64_t(1), true);
+ ParamDefTable[57].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("shortDescription", "Direction that buoyancy acts in (opposite gravity)", true);
+ HintTable[1].init("tweakable", uint64_t(1), true);
+ ParamDefTable[57].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=58, longName="flameParams.RoomTemperature"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[58];
+ ParamDef->init("RoomTemperature", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("tweakable", uint64_t(1), true);
+ ParamDefTable[58].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("shortDescription", "Room temperature. Affects buoyancy.", true);
+ HintTable[1].init("tweakable", uint64_t(1), true);
+ ParamDefTable[58].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=59, longName="flameParams.Dissipation"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[59];
+ ParamDef->init("Dissipation", TYPE_VEC4, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("tweakable", uint64_t(1), true);
+ ParamDefTable[59].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("shortDescription", "Amount to dissipate each channel of flame per simulation frame. This is corrected for the timestep.", true);
+ HintTable[1].init("tweakable", uint64_t(1), true);
+ ParamDefTable[59].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=60, longName="flameParams.ResolutionMultiplier"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[60];
+ ParamDef->init("ResolutionMultiplier", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("max", uint64_t(16), true);
+ HintTable[1].init("min", uint64_t(1), true);
+ ParamDefTable[60].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("max", uint64_t(16), true);
+ HintTable[1].init("min", uint64_t(1), true);
+ HintTable[2].init("shortDescription", "The flame resolution multiplier", true);
+ ParamDefTable[60].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=61, longName="solverAccuracy"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[61];
+ ParamDef->init("solverAccuracy", TYPE_ENUM, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Solver accuracy. Use FAST mode to improve performance, but be aware that it could lead to less accurate and stable simulation!", true);
+ ParamDefTable[61].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+ static const char* const EnumVals[] = { "NORMAL", "FAST" };
+ ParamDefTable[61].setEnumVals((const char**)EnumVals, 2);
+
+
+
+
+ }
+
+ // SetChildren for: nodeIndex=0, longName=""
+ {
+ static Definition* Children[37];
+ Children[0] = PDEF_PTR(1);
+ Children[1] = PDEF_PTR(2);
+ Children[2] = PDEF_PTR(3);
+ Children[3] = PDEF_PTR(4);
+ Children[4] = PDEF_PTR(5);
+ Children[5] = PDEF_PTR(6);
+ Children[6] = PDEF_PTR(7);
+ Children[7] = PDEF_PTR(8);
+ Children[8] = PDEF_PTR(9);
+ Children[9] = PDEF_PTR(10);
+ Children[10] = PDEF_PTR(11);
+ Children[11] = PDEF_PTR(12);
+ Children[12] = PDEF_PTR(13);
+ Children[13] = PDEF_PTR(14);
+ Children[14] = PDEF_PTR(15);
+ Children[15] = PDEF_PTR(16);
+ Children[16] = PDEF_PTR(17);
+ Children[17] = PDEF_PTR(18);
+ Children[18] = PDEF_PTR(19);
+ Children[19] = PDEF_PTR(20);
+ Children[20] = PDEF_PTR(21);
+ Children[21] = PDEF_PTR(22);
+ Children[22] = PDEF_PTR(23);
+ Children[23] = PDEF_PTR(24);
+ Children[24] = PDEF_PTR(25);
+ Children[25] = PDEF_PTR(26);
+ Children[26] = PDEF_PTR(27);
+ Children[27] = PDEF_PTR(32);
+ Children[28] = PDEF_PTR(33);
+ Children[29] = PDEF_PTR(37);
+ Children[30] = PDEF_PTR(38);
+ Children[31] = PDEF_PTR(43);
+ Children[32] = PDEF_PTR(44);
+ Children[33] = PDEF_PTR(45);
+ Children[34] = PDEF_PTR(46);
+ Children[35] = PDEF_PTR(47);
+ Children[36] = PDEF_PTR(61);
+
+ ParamDefTable[0].setChildren(Children, 37);
+ }
+
+ // SetChildren for: nodeIndex=27, longName="heatParams"
+ {
+ static Definition* Children[4];
+ Children[0] = PDEF_PTR(28);
+ Children[1] = PDEF_PTR(29);
+ Children[2] = PDEF_PTR(30);
+ Children[3] = PDEF_PTR(31);
+
+ ParamDefTable[27].setChildren(Children, 4);
+ }
+
+ // SetChildren for: nodeIndex=33, longName="densityParams"
+ {
+ static Definition* Children[3];
+ Children[0] = PDEF_PTR(34);
+ Children[1] = PDEF_PTR(35);
+ Children[2] = PDEF_PTR(36);
+
+ ParamDefTable[33].setChildren(Children, 3);
+ }
+
+ // SetChildren for: nodeIndex=38, longName="noiseParams"
+ {
+ static Definition* Children[4];
+ Children[0] = PDEF_PTR(39);
+ Children[1] = PDEF_PTR(40);
+ Children[2] = PDEF_PTR(41);
+ Children[3] = PDEF_PTR(42);
+
+ ParamDefTable[38].setChildren(Children, 4);
+ }
+
+ // SetChildren for: nodeIndex=47, longName="flameParams"
+ {
+ static Definition* Children[13];
+ Children[0] = PDEF_PTR(48);
+ Children[1] = PDEF_PTR(49);
+ Children[2] = PDEF_PTR(50);
+ Children[3] = PDEF_PTR(51);
+ Children[4] = PDEF_PTR(52);
+ Children[5] = PDEF_PTR(53);
+ Children[6] = PDEF_PTR(54);
+ Children[7] = PDEF_PTR(55);
+ Children[8] = PDEF_PTR(56);
+ Children[9] = PDEF_PTR(57);
+ Children[10] = PDEF_PTR(58);
+ Children[11] = PDEF_PTR(59);
+ Children[12] = PDEF_PTR(60);
+
+ ParamDefTable[47].setChildren(Children, 13);
+ }
+
+ mBuiltFlag = true;
+
+}
+void TurbulenceFSAssetParams_1p5::initStrings(void)
+{
+ collisionFilterDataName.isAllocated = true;
+ collisionFilterDataName.buf = NULL;
+ fieldBoundaryFilterDataName.isAllocated = true;
+ fieldBoundaryFilterDataName.buf = NULL;
+ fieldSamplerFilterDataName.isAllocated = true;
+ fieldSamplerFilterDataName.buf = NULL;
+}
+
+void TurbulenceFSAssetParams_1p5::initDynamicArrays(void)
+{
+}
+
+void TurbulenceFSAssetParams_1p5::initDefaults(void)
+{
+
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+ gridXSize = (const char*)"EGR_16";
+ gridYSize = (const char*)"EGR_16";
+ gridZSize = (const char*)"EGR_16";
+ gridSizeWorld = physx::PxVec3(init(12, 12, 12));
+ updatesPerFrame = float(1);
+ angularVelocityMultiplier = float(1);
+ angularVelocityClamp = float(1000000);
+ linearVelocityMultiplier = float(1);
+ linearVelocityClamp = float(1000000);
+ velocityFieldFadeTime = float(0);
+ velocityFieldFadeDelay = float(2);
+ velocityFieldFadeIntensity = float(0.995);
+ boundaryFadePercentage = float(0.1);
+ boundarySizePercentage = float(1);
+ maxCollidingObjects = uint32_t(32);
+ maxVelocitySources = uint32_t(8);
+ maxHeatSources = uint32_t(8);
+ maxSubstanceSources = uint32_t(8);
+ dragCoeff = float(0);
+ externalVelocity = physx::PxVec3(init(0.0, 0.0, 0.0));
+ fieldVelocityMultiplier = float(1);
+ fieldVelocityWeight = float(1);
+ useHeat = bool(false);
+ heatParams.temperatureBasedForceMultiplier = float(0.02);
+ heatParams.ambientTemperature = float(0);
+ heatParams.heatForceDirection = physx::PxVec3(init(0.0, 1.0, 0.0));
+ heatParams.thermalConductivity = float(0.025);
+ useDensity = bool(false);
+ densityParams.diffusionCoef = float(0);
+ densityParams.densityFieldFade = float(0);
+ densityParams.densityGridMultiplier = uint32_t(1);
+ isEnabledOptimizedLOD = bool(false);
+ noiseParams.noiseStrength = float(0);
+ noiseParams.noiseSpacePeriod = physx::PxVec3(init(1.0, 1.0, 1.0));
+ noiseParams.noiseTimePeriod = float(1);
+ noiseParams.noiseOctaves = uint32_t(1);
+ dragCoeffForRigidBody = float(0);
+ fluidViscosity = float(0);
+ useFlame = bool(false);
+ flameParams.IgnitionTemp = float(0.0);
+ flameParams.MaxIgnitionTemp = float(1.0);
+ flameParams.ReactionSpeed = float(0.2);
+ flameParams.HeatReleased = float(0.5);
+ flameParams.DensityEmission = float(0.0);
+ flameParams.FuelInefficiency = float(0.0);
+ flameParams.Expansion = float(0.5);
+ flameParams.Cooling = float(0.0);
+ flameParams.Buoyancy = float(0.2);
+ flameParams.BuoyancyUpVector = physx::PxVec3(init(0.0,0.0,0.0));
+ flameParams.RoomTemperature = float(0.0);
+ flameParams.Dissipation = physx::PxVec4(initVec4(0.1,0.1,0.1,0.1));
+ flameParams.ResolutionMultiplier = uint32_t(1);
+ solverAccuracy = (const char*)"NORMAL";
+
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+}
+
+void TurbulenceFSAssetParams_1p5::initReferences(void)
+{
+ volumeRenderMaterialName = NULL;
+
+}
+
+void TurbulenceFSAssetParams_1p5::freeDynamicArrays(void)
+{
+}
+
+void TurbulenceFSAssetParams_1p5::freeStrings(void)
+{
+
+ if (collisionFilterDataName.isAllocated && collisionFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)collisionFilterDataName.buf);
+ }
+
+ if (fieldBoundaryFilterDataName.isAllocated && fieldBoundaryFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)fieldBoundaryFilterDataName.buf);
+ }
+
+ if (fieldSamplerFilterDataName.isAllocated && fieldSamplerFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)fieldSamplerFilterDataName.buf);
+ }
+}
+
+void TurbulenceFSAssetParams_1p5::freeReferences(void)
+{
+ if (volumeRenderMaterialName)
+ {
+ volumeRenderMaterialName->destroy();
+ }
+
+}
+
+} // namespace parameterized
+} // namespace nvidia
diff --git a/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSDebugRenderParams_0p0.cpp b/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSDebugRenderParams_0p0.cpp
new file mode 100644
index 00000000..f735a1b7
--- /dev/null
+++ b/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSDebugRenderParams_0p0.cpp
@@ -0,0 +1,1021 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and 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.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#include "TurbulenceFSDebugRenderParams_0p0.h"
+#include <string.h>
+#include <stdlib.h>
+
+using namespace NvParameterized;
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+using namespace TurbulenceFSDebugRenderParams_0p0NS;
+
+const char* const TurbulenceFSDebugRenderParams_0p0Factory::vptr =
+ NvParameterized::getVptr<TurbulenceFSDebugRenderParams_0p0, TurbulenceFSDebugRenderParams_0p0::ClassAlignment>();
+
+const uint32_t NumParamDefs = 30;
+static NvParameterized::DefinitionImpl* ParamDefTable; // now allocated in buildTree [NumParamDefs];
+
+
+static const size_t ParamLookupChildrenTable[] =
+{
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 22, 23, 26, 27, 28,
+ 29, 19, 20, 21, 24, 25,
+};
+
+#define TENUM(type) nvidia::##type
+#define CHILDREN(index) &ParamLookupChildrenTable[index]
+static const NvParameterized::ParamLookupNode ParamLookupTable[NumParamDefs] =
+{
+ { TYPE_STRUCT, false, 0, CHILDREN(0), 24 },
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->VISUALIZE_TURBULENCE_FS_ACTOR), NULL, 0 }, // VISUALIZE_TURBULENCE_FS_ACTOR
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->VISUALIZE_HEAT_SOURCE_ACTOR), NULL, 0 }, // VISUALIZE_HEAT_SOURCE_ACTOR
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->VISUALIZE_SUBSTANCE_SOURCE_ACTOR), NULL, 0 }, // VISUALIZE_SUBSTANCE_SOURCE_ACTOR
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->VISUALIZE_VELOCITY_SOURCE_ACTOR), NULL, 0 }, // VISUALIZE_VELOCITY_SOURCE_ACTOR
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->VISUALIZE_FLAME_EMITTER_ACTOR), NULL, 0 }, // VISUALIZE_FLAME_EMITTER_ACTOR
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->VISUALIZE_TURBULENCE_FS_VELOCITY), NULL, 0 }, // VISUALIZE_TURBULENCE_FS_VELOCITY
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->VISUALIZE_TURBULENCE_FS_BBOX), NULL, 0 }, // VISUALIZE_TURBULENCE_FS_BBOX
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->VISUALIZE_TURBULENCE_FS_ACTOR_NAME), NULL, 0 }, // VISUALIZE_TURBULENCE_FS_ACTOR_NAME
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->VISUALIZE_TURBULENCE_FS_VELOCITY_FIELD), NULL, 0 }, // VISUALIZE_TURBULENCE_FS_VELOCITY_FIELD
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->TURBULENCE_FS_VELOCITY_FIELD_SCALE), NULL, 0 }, // TURBULENCE_FS_VELOCITY_FIELD_SCALE
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->TURBULENCE_FS_VELOCITY_FIELD_SPACING), NULL, 0 }, // TURBULENCE_FS_VELOCITY_FIELD_SPACING
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->VISUALIZE_TURBULENCE_FS_TEMPERATURE_FIELD), NULL, 0 }, // VISUALIZE_TURBULENCE_FS_TEMPERATURE_FIELD
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->VISUALIZE_TURBULENCE_FS_PRESSURE_FIELD), NULL, 0 }, // VISUALIZE_TURBULENCE_FS_PRESSURE_FIELD
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->VISUALIZE_TURBULENCE_FS_DENSITY_FIELD), NULL, 0 }, // VISUALIZE_TURBULENCE_FS_DENSITY_FIELD
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->TURBULENCE_FS_SCALAR_FIELD_SCALE), NULL, 0 }, // TURBULENCE_FS_SCALAR_FIELD_SCALE
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->TURBULENCE_FS_SCALAR_FIELD_SPACING), NULL, 0 }, // TURBULENCE_FS_SCALAR_FIELD_SPACING
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->VISUALIZE_TURBULENCE_FS_STREAMLINES), NULL, 0 }, // VISUALIZE_TURBULENCE_FS_STREAMLINES
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->TURBULENCE_FS_STREAMLINES), CHILDREN(24), 3 }, // TURBULENCE_FS_STREAMLINES
+ { TYPE_F32, false, (size_t)(&((StreamlineParams_Type*)0)->tmax), NULL, 0 }, // TURBULENCE_FS_STREAMLINES.tmax
+ { TYPE_F32, false, (size_t)(&((StreamlineParams_Type*)0)->tstep), NULL, 0 }, // TURBULENCE_FS_STREAMLINES.tstep
+ { TYPE_VEC3, false, (size_t)(&((StreamlineParams_Type*)0)->grid), NULL, 0 }, // TURBULENCE_FS_STREAMLINES.grid
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->VISUALIZE_TURBULENCE_FS_PLANE), NULL, 0 }, // VISUALIZE_TURBULENCE_FS_PLANE
+ { TYPE_STRUCT, false, (size_t)(&((ParametersStruct*)0)->TURBULENCE_FS_PLANE), CHILDREN(27), 2 }, // TURBULENCE_FS_PLANE
+ { TYPE_VEC3, false, (size_t)(&((PlaneParams_Type*)0)->normal), NULL, 0 }, // TURBULENCE_FS_PLANE.normal
+ { TYPE_F32, false, (size_t)(&((PlaneParams_Type*)0)->offset), NULL, 0 }, // TURBULENCE_FS_PLANE.offset
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->VISUALIZE_TURBULENCE_FS_GRID), NULL, 0 }, // VISUALIZE_TURBULENCE_FS_GRID
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->VISUALIZE_TURBULENCE_FS_LOD), NULL, 0 }, // VISUALIZE_TURBULENCE_FS_LOD
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->VISUALIZE_TURBULENCE_FS_POSE), NULL, 0 }, // VISUALIZE_TURBULENCE_FS_POSE
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->TURBULENCE_FS_LOD), NULL, 0 }, // TURBULENCE_FS_LOD
+};
+
+
+bool TurbulenceFSDebugRenderParams_0p0::mBuiltFlag = false;
+NvParameterized::MutexType TurbulenceFSDebugRenderParams_0p0::mBuiltFlagMutex;
+
+TurbulenceFSDebugRenderParams_0p0::TurbulenceFSDebugRenderParams_0p0(NvParameterized::Traits* traits, void* buf, int32_t* refCount) :
+ NvParameters(traits, buf, refCount)
+{
+ //mParameterizedTraits->registerFactory(className(), &TurbulenceFSDebugRenderParams_0p0FactoryInst);
+
+ if (!buf) //Do not init data if it is inplace-deserialized
+ {
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+ initDefaults();
+ }
+}
+
+TurbulenceFSDebugRenderParams_0p0::~TurbulenceFSDebugRenderParams_0p0()
+{
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+}
+
+void TurbulenceFSDebugRenderParams_0p0::destroy()
+{
+ // We cache these fields here to avoid overwrite in destructor
+ bool doDeallocateSelf = mDoDeallocateSelf;
+ NvParameterized::Traits* traits = mParameterizedTraits;
+ int32_t* refCount = mRefCount;
+ void* buf = mBuffer;
+
+ this->~TurbulenceFSDebugRenderParams_0p0();
+
+ NvParameters::destroy(this, traits, doDeallocateSelf, refCount, buf);
+}
+
+const NvParameterized::DefinitionImpl* TurbulenceFSDebugRenderParams_0p0::getParameterDefinitionTree(void)
+{
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+const NvParameterized::DefinitionImpl* TurbulenceFSDebugRenderParams_0p0::getParameterDefinitionTree(void) const
+{
+ TurbulenceFSDebugRenderParams_0p0* tmpParam = const_cast<TurbulenceFSDebugRenderParams_0p0*>(this);
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ tmpParam->buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+NvParameterized::ErrorType TurbulenceFSDebugRenderParams_0p0::getParameterHandle(const char* long_name, Handle& handle) const
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+NvParameterized::ErrorType TurbulenceFSDebugRenderParams_0p0::getParameterHandle(const char* long_name, Handle& handle)
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+void TurbulenceFSDebugRenderParams_0p0::getVarPtr(const Handle& handle, void*& ptr, size_t& offset) const
+{
+ ptr = getVarPtrHelper(&ParamLookupTable[0], const_cast<TurbulenceFSDebugRenderParams_0p0::ParametersStruct*>(&parameters()), handle, offset);
+}
+
+
+/* Dynamic Handle Indices */
+
+void TurbulenceFSDebugRenderParams_0p0::freeParameterDefinitionTable(NvParameterized::Traits* traits)
+{
+ if (!traits)
+ {
+ return;
+ }
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ return;
+ }
+
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+
+ if (!mBuiltFlag)
+ {
+ return;
+ }
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ ParamDefTable[i].~DefinitionImpl();
+ }
+
+ traits->free(ParamDefTable);
+
+ mBuiltFlag = false;
+}
+
+#define PDEF_PTR(index) (&ParamDefTable[index])
+
+void TurbulenceFSDebugRenderParams_0p0::buildTree(void)
+{
+
+ uint32_t allocSize = sizeof(NvParameterized::DefinitionImpl) * NumParamDefs;
+ ParamDefTable = (NvParameterized::DefinitionImpl*)(mParameterizedTraits->alloc(allocSize));
+ memset(ParamDefTable, 0, allocSize);
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ NV_PARAM_PLACEMENT_NEW(ParamDefTable + i, NvParameterized::DefinitionImpl)(*mParameterizedTraits);
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=0, longName=""
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[0];
+ ParamDef->init("", TYPE_STRUCT, "STRUCT", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=1, longName="VISUALIZE_TURBULENCE_FS_ACTOR"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[1];
+ ParamDef->init("VISUALIZE_TURBULENCE_FS_ACTOR", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Enables/Disables visualization of all turbulence actors", true);
+ ParamDefTable[1].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=2, longName="VISUALIZE_HEAT_SOURCE_ACTOR"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[2];
+ ParamDef->init("VISUALIZE_HEAT_SOURCE_ACTOR", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Enables/Disables visualization of all heat source actors", true);
+ ParamDefTable[2].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=3, longName="VISUALIZE_SUBSTANCE_SOURCE_ACTOR"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[3];
+ ParamDef->init("VISUALIZE_SUBSTANCE_SOURCE_ACTOR", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Enables/Disables visualization of all heat source actors", true);
+ ParamDefTable[3].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=4, longName="VISUALIZE_VELOCITY_SOURCE_ACTOR"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[4];
+ ParamDef->init("VISUALIZE_VELOCITY_SOURCE_ACTOR", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Enables/Disables visualization of all velocity source actors", true);
+ ParamDefTable[4].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=5, longName="VISUALIZE_FLAME_EMITTER_ACTOR"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[5];
+ ParamDef->init("VISUALIZE_FLAME_EMITTER_ACTOR", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Enables/Disables visualization of all flame emitter actors", true);
+ ParamDefTable[5].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=6, longName="VISUALIZE_TURBULENCE_FS_VELOCITY"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[6];
+ ParamDef->init("VISUALIZE_TURBULENCE_FS_VELOCITY", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Draws a ray for the grid's velocity", true);
+ ParamDefTable[6].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=7, longName="VISUALIZE_TURBULENCE_FS_BBOX"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[7];
+ ParamDef->init("VISUALIZE_TURBULENCE_FS_BBOX", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Draw a bounding box for the turbulence grid", true);
+ ParamDefTable[7].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=8, longName="VISUALIZE_TURBULENCE_FS_ACTOR_NAME"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[8];
+ ParamDef->init("VISUALIZE_TURBULENCE_FS_ACTOR_NAME", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Displays the name of the turbulence actor", true);
+ ParamDefTable[8].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=9, longName="VISUALIZE_TURBULENCE_FS_VELOCITY_FIELD"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[9];
+ ParamDef->init("VISUALIZE_TURBULENCE_FS_VELOCITY_FIELD", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Draws shaded lines originating from the simulation grid centers and extending in the direction of the local velocity", true);
+ ParamDefTable[9].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=10, longName="TURBULENCE_FS_VELOCITY_FIELD_SCALE"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[10];
+ ParamDef->init("TURBULENCE_FS_VELOCITY_FIELD_SCALE", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Controls the size of the velocity vectors", true);
+ ParamDefTable[10].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=11, longName="TURBULENCE_FS_VELOCITY_FIELD_SPACING"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[11];
+ ParamDef->init("TURBULENCE_FS_VELOCITY_FIELD_SPACING", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Controls the grid spacing (density) of the velocity samples", true);
+ ParamDefTable[11].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=12, longName="VISUALIZE_TURBULENCE_FS_TEMPERATURE_FIELD"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[12];
+ ParamDef->init("VISUALIZE_TURBULENCE_FS_TEMPERATURE_FIELD", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Determine the temperature for visualization", true);
+ ParamDefTable[12].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=13, longName="VISUALIZE_TURBULENCE_FS_PRESSURE_FIELD"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[13];
+ ParamDef->init("VISUALIZE_TURBULENCE_FS_PRESSURE_FIELD", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Determine the pressure for visualization", true);
+ ParamDefTable[13].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=14, longName="VISUALIZE_TURBULENCE_FS_DENSITY_FIELD"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[14];
+ ParamDef->init("VISUALIZE_TURBULENCE_FS_DENSITY_FIELD", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Determine the density for visualization", true);
+ ParamDefTable[14].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=15, longName="TURBULENCE_FS_SCALAR_FIELD_SCALE"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[15];
+ ParamDef->init("TURBULENCE_FS_SCALAR_FIELD_SCALE", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Controls the size of debug spheres for scalar field", true);
+ ParamDefTable[15].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=16, longName="TURBULENCE_FS_SCALAR_FIELD_SPACING"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[16];
+ ParamDef->init("TURBULENCE_FS_SCALAR_FIELD_SPACING", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Controls the grid spacing (density) of scalar field samples", true);
+ ParamDefTable[16].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=17, longName="VISUALIZE_TURBULENCE_FS_STREAMLINES"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[17];
+ ParamDef->init("VISUALIZE_TURBULENCE_FS_STREAMLINES", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Draws the streamlines as white curved lines", true);
+ ParamDefTable[17].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=18, longName="TURBULENCE_FS_STREAMLINES"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[18];
+ ParamDef->init("TURBULENCE_FS_STREAMLINES", TYPE_STRUCT, "StreamlineParams", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "A structure with parameters for rendering the field streamlines", true);
+ ParamDefTable[18].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=19, longName="TURBULENCE_FS_STREAMLINES.tmax"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[19];
+ ParamDef->init("tmax", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Determines the number of points in each streamline, using the formula npoints = (int)(_tmax / _tstep)", true);
+ ParamDefTable[19].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=20, longName="TURBULENCE_FS_STREAMLINES.tstep"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[20];
+ ParamDef->init("tstep", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The step size for the number of points in the streamline", true);
+ ParamDefTable[20].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=21, longName="TURBULENCE_FS_STREAMLINES.grid"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[21];
+ ParamDef->init("grid", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Sets the number of stream lines in the x, y, and z dimension", true);
+ ParamDefTable[21].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=22, longName="VISUALIZE_TURBULENCE_FS_PLANE"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[22];
+ ParamDef->init("VISUALIZE_TURBULENCE_FS_PLANE", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Draws the intersecting plane in the field's bounding box", true);
+ ParamDefTable[22].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=23, longName="TURBULENCE_FS_PLANE"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[23];
+ ParamDef->init("TURBULENCE_FS_PLANE", TYPE_STRUCT, "PlaneParams", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "A structure with parameters for rendering the intersecting plane", true);
+ ParamDefTable[23].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=24, longName="TURBULENCE_FS_PLANE.normal"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[24];
+ ParamDef->init("normal", TYPE_VEC3, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Sets the normal for the plane", true);
+ ParamDefTable[24].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=25, longName="TURBULENCE_FS_PLANE.offset"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[25];
+ ParamDef->init("offset", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Sets the offset for the plane from the center of the grid", true);
+ ParamDefTable[25].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=26, longName="VISUALIZE_TURBULENCE_FS_GRID"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[26];
+ ParamDef->init("VISUALIZE_TURBULENCE_FS_GRID", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Draws the intersection of the simulation grid on the plane", true);
+ ParamDefTable[26].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=27, longName="VISUALIZE_TURBULENCE_FS_LOD"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[27];
+ ParamDef->init("VISUALIZE_TURBULENCE_FS_LOD", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Draws the LOD sphere", true);
+ ParamDefTable[27].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=28, longName="VISUALIZE_TURBULENCE_FS_POSE"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[28];
+ ParamDef->init("VISUALIZE_TURBULENCE_FS_POSE", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "For visualizing the position of the field itself. Draws arrows which represent axes. Blue arrow stands for Z axis, green - for Y and red - X.", true);
+ ParamDefTable[28].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=29, longName="TURBULENCE_FS_LOD"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[29];
+ ParamDef->init("TURBULENCE_FS_LOD", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Draws the LOD value for the turbulence simulation", true);
+ ParamDefTable[29].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // SetChildren for: nodeIndex=0, longName=""
+ {
+ static Definition* Children[24];
+ Children[0] = PDEF_PTR(1);
+ Children[1] = PDEF_PTR(2);
+ Children[2] = PDEF_PTR(3);
+ Children[3] = PDEF_PTR(4);
+ Children[4] = PDEF_PTR(5);
+ Children[5] = PDEF_PTR(6);
+ Children[6] = PDEF_PTR(7);
+ Children[7] = PDEF_PTR(8);
+ Children[8] = PDEF_PTR(9);
+ Children[9] = PDEF_PTR(10);
+ Children[10] = PDEF_PTR(11);
+ Children[11] = PDEF_PTR(12);
+ Children[12] = PDEF_PTR(13);
+ Children[13] = PDEF_PTR(14);
+ Children[14] = PDEF_PTR(15);
+ Children[15] = PDEF_PTR(16);
+ Children[16] = PDEF_PTR(17);
+ Children[17] = PDEF_PTR(18);
+ Children[18] = PDEF_PTR(22);
+ Children[19] = PDEF_PTR(23);
+ Children[20] = PDEF_PTR(26);
+ Children[21] = PDEF_PTR(27);
+ Children[22] = PDEF_PTR(28);
+ Children[23] = PDEF_PTR(29);
+
+ ParamDefTable[0].setChildren(Children, 24);
+ }
+
+ // SetChildren for: nodeIndex=18, longName="TURBULENCE_FS_STREAMLINES"
+ {
+ static Definition* Children[3];
+ Children[0] = PDEF_PTR(19);
+ Children[1] = PDEF_PTR(20);
+ Children[2] = PDEF_PTR(21);
+
+ ParamDefTable[18].setChildren(Children, 3);
+ }
+
+ // SetChildren for: nodeIndex=23, longName="TURBULENCE_FS_PLANE"
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(24);
+ Children[1] = PDEF_PTR(25);
+
+ ParamDefTable[23].setChildren(Children, 2);
+ }
+
+ mBuiltFlag = true;
+
+}
+void TurbulenceFSDebugRenderParams_0p0::initStrings(void)
+{
+}
+
+void TurbulenceFSDebugRenderParams_0p0::initDynamicArrays(void)
+{
+}
+
+void TurbulenceFSDebugRenderParams_0p0::initDefaults(void)
+{
+
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+ VISUALIZE_TURBULENCE_FS_ACTOR = bool(true);
+ VISUALIZE_HEAT_SOURCE_ACTOR = bool(false);
+ VISUALIZE_SUBSTANCE_SOURCE_ACTOR = bool(false);
+ VISUALIZE_VELOCITY_SOURCE_ACTOR = bool(false);
+ VISUALIZE_FLAME_EMITTER_ACTOR = bool(false);
+ VISUALIZE_TURBULENCE_FS_VELOCITY = bool(false);
+ VISUALIZE_TURBULENCE_FS_BBOX = bool(false);
+ VISUALIZE_TURBULENCE_FS_ACTOR_NAME = bool(false);
+ VISUALIZE_TURBULENCE_FS_VELOCITY_FIELD = bool(false);
+ TURBULENCE_FS_VELOCITY_FIELD_SCALE = float(1.0);
+ TURBULENCE_FS_VELOCITY_FIELD_SPACING = uint32_t(4);
+ VISUALIZE_TURBULENCE_FS_TEMPERATURE_FIELD = bool(false);
+ VISUALIZE_TURBULENCE_FS_PRESSURE_FIELD = bool(false);
+ VISUALIZE_TURBULENCE_FS_DENSITY_FIELD = bool(false);
+ TURBULENCE_FS_SCALAR_FIELD_SCALE = float(0.1);
+ TURBULENCE_FS_SCALAR_FIELD_SPACING = uint32_t(4);
+ VISUALIZE_TURBULENCE_FS_STREAMLINES = bool(false);
+ TURBULENCE_FS_STREAMLINES.tmax = float(5.0f);
+ TURBULENCE_FS_STREAMLINES.tstep = float(0.01f);
+ TURBULENCE_FS_STREAMLINES.grid = physx::PxVec3(3, 3, 3);
+ VISUALIZE_TURBULENCE_FS_PLANE = bool(false);
+ TURBULENCE_FS_PLANE.normal = physx::PxVec3(0.0f, 1.0f, 0.0f);
+ TURBULENCE_FS_PLANE.offset = float(0.0f);
+ VISUALIZE_TURBULENCE_FS_GRID = bool(false);
+ VISUALIZE_TURBULENCE_FS_LOD = bool(false);
+ VISUALIZE_TURBULENCE_FS_POSE = bool(false);
+ TURBULENCE_FS_LOD = float(0.0);
+
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+}
+
+void TurbulenceFSDebugRenderParams_0p0::initReferences(void)
+{
+}
+
+void TurbulenceFSDebugRenderParams_0p0::freeDynamicArrays(void)
+{
+}
+
+void TurbulenceFSDebugRenderParams_0p0::freeStrings(void)
+{
+}
+
+void TurbulenceFSDebugRenderParams_0p0::freeReferences(void)
+{
+}
+
+} // namespace parameterized
+} // namespace nvidia
diff --git a/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSModuleParameters_0p0.cpp b/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSModuleParameters_0p0.cpp
new file mode 100644
index 00000000..9eacbac3
--- /dev/null
+++ b/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSModuleParameters_0p0.cpp
@@ -0,0 +1,318 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and 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.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#include "TurbulenceFSModuleParameters_0p0.h"
+#include <string.h>
+#include <stdlib.h>
+
+using namespace NvParameterized;
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+using namespace TurbulenceFSModuleParameters_0p0NS;
+
+const char* const TurbulenceFSModuleParameters_0p0Factory::vptr =
+ NvParameterized::getVptr<TurbulenceFSModuleParameters_0p0, TurbulenceFSModuleParameters_0p0::ClassAlignment>();
+
+const uint32_t NumParamDefs = 2;
+static NvParameterized::DefinitionImpl* ParamDefTable; // now allocated in buildTree [NumParamDefs];
+
+
+static const size_t ParamLookupChildrenTable[] =
+{
+ 1,
+};
+
+#define TENUM(type) nvidia::##type
+#define CHILDREN(index) &ParamLookupChildrenTable[index]
+static const NvParameterized::ParamLookupNode ParamLookupTable[NumParamDefs] =
+{
+ { TYPE_STRUCT, false, 0, CHILDREN(0), 1 },
+ { TYPE_U32, false, (size_t)(&((ParametersStruct*)0)->unused), NULL, 0 }, // unused
+};
+
+
+bool TurbulenceFSModuleParameters_0p0::mBuiltFlag = false;
+NvParameterized::MutexType TurbulenceFSModuleParameters_0p0::mBuiltFlagMutex;
+
+TurbulenceFSModuleParameters_0p0::TurbulenceFSModuleParameters_0p0(NvParameterized::Traits* traits, void* buf, int32_t* refCount) :
+ NvParameters(traits, buf, refCount)
+{
+ //mParameterizedTraits->registerFactory(className(), &TurbulenceFSModuleParameters_0p0FactoryInst);
+
+ if (!buf) //Do not init data if it is inplace-deserialized
+ {
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+ initDefaults();
+ }
+}
+
+TurbulenceFSModuleParameters_0p0::~TurbulenceFSModuleParameters_0p0()
+{
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+}
+
+void TurbulenceFSModuleParameters_0p0::destroy()
+{
+ // We cache these fields here to avoid overwrite in destructor
+ bool doDeallocateSelf = mDoDeallocateSelf;
+ NvParameterized::Traits* traits = mParameterizedTraits;
+ int32_t* refCount = mRefCount;
+ void* buf = mBuffer;
+
+ this->~TurbulenceFSModuleParameters_0p0();
+
+ NvParameters::destroy(this, traits, doDeallocateSelf, refCount, buf);
+}
+
+const NvParameterized::DefinitionImpl* TurbulenceFSModuleParameters_0p0::getParameterDefinitionTree(void)
+{
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+const NvParameterized::DefinitionImpl* TurbulenceFSModuleParameters_0p0::getParameterDefinitionTree(void) const
+{
+ TurbulenceFSModuleParameters_0p0* tmpParam = const_cast<TurbulenceFSModuleParameters_0p0*>(this);
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ tmpParam->buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+NvParameterized::ErrorType TurbulenceFSModuleParameters_0p0::getParameterHandle(const char* long_name, Handle& handle) const
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+NvParameterized::ErrorType TurbulenceFSModuleParameters_0p0::getParameterHandle(const char* long_name, Handle& handle)
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+void TurbulenceFSModuleParameters_0p0::getVarPtr(const Handle& handle, void*& ptr, size_t& offset) const
+{
+ ptr = getVarPtrHelper(&ParamLookupTable[0], const_cast<TurbulenceFSModuleParameters_0p0::ParametersStruct*>(&parameters()), handle, offset);
+}
+
+
+/* Dynamic Handle Indices */
+
+void TurbulenceFSModuleParameters_0p0::freeParameterDefinitionTable(NvParameterized::Traits* traits)
+{
+ if (!traits)
+ {
+ return;
+ }
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ return;
+ }
+
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+
+ if (!mBuiltFlag)
+ {
+ return;
+ }
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ ParamDefTable[i].~DefinitionImpl();
+ }
+
+ traits->free(ParamDefTable);
+
+ mBuiltFlag = false;
+}
+
+#define PDEF_PTR(index) (&ParamDefTable[index])
+
+void TurbulenceFSModuleParameters_0p0::buildTree(void)
+{
+
+ uint32_t allocSize = sizeof(NvParameterized::DefinitionImpl) * NumParamDefs;
+ ParamDefTable = (NvParameterized::DefinitionImpl*)(mParameterizedTraits->alloc(allocSize));
+ memset(ParamDefTable, 0, allocSize);
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ NV_PARAM_PLACEMENT_NEW(ParamDefTable + i, NvParameterized::DefinitionImpl)(*mParameterizedTraits);
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=0, longName=""
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[0];
+ ParamDef->init("", TYPE_STRUCT, "STRUCT", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "This class is used for initializing the ModuleTurbulenceFS.", true);
+ ParamDefTable[0].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=1, longName="unused"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[1];
+ ParamDef->init("unused", TYPE_U32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "No parameters necessary", true);
+ ParamDefTable[1].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // SetChildren for: nodeIndex=0, longName=""
+ {
+ static Definition* Children[1];
+ Children[0] = PDEF_PTR(1);
+
+ ParamDefTable[0].setChildren(Children, 1);
+ }
+
+ mBuiltFlag = true;
+
+}
+void TurbulenceFSModuleParameters_0p0::initStrings(void)
+{
+}
+
+void TurbulenceFSModuleParameters_0p0::initDynamicArrays(void)
+{
+}
+
+void TurbulenceFSModuleParameters_0p0::initDefaults(void)
+{
+
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+ unused = uint32_t(0);
+
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+}
+
+void TurbulenceFSModuleParameters_0p0::initReferences(void)
+{
+}
+
+void TurbulenceFSModuleParameters_0p0::freeDynamicArrays(void)
+{
+}
+
+void TurbulenceFSModuleParameters_0p0::freeStrings(void)
+{
+}
+
+void TurbulenceFSModuleParameters_0p0::freeReferences(void)
+{
+}
+
+} // namespace parameterized
+} // namespace nvidia
diff --git a/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSPreviewParams_0p0.cpp b/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSPreviewParams_0p0.cpp
new file mode 100644
index 00000000..21ed9385
--- /dev/null
+++ b/APEX_1.4/module/turbulencefs_legacy/src/autogen/TurbulenceFSPreviewParams_0p0.cpp
@@ -0,0 +1,500 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and 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.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#include "TurbulenceFSPreviewParams_0p0.h"
+#include <string.h>
+#include <stdlib.h>
+
+using namespace NvParameterized;
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+using namespace TurbulenceFSPreviewParams_0p0NS;
+
+const char* const TurbulenceFSPreviewParams_0p0Factory::vptr =
+ NvParameterized::getVptr<TurbulenceFSPreviewParams_0p0, TurbulenceFSPreviewParams_0p0::ClassAlignment>();
+
+const uint32_t NumParamDefs = 8;
+static NvParameterized::DefinitionImpl* ParamDefTable; // now allocated in buildTree [NumParamDefs];
+
+
+static const size_t ParamLookupChildrenTable[] =
+{
+ 1, 2, 3, 4, 5, 6, 7,
+};
+
+#define TENUM(type) nvidia::##type
+#define CHILDREN(index) &ParamLookupChildrenTable[index]
+static const NvParameterized::ParamLookupNode ParamLookupTable[NumParamDefs] =
+{
+ { TYPE_STRUCT, false, 0, CHILDREN(0), 7 },
+ { TYPE_MAT44, false, (size_t)(&((ParametersStruct*)0)->globalPose), NULL, 0 }, // globalPose
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->iconScale), NULL, 0 }, // iconScale
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->drawIcon), NULL, 0 }, // drawIcon
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->drawBox), NULL, 0 }, // drawBox
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->drawGrid), NULL, 0 }, // drawGrid
+ { TYPE_BOOL, false, (size_t)(&((ParametersStruct*)0)->drawAssetInfo), NULL, 0 }, // drawAssetInfo
+ { TYPE_U64, false, (size_t)(&((ParametersStruct*)0)->userData), NULL, 0 }, // userData
+};
+
+
+bool TurbulenceFSPreviewParams_0p0::mBuiltFlag = false;
+NvParameterized::MutexType TurbulenceFSPreviewParams_0p0::mBuiltFlagMutex;
+
+TurbulenceFSPreviewParams_0p0::TurbulenceFSPreviewParams_0p0(NvParameterized::Traits* traits, void* buf, int32_t* refCount) :
+ NvParameters(traits, buf, refCount)
+{
+ //mParameterizedTraits->registerFactory(className(), &TurbulenceFSPreviewParams_0p0FactoryInst);
+
+ if (!buf) //Do not init data if it is inplace-deserialized
+ {
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+ initDefaults();
+ }
+}
+
+TurbulenceFSPreviewParams_0p0::~TurbulenceFSPreviewParams_0p0()
+{
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+}
+
+void TurbulenceFSPreviewParams_0p0::destroy()
+{
+ // We cache these fields here to avoid overwrite in destructor
+ bool doDeallocateSelf = mDoDeallocateSelf;
+ NvParameterized::Traits* traits = mParameterizedTraits;
+ int32_t* refCount = mRefCount;
+ void* buf = mBuffer;
+
+ this->~TurbulenceFSPreviewParams_0p0();
+
+ NvParameters::destroy(this, traits, doDeallocateSelf, refCount, buf);
+}
+
+const NvParameterized::DefinitionImpl* TurbulenceFSPreviewParams_0p0::getParameterDefinitionTree(void)
+{
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+const NvParameterized::DefinitionImpl* TurbulenceFSPreviewParams_0p0::getParameterDefinitionTree(void) const
+{
+ TurbulenceFSPreviewParams_0p0* tmpParam = const_cast<TurbulenceFSPreviewParams_0p0*>(this);
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ tmpParam->buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+NvParameterized::ErrorType TurbulenceFSPreviewParams_0p0::getParameterHandle(const char* long_name, Handle& handle) const
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+NvParameterized::ErrorType TurbulenceFSPreviewParams_0p0::getParameterHandle(const char* long_name, Handle& handle)
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+void TurbulenceFSPreviewParams_0p0::getVarPtr(const Handle& handle, void*& ptr, size_t& offset) const
+{
+ ptr = getVarPtrHelper(&ParamLookupTable[0], const_cast<TurbulenceFSPreviewParams_0p0::ParametersStruct*>(&parameters()), handle, offset);
+}
+
+
+/* Dynamic Handle Indices */
+
+void TurbulenceFSPreviewParams_0p0::freeParameterDefinitionTable(NvParameterized::Traits* traits)
+{
+ if (!traits)
+ {
+ return;
+ }
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ return;
+ }
+
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+
+ if (!mBuiltFlag)
+ {
+ return;
+ }
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ ParamDefTable[i].~DefinitionImpl();
+ }
+
+ traits->free(ParamDefTable);
+
+ mBuiltFlag = false;
+}
+
+#define PDEF_PTR(index) (&ParamDefTable[index])
+
+void TurbulenceFSPreviewParams_0p0::buildTree(void)
+{
+
+ uint32_t allocSize = sizeof(NvParameterized::DefinitionImpl) * NumParamDefs;
+ ParamDefTable = (NvParameterized::DefinitionImpl*)(mParameterizedTraits->alloc(allocSize));
+ memset(ParamDefTable, 0, allocSize);
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ NV_PARAM_PLACEMENT_NEW(ParamDefTable + i, NvParameterized::DefinitionImpl)(*mParameterizedTraits);
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=0, longName=""
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[0];
+ ParamDef->init("", TYPE_STRUCT, "STRUCT", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=1, longName="globalPose"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[1];
+ ParamDef->init("globalPose", TYPE_MAT44, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("editorDisplay", "false", true);
+ ParamDefTable[1].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("editorDisplay", "false", true);
+ HintTable[1].init("shortDescription", "The pose that translates from turbulence preview coordinates to world coordinates", true);
+ ParamDefTable[1].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=2, longName="iconScale"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[2];
+ ParamDef->init("iconScale", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("editorDisplay", "false", true);
+ ParamDefTable[2].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("editorDisplay", "false", true);
+ HintTable[1].init("shortDescription", "The scale of the icon", true);
+ ParamDefTable[2].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=3, longName="drawIcon"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[3];
+ ParamDef->init("drawIcon", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("editorDisplay", "false", true);
+ ParamDefTable[3].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("editorDisplay", "false", true);
+ HintTable[1].init("shortDescription", "Draw the icon", true);
+ ParamDefTable[3].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=4, longName="drawBox"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[4];
+ ParamDef->init("drawBox", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("editorDisplay", "false", true);
+ ParamDefTable[4].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("editorDisplay", "false", true);
+ HintTable[1].init("shortDescription", "Draw the box", true);
+ ParamDefTable[4].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=5, longName="drawGrid"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[5];
+ ParamDef->init("drawGrid", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("editorDisplay", "false", true);
+ ParamDefTable[5].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("editorDisplay", "false", true);
+ HintTable[1].init("shortDescription", "Draw the grid", true);
+ ParamDefTable[5].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=6, longName="drawAssetInfo"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[6];
+ ParamDef->init("drawAssetInfo", TYPE_BOOL, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("editorDisplay", "false", true);
+ ParamDefTable[6].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("editorDisplay", "false", true);
+ HintTable[1].init("shortDescription", "Display asset info", true);
+ ParamDefTable[6].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=7, longName="userData"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[7];
+ ParamDef->init("userData", TYPE_U64, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("editorDisplay", "false", true);
+ ParamDefTable[7].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[2];
+ static Hint* HintPtrTable[2] = { &HintTable[0], &HintTable[1], };
+ HintTable[0].init("editorDisplay", "false", true);
+ HintTable[1].init("shortDescription", "Optional user data pointer associated with the turbulence actor", true);
+ ParamDefTable[7].setHints((const NvParameterized::Hint**)HintPtrTable, 2);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // SetChildren for: nodeIndex=0, longName=""
+ {
+ static Definition* Children[7];
+ Children[0] = PDEF_PTR(1);
+ Children[1] = PDEF_PTR(2);
+ Children[2] = PDEF_PTR(3);
+ Children[3] = PDEF_PTR(4);
+ Children[4] = PDEF_PTR(5);
+ Children[5] = PDEF_PTR(6);
+ Children[6] = PDEF_PTR(7);
+
+ ParamDefTable[0].setChildren(Children, 7);
+ }
+
+ mBuiltFlag = true;
+
+}
+void TurbulenceFSPreviewParams_0p0::initStrings(void)
+{
+}
+
+void TurbulenceFSPreviewParams_0p0::initDynamicArrays(void)
+{
+}
+
+void TurbulenceFSPreviewParams_0p0::initDefaults(void)
+{
+
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+ globalPose = physx::PxMat44(physx::PxVec4(1.0f));
+ iconScale = float(1.0f);
+ drawIcon = bool(1);
+ drawBox = bool(0);
+ drawGrid = bool(0);
+ drawAssetInfo = bool(0);
+ userData = uint64_t(0);
+
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+}
+
+void TurbulenceFSPreviewParams_0p0::initReferences(void)
+{
+}
+
+void TurbulenceFSPreviewParams_0p0::freeDynamicArrays(void)
+{
+}
+
+void TurbulenceFSPreviewParams_0p0::freeStrings(void)
+{
+}
+
+void TurbulenceFSPreviewParams_0p0::freeReferences(void)
+{
+}
+
+} // namespace parameterized
+} // namespace nvidia
diff --git a/APEX_1.4/module/turbulencefs_legacy/src/autogen/VelocitySourceActorParams_0p0.cpp b/APEX_1.4/module/turbulencefs_legacy/src/autogen/VelocitySourceActorParams_0p0.cpp
new file mode 100644
index 00000000..00deb4ec
--- /dev/null
+++ b/APEX_1.4/module/turbulencefs_legacy/src/autogen/VelocitySourceActorParams_0p0.cpp
@@ -0,0 +1,460 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and 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.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#include "VelocitySourceActorParams_0p0.h"
+#include <string.h>
+#include <stdlib.h>
+
+using namespace NvParameterized;
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+using namespace VelocitySourceActorParams_0p0NS;
+
+const char* const VelocitySourceActorParams_0p0Factory::vptr =
+ NvParameterized::getVptr<VelocitySourceActorParams_0p0, VelocitySourceActorParams_0p0::ClassAlignment>();
+
+const uint32_t NumParamDefs = 7;
+static NvParameterized::DefinitionImpl* ParamDefTable; // now allocated in buildTree [NumParamDefs];
+
+
+static const size_t ParamLookupChildrenTable[] =
+{
+ 1, 2, 3, 4, 5, 6,
+};
+
+#define TENUM(type) nvidia::##type
+#define CHILDREN(index) &ParamLookupChildrenTable[index]
+static const NvParameterized::ParamLookupNode ParamLookupTable[NumParamDefs] =
+{
+ { TYPE_STRUCT, false, 0, CHILDREN(0), 6 },
+ { TYPE_MAT34, false, (size_t)(&((ParametersStruct*)0)->initialPose), NULL, 0 }, // initialPose
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->initialScale), NULL, 0 }, // initialScale
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->averageVelocity), NULL, 0 }, // averageVelocity
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->stdVelocity), NULL, 0 }, // stdVelocity
+ { TYPE_REF, false, (size_t)(&((ParametersStruct*)0)->geometryType), NULL, 0 }, // geometryType
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->fieldSamplerFilterDataName), NULL, 0 }, // fieldSamplerFilterDataName
+};
+
+
+bool VelocitySourceActorParams_0p0::mBuiltFlag = false;
+NvParameterized::MutexType VelocitySourceActorParams_0p0::mBuiltFlagMutex;
+
+VelocitySourceActorParams_0p0::VelocitySourceActorParams_0p0(NvParameterized::Traits* traits, void* buf, int32_t* refCount) :
+ NvParameters(traits, buf, refCount)
+{
+ //mParameterizedTraits->registerFactory(className(), &VelocitySourceActorParams_0p0FactoryInst);
+
+ if (!buf) //Do not init data if it is inplace-deserialized
+ {
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+ initDefaults();
+ }
+}
+
+VelocitySourceActorParams_0p0::~VelocitySourceActorParams_0p0()
+{
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+}
+
+void VelocitySourceActorParams_0p0::destroy()
+{
+ // We cache these fields here to avoid overwrite in destructor
+ bool doDeallocateSelf = mDoDeallocateSelf;
+ NvParameterized::Traits* traits = mParameterizedTraits;
+ int32_t* refCount = mRefCount;
+ void* buf = mBuffer;
+
+ this->~VelocitySourceActorParams_0p0();
+
+ NvParameters::destroy(this, traits, doDeallocateSelf, refCount, buf);
+}
+
+const NvParameterized::DefinitionImpl* VelocitySourceActorParams_0p0::getParameterDefinitionTree(void)
+{
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+const NvParameterized::DefinitionImpl* VelocitySourceActorParams_0p0::getParameterDefinitionTree(void) const
+{
+ VelocitySourceActorParams_0p0* tmpParam = const_cast<VelocitySourceActorParams_0p0*>(this);
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ tmpParam->buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+NvParameterized::ErrorType VelocitySourceActorParams_0p0::getParameterHandle(const char* long_name, Handle& handle) const
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+NvParameterized::ErrorType VelocitySourceActorParams_0p0::getParameterHandle(const char* long_name, Handle& handle)
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+void VelocitySourceActorParams_0p0::getVarPtr(const Handle& handle, void*& ptr, size_t& offset) const
+{
+ ptr = getVarPtrHelper(&ParamLookupTable[0], const_cast<VelocitySourceActorParams_0p0::ParametersStruct*>(&parameters()), handle, offset);
+}
+
+
+/* Dynamic Handle Indices */
+
+void VelocitySourceActorParams_0p0::freeParameterDefinitionTable(NvParameterized::Traits* traits)
+{
+ if (!traits)
+ {
+ return;
+ }
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ return;
+ }
+
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+
+ if (!mBuiltFlag)
+ {
+ return;
+ }
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ ParamDefTable[i].~DefinitionImpl();
+ }
+
+ traits->free(ParamDefTable);
+
+ mBuiltFlag = false;
+}
+
+#define PDEF_PTR(index) (&ParamDefTable[index])
+
+void VelocitySourceActorParams_0p0::buildTree(void)
+{
+
+ uint32_t allocSize = sizeof(NvParameterized::DefinitionImpl) * NumParamDefs;
+ ParamDefTable = (NvParameterized::DefinitionImpl*)(mParameterizedTraits->alloc(allocSize));
+ memset(ParamDefTable, 0, allocSize);
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ NV_PARAM_PLACEMENT_NEW(ParamDefTable + i, NvParameterized::DefinitionImpl)(*mParameterizedTraits);
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=0, longName=""
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[0];
+ ParamDef->init("", TYPE_STRUCT, "STRUCT", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=1, longName="initialPose"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[1];
+ ParamDef->init("initialPose", TYPE_MAT34, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The global pose for the actor.", true);
+ ParamDefTable[1].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=2, longName="initialScale"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[2];
+ ParamDef->init("initialScale", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The space scale of the actor", true);
+ ParamDefTable[2].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=3, longName="averageVelocity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[3];
+ ParamDef->init("averageVelocity", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The arithmetic mean of a sample. Normal distribution parameter.", true);
+ ParamDefTable[3].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=4, longName="stdVelocity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[4];
+ ParamDef->init("stdVelocity", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Standard deviation. Normal distribution parameter.", true);
+ ParamDefTable[4].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=5, longName="geometryType"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[5];
+ ParamDef->init("geometryType", TYPE_REF, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("INCLUDED", uint64_t(1), true);
+ ParamDefTable[5].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("INCLUDED", uint64_t(1), true);
+ HintTable[1].init("longDescription", "Specifies the geometry type of the source", true);
+ HintTable[2].init("shortDescription", "Geometry Type", true);
+ ParamDefTable[5].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+ static const char* const RefVariantVals[] = { "HeatSourceGeomBoxParams", "HeatSourceGeomSphereParams" };
+ ParamDefTable[5].setRefVariantVals((const char**)RefVariantVals, 2);
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=6, longName="fieldSamplerFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[6];
+ ParamDef->init("fieldSamplerFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The filter data name for VelocitySource vs TurbulenceFS interaction. Overrides asset's value.", true);
+ ParamDefTable[6].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // SetChildren for: nodeIndex=0, longName=""
+ {
+ static Definition* Children[6];
+ Children[0] = PDEF_PTR(1);
+ Children[1] = PDEF_PTR(2);
+ Children[2] = PDEF_PTR(3);
+ Children[3] = PDEF_PTR(4);
+ Children[4] = PDEF_PTR(5);
+ Children[5] = PDEF_PTR(6);
+
+ ParamDefTable[0].setChildren(Children, 6);
+ }
+
+ mBuiltFlag = true;
+
+}
+void VelocitySourceActorParams_0p0::initStrings(void)
+{
+ fieldSamplerFilterDataName.isAllocated = true;
+ fieldSamplerFilterDataName.buf = NULL;
+}
+
+void VelocitySourceActorParams_0p0::initDynamicArrays(void)
+{
+}
+
+void VelocitySourceActorParams_0p0::initDefaults(void)
+{
+
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+ {
+ const float value[12] = {true};
+ for (int i = 0; i < 12; ++i)
+ {
+ initialPose[i] = value[i];
+ }
+ }
+ initialScale = float(1.0);
+ averageVelocity = float(1.0);
+ stdVelocity = float(1.0);
+
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+}
+
+void VelocitySourceActorParams_0p0::initReferences(void)
+{
+ geometryType = NULL;
+
+}
+
+void VelocitySourceActorParams_0p0::freeDynamicArrays(void)
+{
+}
+
+void VelocitySourceActorParams_0p0::freeStrings(void)
+{
+
+ if (fieldSamplerFilterDataName.isAllocated && fieldSamplerFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)fieldSamplerFilterDataName.buf);
+ }
+}
+
+void VelocitySourceActorParams_0p0::freeReferences(void)
+{
+ if (geometryType)
+ {
+ geometryType->destroy();
+ }
+
+}
+
+} // namespace parameterized
+} // namespace nvidia
diff --git a/APEX_1.4/module/turbulencefs_legacy/src/autogen/VelocitySourceActorParams_0p1.cpp b/APEX_1.4/module/turbulencefs_legacy/src/autogen/VelocitySourceActorParams_0p1.cpp
new file mode 100644
index 00000000..97a1e213
--- /dev/null
+++ b/APEX_1.4/module/turbulencefs_legacy/src/autogen/VelocitySourceActorParams_0p1.cpp
@@ -0,0 +1,454 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and 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.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#include "VelocitySourceActorParams_0p1.h"
+#include <string.h>
+#include <stdlib.h>
+
+using namespace NvParameterized;
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+using namespace VelocitySourceActorParams_0p1NS;
+
+const char* const VelocitySourceActorParams_0p1Factory::vptr =
+ NvParameterized::getVptr<VelocitySourceActorParams_0p1, VelocitySourceActorParams_0p1::ClassAlignment>();
+
+const uint32_t NumParamDefs = 7;
+static NvParameterized::DefinitionImpl* ParamDefTable; // now allocated in buildTree [NumParamDefs];
+
+
+static const size_t ParamLookupChildrenTable[] =
+{
+ 1, 2, 3, 4, 5, 6,
+};
+
+#define TENUM(type) nvidia::##type
+#define CHILDREN(index) &ParamLookupChildrenTable[index]
+static const NvParameterized::ParamLookupNode ParamLookupTable[NumParamDefs] =
+{
+ { TYPE_STRUCT, false, 0, CHILDREN(0), 6 },
+ { TYPE_TRANSFORM, false, (size_t)(&((ParametersStruct*)0)->initialPose), NULL, 0 }, // initialPose
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->initialScale), NULL, 0 }, // initialScale
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->averageVelocity), NULL, 0 }, // averageVelocity
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->stdVelocity), NULL, 0 }, // stdVelocity
+ { TYPE_REF, false, (size_t)(&((ParametersStruct*)0)->geometryType), NULL, 0 }, // geometryType
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->fieldSamplerFilterDataName), NULL, 0 }, // fieldSamplerFilterDataName
+};
+
+
+bool VelocitySourceActorParams_0p1::mBuiltFlag = false;
+NvParameterized::MutexType VelocitySourceActorParams_0p1::mBuiltFlagMutex;
+
+VelocitySourceActorParams_0p1::VelocitySourceActorParams_0p1(NvParameterized::Traits* traits, void* buf, int32_t* refCount) :
+ NvParameters(traits, buf, refCount)
+{
+ //mParameterizedTraits->registerFactory(className(), &VelocitySourceActorParams_0p1FactoryInst);
+
+ if (!buf) //Do not init data if it is inplace-deserialized
+ {
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+ initDefaults();
+ }
+}
+
+VelocitySourceActorParams_0p1::~VelocitySourceActorParams_0p1()
+{
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+}
+
+void VelocitySourceActorParams_0p1::destroy()
+{
+ // We cache these fields here to avoid overwrite in destructor
+ bool doDeallocateSelf = mDoDeallocateSelf;
+ NvParameterized::Traits* traits = mParameterizedTraits;
+ int32_t* refCount = mRefCount;
+ void* buf = mBuffer;
+
+ this->~VelocitySourceActorParams_0p1();
+
+ NvParameters::destroy(this, traits, doDeallocateSelf, refCount, buf);
+}
+
+const NvParameterized::DefinitionImpl* VelocitySourceActorParams_0p1::getParameterDefinitionTree(void)
+{
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+const NvParameterized::DefinitionImpl* VelocitySourceActorParams_0p1::getParameterDefinitionTree(void) const
+{
+ VelocitySourceActorParams_0p1* tmpParam = const_cast<VelocitySourceActorParams_0p1*>(this);
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ tmpParam->buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+NvParameterized::ErrorType VelocitySourceActorParams_0p1::getParameterHandle(const char* long_name, Handle& handle) const
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+NvParameterized::ErrorType VelocitySourceActorParams_0p1::getParameterHandle(const char* long_name, Handle& handle)
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+void VelocitySourceActorParams_0p1::getVarPtr(const Handle& handle, void*& ptr, size_t& offset) const
+{
+ ptr = getVarPtrHelper(&ParamLookupTable[0], const_cast<VelocitySourceActorParams_0p1::ParametersStruct*>(&parameters()), handle, offset);
+}
+
+
+/* Dynamic Handle Indices */
+
+void VelocitySourceActorParams_0p1::freeParameterDefinitionTable(NvParameterized::Traits* traits)
+{
+ if (!traits)
+ {
+ return;
+ }
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ return;
+ }
+
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+
+ if (!mBuiltFlag)
+ {
+ return;
+ }
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ ParamDefTable[i].~DefinitionImpl();
+ }
+
+ traits->free(ParamDefTable);
+
+ mBuiltFlag = false;
+}
+
+#define PDEF_PTR(index) (&ParamDefTable[index])
+
+void VelocitySourceActorParams_0p1::buildTree(void)
+{
+
+ uint32_t allocSize = sizeof(NvParameterized::DefinitionImpl) * NumParamDefs;
+ ParamDefTable = (NvParameterized::DefinitionImpl*)(mParameterizedTraits->alloc(allocSize));
+ memset(ParamDefTable, 0, allocSize);
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ NV_PARAM_PLACEMENT_NEW(ParamDefTable + i, NvParameterized::DefinitionImpl)(*mParameterizedTraits);
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=0, longName=""
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[0];
+ ParamDef->init("", TYPE_STRUCT, "STRUCT", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=1, longName="initialPose"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[1];
+ ParamDef->init("initialPose", TYPE_TRANSFORM, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The global pose for the actor.", true);
+ ParamDefTable[1].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=2, longName="initialScale"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[2];
+ ParamDef->init("initialScale", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The space scale of the actor", true);
+ ParamDefTable[2].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=3, longName="averageVelocity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[3];
+ ParamDef->init("averageVelocity", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The arithmetic mean of a sample. Normal distribution parameter.", true);
+ ParamDefTable[3].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=4, longName="stdVelocity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[4];
+ ParamDef->init("stdVelocity", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Standard deviation. Normal distribution parameter.", true);
+ ParamDefTable[4].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=5, longName="geometryType"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[5];
+ ParamDef->init("geometryType", TYPE_REF, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("INCLUDED", uint64_t(1), true);
+ ParamDefTable[5].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("INCLUDED", uint64_t(1), true);
+ HintTable[1].init("longDescription", "Specifies the geometry type of the source", true);
+ HintTable[2].init("shortDescription", "Geometry Type", true);
+ ParamDefTable[5].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+ static const char* const RefVariantVals[] = { "HeatSourceGeomBoxParams", "HeatSourceGeomSphereParams" };
+ ParamDefTable[5].setRefVariantVals((const char**)RefVariantVals, 2);
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=6, longName="fieldSamplerFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[6];
+ ParamDef->init("fieldSamplerFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The filter data name for VelocitySource vs TurbulenceFS interaction. Overrides asset's value.", true);
+ ParamDefTable[6].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // SetChildren for: nodeIndex=0, longName=""
+ {
+ static Definition* Children[6];
+ Children[0] = PDEF_PTR(1);
+ Children[1] = PDEF_PTR(2);
+ Children[2] = PDEF_PTR(3);
+ Children[3] = PDEF_PTR(4);
+ Children[4] = PDEF_PTR(5);
+ Children[5] = PDEF_PTR(6);
+
+ ParamDefTable[0].setChildren(Children, 6);
+ }
+
+ mBuiltFlag = true;
+
+}
+void VelocitySourceActorParams_0p1::initStrings(void)
+{
+ fieldSamplerFilterDataName.isAllocated = true;
+ fieldSamplerFilterDataName.buf = NULL;
+}
+
+void VelocitySourceActorParams_0p1::initDynamicArrays(void)
+{
+}
+
+void VelocitySourceActorParams_0p1::initDefaults(void)
+{
+
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+ initialPose = physx::PxTransform(physx::PxIdentity);
+ initialScale = float(1.0);
+ averageVelocity = float(1.0);
+ stdVelocity = float(1.0);
+
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+}
+
+void VelocitySourceActorParams_0p1::initReferences(void)
+{
+ geometryType = NULL;
+
+}
+
+void VelocitySourceActorParams_0p1::freeDynamicArrays(void)
+{
+}
+
+void VelocitySourceActorParams_0p1::freeStrings(void)
+{
+
+ if (fieldSamplerFilterDataName.isAllocated && fieldSamplerFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)fieldSamplerFilterDataName.buf);
+ }
+}
+
+void VelocitySourceActorParams_0p1::freeReferences(void)
+{
+ if (geometryType)
+ {
+ geometryType->destroy();
+ }
+
+}
+
+} // namespace parameterized
+} // namespace nvidia
diff --git a/APEX_1.4/module/turbulencefs_legacy/src/autogen/VelocitySourceAssetParams_0p0.cpp b/APEX_1.4/module/turbulencefs_legacy/src/autogen/VelocitySourceAssetParams_0p0.cpp
new file mode 100644
index 00000000..923fc24e
--- /dev/null
+++ b/APEX_1.4/module/turbulencefs_legacy/src/autogen/VelocitySourceAssetParams_0p0.cpp
@@ -0,0 +1,414 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and 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.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#include "VelocitySourceAssetParams_0p0.h"
+#include <string.h>
+#include <stdlib.h>
+
+using namespace NvParameterized;
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+using namespace VelocitySourceAssetParams_0p0NS;
+
+const char* const VelocitySourceAssetParams_0p0Factory::vptr =
+ NvParameterized::getVptr<VelocitySourceAssetParams_0p0, VelocitySourceAssetParams_0p0::ClassAlignment>();
+
+const uint32_t NumParamDefs = 5;
+static NvParameterized::DefinitionImpl* ParamDefTable; // now allocated in buildTree [NumParamDefs];
+
+
+static const size_t ParamLookupChildrenTable[] =
+{
+ 1, 2, 3, 4,
+};
+
+#define TENUM(type) nvidia::##type
+#define CHILDREN(index) &ParamLookupChildrenTable[index]
+static const NvParameterized::ParamLookupNode ParamLookupTable[NumParamDefs] =
+{
+ { TYPE_STRUCT, false, 0, CHILDREN(0), 4 },
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->averageVelocity), NULL, 0 }, // averageVelocity
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->stdVelocity), NULL, 0 }, // stdVelocity
+ { TYPE_REF, false, (size_t)(&((ParametersStruct*)0)->geometryType), NULL, 0 }, // geometryType
+ { TYPE_STRING, false, (size_t)(&((ParametersStruct*)0)->fieldSamplerFilterDataName), NULL, 0 }, // fieldSamplerFilterDataName
+};
+
+
+bool VelocitySourceAssetParams_0p0::mBuiltFlag = false;
+NvParameterized::MutexType VelocitySourceAssetParams_0p0::mBuiltFlagMutex;
+
+VelocitySourceAssetParams_0p0::VelocitySourceAssetParams_0p0(NvParameterized::Traits* traits, void* buf, int32_t* refCount) :
+ NvParameters(traits, buf, refCount)
+{
+ //mParameterizedTraits->registerFactory(className(), &VelocitySourceAssetParams_0p0FactoryInst);
+
+ if (!buf) //Do not init data if it is inplace-deserialized
+ {
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+ initDefaults();
+ }
+}
+
+VelocitySourceAssetParams_0p0::~VelocitySourceAssetParams_0p0()
+{
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+}
+
+void VelocitySourceAssetParams_0p0::destroy()
+{
+ // We cache these fields here to avoid overwrite in destructor
+ bool doDeallocateSelf = mDoDeallocateSelf;
+ NvParameterized::Traits* traits = mParameterizedTraits;
+ int32_t* refCount = mRefCount;
+ void* buf = mBuffer;
+
+ this->~VelocitySourceAssetParams_0p0();
+
+ NvParameters::destroy(this, traits, doDeallocateSelf, refCount, buf);
+}
+
+const NvParameterized::DefinitionImpl* VelocitySourceAssetParams_0p0::getParameterDefinitionTree(void)
+{
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+const NvParameterized::DefinitionImpl* VelocitySourceAssetParams_0p0::getParameterDefinitionTree(void) const
+{
+ VelocitySourceAssetParams_0p0* tmpParam = const_cast<VelocitySourceAssetParams_0p0*>(this);
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ tmpParam->buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+NvParameterized::ErrorType VelocitySourceAssetParams_0p0::getParameterHandle(const char* long_name, Handle& handle) const
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+NvParameterized::ErrorType VelocitySourceAssetParams_0p0::getParameterHandle(const char* long_name, Handle& handle)
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+void VelocitySourceAssetParams_0p0::getVarPtr(const Handle& handle, void*& ptr, size_t& offset) const
+{
+ ptr = getVarPtrHelper(&ParamLookupTable[0], const_cast<VelocitySourceAssetParams_0p0::ParametersStruct*>(&parameters()), handle, offset);
+}
+
+
+/* Dynamic Handle Indices */
+
+void VelocitySourceAssetParams_0p0::freeParameterDefinitionTable(NvParameterized::Traits* traits)
+{
+ if (!traits)
+ {
+ return;
+ }
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ return;
+ }
+
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+
+ if (!mBuiltFlag)
+ {
+ return;
+ }
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ ParamDefTable[i].~DefinitionImpl();
+ }
+
+ traits->free(ParamDefTable);
+
+ mBuiltFlag = false;
+}
+
+#define PDEF_PTR(index) (&ParamDefTable[index])
+
+void VelocitySourceAssetParams_0p0::buildTree(void)
+{
+
+ uint32_t allocSize = sizeof(NvParameterized::DefinitionImpl) * NumParamDefs;
+ ParamDefTable = (NvParameterized::DefinitionImpl*)(mParameterizedTraits->alloc(allocSize));
+ memset(ParamDefTable, 0, allocSize);
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ NV_PARAM_PLACEMENT_NEW(ParamDefTable + i, NvParameterized::DefinitionImpl)(*mParameterizedTraits);
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=0, longName=""
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[0];
+ ParamDef->init("", TYPE_STRUCT, "STRUCT", true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Contains the asset properties for this VelocitySource.", true);
+ ParamDefTable[0].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=1, longName="averageVelocity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[1];
+ ParamDef->init("averageVelocity", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The arithmetic mean of a sample. Normal distribution parameter.", true);
+ ParamDefTable[1].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=2, longName="stdVelocity"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[2];
+ ParamDef->init("stdVelocity", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "Standard deviation. Normal distribution parameter.", true);
+ ParamDefTable[2].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=3, longName="geometryType"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[3];
+ ParamDef->init("geometryType", TYPE_REF, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("INCLUDED", uint64_t(1), true);
+ ParamDefTable[3].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#else
+
+ static HintImpl HintTable[3];
+ static Hint* HintPtrTable[3] = { &HintTable[0], &HintTable[1], &HintTable[2], };
+ HintTable[0].init("INCLUDED", uint64_t(1), true);
+ HintTable[1].init("longDescription", "Specifies the geometry type of the source", true);
+ HintTable[2].init("shortDescription", "Geometry Type", true);
+ ParamDefTable[3].setHints((const NvParameterized::Hint**)HintPtrTable, 3);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+ static const char* const RefVariantVals[] = { "HeatSourceGeomBoxParams", "HeatSourceGeomSphereParams" };
+ ParamDefTable[3].setRefVariantVals((const char**)RefVariantVals, 2);
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=4, longName="fieldSamplerFilterDataName"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[4];
+ ParamDef->init("fieldSamplerFilterDataName", TYPE_STRING, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The filter data name for VelocitySource vs TurbulenceFS interaction.", true);
+ ParamDefTable[4].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // SetChildren for: nodeIndex=0, longName=""
+ {
+ static Definition* Children[4];
+ Children[0] = PDEF_PTR(1);
+ Children[1] = PDEF_PTR(2);
+ Children[2] = PDEF_PTR(3);
+ Children[3] = PDEF_PTR(4);
+
+ ParamDefTable[0].setChildren(Children, 4);
+ }
+
+ mBuiltFlag = true;
+
+}
+void VelocitySourceAssetParams_0p0::initStrings(void)
+{
+ fieldSamplerFilterDataName.isAllocated = true;
+ fieldSamplerFilterDataName.buf = NULL;
+}
+
+void VelocitySourceAssetParams_0p0::initDynamicArrays(void)
+{
+}
+
+void VelocitySourceAssetParams_0p0::initDefaults(void)
+{
+
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+ averageVelocity = float(1.0);
+ stdVelocity = float(1.0);
+
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+}
+
+void VelocitySourceAssetParams_0p0::initReferences(void)
+{
+ geometryType = NULL;
+
+}
+
+void VelocitySourceAssetParams_0p0::freeDynamicArrays(void)
+{
+}
+
+void VelocitySourceAssetParams_0p0::freeStrings(void)
+{
+
+ if (fieldSamplerFilterDataName.isAllocated && fieldSamplerFilterDataName.buf)
+ {
+ mParameterizedTraits->strfree((char*)fieldSamplerFilterDataName.buf);
+ }
+}
+
+void VelocitySourceAssetParams_0p0::freeReferences(void)
+{
+ if (geometryType)
+ {
+ geometryType->destroy();
+ }
+
+}
+
+} // namespace parameterized
+} // namespace nvidia
diff --git a/APEX_1.4/module/turbulencefs_legacy/src/autogen/VelocitySourcePreviewParams_0p0.cpp b/APEX_1.4/module/turbulencefs_legacy/src/autogen/VelocitySourcePreviewParams_0p0.cpp
new file mode 100644
index 00000000..f76731cc
--- /dev/null
+++ b/APEX_1.4/module/turbulencefs_legacy/src/autogen/VelocitySourcePreviewParams_0p0.cpp
@@ -0,0 +1,339 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and 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.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#include "VelocitySourcePreviewParams_0p0.h"
+#include <string.h>
+#include <stdlib.h>
+
+using namespace NvParameterized;
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+using namespace VelocitySourcePreviewParams_0p0NS;
+
+const char* const VelocitySourcePreviewParams_0p0Factory::vptr =
+ NvParameterized::getVptr<VelocitySourcePreviewParams_0p0, VelocitySourcePreviewParams_0p0::ClassAlignment>();
+
+const uint32_t NumParamDefs = 3;
+static NvParameterized::DefinitionImpl* ParamDefTable; // now allocated in buildTree [NumParamDefs];
+
+
+static const size_t ParamLookupChildrenTable[] =
+{
+ 1, 2,
+};
+
+#define TENUM(type) nvidia::##type
+#define CHILDREN(index) &ParamLookupChildrenTable[index]
+static const NvParameterized::ParamLookupNode ParamLookupTable[NumParamDefs] =
+{
+ { TYPE_STRUCT, false, 0, CHILDREN(0), 2 },
+ { TYPE_MAT34, false, (size_t)(&((ParametersStruct*)0)->pose), NULL, 0 }, // pose
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->scale), NULL, 0 }, // scale
+};
+
+
+bool VelocitySourcePreviewParams_0p0::mBuiltFlag = false;
+NvParameterized::MutexType VelocitySourcePreviewParams_0p0::mBuiltFlagMutex;
+
+VelocitySourcePreviewParams_0p0::VelocitySourcePreviewParams_0p0(NvParameterized::Traits* traits, void* buf, int32_t* refCount) :
+ NvParameters(traits, buf, refCount)
+{
+ //mParameterizedTraits->registerFactory(className(), &VelocitySourcePreviewParams_0p0FactoryInst);
+
+ if (!buf) //Do not init data if it is inplace-deserialized
+ {
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+ initDefaults();
+ }
+}
+
+VelocitySourcePreviewParams_0p0::~VelocitySourcePreviewParams_0p0()
+{
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+}
+
+void VelocitySourcePreviewParams_0p0::destroy()
+{
+ // We cache these fields here to avoid overwrite in destructor
+ bool doDeallocateSelf = mDoDeallocateSelf;
+ NvParameterized::Traits* traits = mParameterizedTraits;
+ int32_t* refCount = mRefCount;
+ void* buf = mBuffer;
+
+ this->~VelocitySourcePreviewParams_0p0();
+
+ NvParameters::destroy(this, traits, doDeallocateSelf, refCount, buf);
+}
+
+const NvParameterized::DefinitionImpl* VelocitySourcePreviewParams_0p0::getParameterDefinitionTree(void)
+{
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+const NvParameterized::DefinitionImpl* VelocitySourcePreviewParams_0p0::getParameterDefinitionTree(void) const
+{
+ VelocitySourcePreviewParams_0p0* tmpParam = const_cast<VelocitySourcePreviewParams_0p0*>(this);
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ tmpParam->buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+NvParameterized::ErrorType VelocitySourcePreviewParams_0p0::getParameterHandle(const char* long_name, Handle& handle) const
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+NvParameterized::ErrorType VelocitySourcePreviewParams_0p0::getParameterHandle(const char* long_name, Handle& handle)
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+void VelocitySourcePreviewParams_0p0::getVarPtr(const Handle& handle, void*& ptr, size_t& offset) const
+{
+ ptr = getVarPtrHelper(&ParamLookupTable[0], const_cast<VelocitySourcePreviewParams_0p0::ParametersStruct*>(&parameters()), handle, offset);
+}
+
+
+/* Dynamic Handle Indices */
+
+void VelocitySourcePreviewParams_0p0::freeParameterDefinitionTable(NvParameterized::Traits* traits)
+{
+ if (!traits)
+ {
+ return;
+ }
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ return;
+ }
+
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+
+ if (!mBuiltFlag)
+ {
+ return;
+ }
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ ParamDefTable[i].~DefinitionImpl();
+ }
+
+ traits->free(ParamDefTable);
+
+ mBuiltFlag = false;
+}
+
+#define PDEF_PTR(index) (&ParamDefTable[index])
+
+void VelocitySourcePreviewParams_0p0::buildTree(void)
+{
+
+ uint32_t allocSize = sizeof(NvParameterized::DefinitionImpl) * NumParamDefs;
+ ParamDefTable = (NvParameterized::DefinitionImpl*)(mParameterizedTraits->alloc(allocSize));
+ memset(ParamDefTable, 0, allocSize);
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ NV_PARAM_PLACEMENT_NEW(ParamDefTable + i, NvParameterized::DefinitionImpl)(*mParameterizedTraits);
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=0, longName=""
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[0];
+ ParamDef->init("", TYPE_STRUCT, "STRUCT", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=1, longName="pose"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[1];
+ ParamDef->init("pose", TYPE_MAT34, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The preview actor's position and rotation", true);
+ ParamDefTable[1].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=2, longName="scale"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[2];
+ ParamDef->init("scale", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The preview actor's scale", true);
+ ParamDefTable[2].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // SetChildren for: nodeIndex=0, longName=""
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(1);
+ Children[1] = PDEF_PTR(2);
+
+ ParamDefTable[0].setChildren(Children, 2);
+ }
+
+ mBuiltFlag = true;
+
+}
+void VelocitySourcePreviewParams_0p0::initStrings(void)
+{
+}
+
+void VelocitySourcePreviewParams_0p0::initDynamicArrays(void)
+{
+}
+
+void VelocitySourcePreviewParams_0p0::initDefaults(void)
+{
+
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+ {
+ const float value[12] = {1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0};
+ for (int i = 0; i < 12; ++i)
+ {
+ pose[i] = value[i];
+ }
+ }
+ scale = float(1);
+
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+}
+
+void VelocitySourcePreviewParams_0p0::initReferences(void)
+{
+}
+
+void VelocitySourcePreviewParams_0p0::freeDynamicArrays(void)
+{
+}
+
+void VelocitySourcePreviewParams_0p0::freeStrings(void)
+{
+}
+
+void VelocitySourcePreviewParams_0p0::freeReferences(void)
+{
+}
+
+} // namespace parameterized
+} // namespace nvidia
diff --git a/APEX_1.4/module/turbulencefs_legacy/src/autogen/VelocitySourcePreviewParams_0p1.cpp b/APEX_1.4/module/turbulencefs_legacy/src/autogen/VelocitySourcePreviewParams_0p1.cpp
new file mode 100644
index 00000000..5c922bf9
--- /dev/null
+++ b/APEX_1.4/module/turbulencefs_legacy/src/autogen/VelocitySourcePreviewParams_0p1.cpp
@@ -0,0 +1,333 @@
+// This code contains NVIDIA Confidential Information and is disclosed to you
+// under a form of NVIDIA software license agreement provided separately to you.
+//
+// Notice
+// NVIDIA Corporation and its licensors retain all intellectual property and
+// proprietary rights in and to this software and 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.
+//
+// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
+// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
+// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
+// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
+//
+// Information and code furnished is believed to be accurate and reliable.
+// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
+// information or for any infringement of patents or other rights of third parties that may
+// result from its use. No license is granted by implication or otherwise under any patent
+// or patent rights of NVIDIA Corporation. Details are subject to change without notice.
+// This code supersedes and replaces all information previously supplied.
+// NVIDIA Corporation products are not authorized for use as critical
+// components in life support devices or systems without express written approval of
+// NVIDIA Corporation.
+//
+// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved.
+
+// This file was generated by NvParameterized/scripts/GenParameterized.pl
+
+
+#include "VelocitySourcePreviewParams_0p1.h"
+#include <string.h>
+#include <stdlib.h>
+
+using namespace NvParameterized;
+
+namespace nvidia
+{
+namespace parameterized
+{
+
+using namespace VelocitySourcePreviewParams_0p1NS;
+
+const char* const VelocitySourcePreviewParams_0p1Factory::vptr =
+ NvParameterized::getVptr<VelocitySourcePreviewParams_0p1, VelocitySourcePreviewParams_0p1::ClassAlignment>();
+
+const uint32_t NumParamDefs = 3;
+static NvParameterized::DefinitionImpl* ParamDefTable; // now allocated in buildTree [NumParamDefs];
+
+
+static const size_t ParamLookupChildrenTable[] =
+{
+ 1, 2,
+};
+
+#define TENUM(type) nvidia::##type
+#define CHILDREN(index) &ParamLookupChildrenTable[index]
+static const NvParameterized::ParamLookupNode ParamLookupTable[NumParamDefs] =
+{
+ { TYPE_STRUCT, false, 0, CHILDREN(0), 2 },
+ { TYPE_TRANSFORM, false, (size_t)(&((ParametersStruct*)0)->pose), NULL, 0 }, // pose
+ { TYPE_F32, false, (size_t)(&((ParametersStruct*)0)->scale), NULL, 0 }, // scale
+};
+
+
+bool VelocitySourcePreviewParams_0p1::mBuiltFlag = false;
+NvParameterized::MutexType VelocitySourcePreviewParams_0p1::mBuiltFlagMutex;
+
+VelocitySourcePreviewParams_0p1::VelocitySourcePreviewParams_0p1(NvParameterized::Traits* traits, void* buf, int32_t* refCount) :
+ NvParameters(traits, buf, refCount)
+{
+ //mParameterizedTraits->registerFactory(className(), &VelocitySourcePreviewParams_0p1FactoryInst);
+
+ if (!buf) //Do not init data if it is inplace-deserialized
+ {
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+ initDefaults();
+ }
+}
+
+VelocitySourcePreviewParams_0p1::~VelocitySourcePreviewParams_0p1()
+{
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+}
+
+void VelocitySourcePreviewParams_0p1::destroy()
+{
+ // We cache these fields here to avoid overwrite in destructor
+ bool doDeallocateSelf = mDoDeallocateSelf;
+ NvParameterized::Traits* traits = mParameterizedTraits;
+ int32_t* refCount = mRefCount;
+ void* buf = mBuffer;
+
+ this->~VelocitySourcePreviewParams_0p1();
+
+ NvParameters::destroy(this, traits, doDeallocateSelf, refCount, buf);
+}
+
+const NvParameterized::DefinitionImpl* VelocitySourcePreviewParams_0p1::getParameterDefinitionTree(void)
+{
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+const NvParameterized::DefinitionImpl* VelocitySourcePreviewParams_0p1::getParameterDefinitionTree(void) const
+{
+ VelocitySourcePreviewParams_0p1* tmpParam = const_cast<VelocitySourcePreviewParams_0p1*>(this);
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+ if (!mBuiltFlag)
+ {
+ tmpParam->buildTree();
+ }
+ }
+
+ return(&ParamDefTable[0]);
+}
+
+NvParameterized::ErrorType VelocitySourcePreviewParams_0p1::getParameterHandle(const char* long_name, Handle& handle) const
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+NvParameterized::ErrorType VelocitySourcePreviewParams_0p1::getParameterHandle(const char* long_name, Handle& handle)
+{
+ ErrorType Ret = NvParameters::getParameterHandle(long_name, handle);
+ if (Ret != ERROR_NONE)
+ {
+ return(Ret);
+ }
+
+ size_t offset;
+ void* ptr;
+
+ getVarPtr(handle, ptr, offset);
+
+ if (ptr == NULL)
+ {
+ return(ERROR_INDEX_OUT_OF_RANGE);
+ }
+
+ return(ERROR_NONE);
+}
+
+void VelocitySourcePreviewParams_0p1::getVarPtr(const Handle& handle, void*& ptr, size_t& offset) const
+{
+ ptr = getVarPtrHelper(&ParamLookupTable[0], const_cast<VelocitySourcePreviewParams_0p1::ParametersStruct*>(&parameters()), handle, offset);
+}
+
+
+/* Dynamic Handle Indices */
+
+void VelocitySourcePreviewParams_0p1::freeParameterDefinitionTable(NvParameterized::Traits* traits)
+{
+ if (!traits)
+ {
+ return;
+ }
+
+ if (!mBuiltFlag) // Double-checked lock
+ {
+ return;
+ }
+
+ NvParameterized::MutexType::ScopedLock lock(mBuiltFlagMutex);
+
+ if (!mBuiltFlag)
+ {
+ return;
+ }
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ ParamDefTable[i].~DefinitionImpl();
+ }
+
+ traits->free(ParamDefTable);
+
+ mBuiltFlag = false;
+}
+
+#define PDEF_PTR(index) (&ParamDefTable[index])
+
+void VelocitySourcePreviewParams_0p1::buildTree(void)
+{
+
+ uint32_t allocSize = sizeof(NvParameterized::DefinitionImpl) * NumParamDefs;
+ ParamDefTable = (NvParameterized::DefinitionImpl*)(mParameterizedTraits->alloc(allocSize));
+ memset(ParamDefTable, 0, allocSize);
+
+ for (uint32_t i = 0; i < NumParamDefs; ++i)
+ {
+ NV_PARAM_PLACEMENT_NEW(ParamDefTable + i, NvParameterized::DefinitionImpl)(*mParameterizedTraits);
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=0, longName=""
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[0];
+ ParamDef->init("", TYPE_STRUCT, "STRUCT", true);
+
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=1, longName="pose"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[1];
+ ParamDef->init("pose", TYPE_TRANSFORM, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The preview actor's position and rotation", true);
+ ParamDefTable[1].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // Initialize DefinitionImpl node: nodeIndex=2, longName="scale"
+ {
+ NvParameterized::DefinitionImpl* ParamDef = &ParamDefTable[2];
+ ParamDef->init("scale", TYPE_F32, NULL, true);
+
+#ifdef NV_PARAMETERIZED_HIDE_DESCRIPTIONS
+
+#else
+
+ static HintImpl HintTable[1];
+ static Hint* HintPtrTable[1] = { &HintTable[0], };
+ HintTable[0].init("shortDescription", "The preview actor's scale", true);
+ ParamDefTable[2].setHints((const NvParameterized::Hint**)HintPtrTable, 1);
+
+#endif /* NV_PARAMETERIZED_HIDE_DESCRIPTIONS */
+
+
+
+
+
+ }
+
+ // SetChildren for: nodeIndex=0, longName=""
+ {
+ static Definition* Children[2];
+ Children[0] = PDEF_PTR(1);
+ Children[1] = PDEF_PTR(2);
+
+ ParamDefTable[0].setChildren(Children, 2);
+ }
+
+ mBuiltFlag = true;
+
+}
+void VelocitySourcePreviewParams_0p1::initStrings(void)
+{
+}
+
+void VelocitySourcePreviewParams_0p1::initDynamicArrays(void)
+{
+}
+
+void VelocitySourcePreviewParams_0p1::initDefaults(void)
+{
+
+ freeStrings();
+ freeReferences();
+ freeDynamicArrays();
+ pose = physx::PxTransform(physx::PxIdentity);
+ scale = float(1);
+
+ initDynamicArrays();
+ initStrings();
+ initReferences();
+}
+
+void VelocitySourcePreviewParams_0p1::initReferences(void)
+{
+}
+
+void VelocitySourcePreviewParams_0p1::freeDynamicArrays(void)
+{
+}
+
+void VelocitySourcePreviewParams_0p1::freeStrings(void)
+{
+}
+
+void VelocitySourcePreviewParams_0p1::freeReferences(void)
+{
+}
+
+} // namespace parameterized
+} // namespace nvidia