aboutsummaryrefslogtreecommitdiff
path: root/APEX_1.4/module/particles/include/autogen
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/particles/include/autogen
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/particles/include/autogen')
-rw-r--r--APEX_1.4/module/particles/include/autogen/AttractorFieldSamplerData.h231
-rw-r--r--APEX_1.4/module/particles/include/autogen/AttractorFieldSamplerEffect.h291
-rw-r--r--APEX_1.4/module/particles/include/autogen/EffectPackageActorParams.h232
-rw-r--r--APEX_1.4/module/particles/include/autogen/EffectPackageAssetParams.h298
-rw-r--r--APEX_1.4/module/particles/include/autogen/EffectPackageData.h231
-rw-r--r--APEX_1.4/module/particles/include/autogen/EffectPackageDatabaseParams.h238
-rw-r--r--APEX_1.4/module/particles/include/autogen/EffectPackageEmitterDatabaseParams.h238
-rw-r--r--APEX_1.4/module/particles/include/autogen/EffectPackageFieldSamplerDatabaseParams.h238
-rw-r--r--APEX_1.4/module/particles/include/autogen/EffectPackageGraphicsMaterialsParams.h238
-rw-r--r--APEX_1.4/module/particles/include/autogen/EffectPackageIOFXDatabaseParams.h238
-rw-r--r--APEX_1.4/module/particles/include/autogen/EffectPackageIOSDatabaseParams.h238
-rw-r--r--APEX_1.4/module/particles/include/autogen/EmitterData.h231
-rw-r--r--APEX_1.4/module/particles/include/autogen/EmitterEffect.h307
-rw-r--r--APEX_1.4/module/particles/include/autogen/FlameEmitterData.h231
-rw-r--r--APEX_1.4/module/particles/include/autogen/FlameEmitterEffect.h291
-rw-r--r--APEX_1.4/module/particles/include/autogen/ForceFieldData.h231
-rw-r--r--APEX_1.4/module/particles/include/autogen/ForceFieldEffect.h291
-rw-r--r--APEX_1.4/module/particles/include/autogen/GraphicsEffectData.h231
-rw-r--r--APEX_1.4/module/particles/include/autogen/GraphicsMaterialData.h252
-rw-r--r--APEX_1.4/module/particles/include/autogen/HeatSourceData.h231
-rw-r--r--APEX_1.4/module/particles/include/autogen/HeatSourceEffect.h291
-rw-r--r--APEX_1.4/module/particles/include/autogen/JetFieldSamplerData.h231
-rw-r--r--APEX_1.4/module/particles/include/autogen/JetFieldSamplerEffect.h291
-rw-r--r--APEX_1.4/module/particles/include/autogen/ModuleParticlesRegistration.h231
-rw-r--r--APEX_1.4/module/particles/include/autogen/NoiseFieldSamplerData.h231
-rw-r--r--APEX_1.4/module/particles/include/autogen/NoiseFieldSamplerEffect.h291
-rw-r--r--APEX_1.4/module/particles/include/autogen/ParticleSimulationData.h231
-rw-r--r--APEX_1.4/module/particles/include/autogen/ParticlesDebugRenderParams.h231
-rw-r--r--APEX_1.4/module/particles/include/autogen/ParticlesModuleParameters.h230
-rw-r--r--APEX_1.4/module/particles/include/autogen/RigidBodyEffect.h300
-rw-r--r--APEX_1.4/module/particles/include/autogen/SubstanceSourceData.h231
-rw-r--r--APEX_1.4/module/particles/include/autogen/SubstanceSourceEffect.h291
-rw-r--r--APEX_1.4/module/particles/include/autogen/TurbulenceFieldSamplerData.h231
-rw-r--r--APEX_1.4/module/particles/include/autogen/TurbulenceFieldSamplerEffect.h291
-rw-r--r--APEX_1.4/module/particles/include/autogen/VelocitySourceData.h231
-rw-r--r--APEX_1.4/module/particles/include/autogen/VelocitySourceEffect.h291
-rw-r--r--APEX_1.4/module/particles/include/autogen/VolumeRenderMaterialData.h275
-rw-r--r--APEX_1.4/module/particles/include/autogen/VortexFieldSamplerData.h231
-rw-r--r--APEX_1.4/module/particles/include/autogen/VortexFieldSamplerEffect.h291
-rw-r--r--APEX_1.4/module/particles/include/autogen/WindFieldSamplerData.h231
-rw-r--r--APEX_1.4/module/particles/include/autogen/WindFieldSamplerEffect.h291
41 files changed, 10450 insertions, 0 deletions
diff --git a/APEX_1.4/module/particles/include/autogen/AttractorFieldSamplerData.h b/APEX_1.4/module/particles/include/autogen/AttractorFieldSamplerData.h
new file mode 100644
index 00000000..1cd14d6c
--- /dev/null
+++ b/APEX_1.4/module/particles/include/autogen/AttractorFieldSamplerData.h
@@ -0,0 +1,231 @@
+// 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
+
+
+#ifndef HEADER_AttractorFieldSamplerData_h
+#define HEADER_AttractorFieldSamplerData_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace particles
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace AttractorFieldSamplerDataNS
+{
+
+
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct Name;
+ NvParameterized::Interface* AttractorFieldSampler;
+
+};
+
+static const uint32_t checksum[] = { 0xad0ce7f8, 0x2fb85c3b, 0x5bd65a2b, 0x570e1992, };
+
+} // namespace AttractorFieldSamplerDataNS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class AttractorFieldSamplerData : public NvParameterized::NvParameters, public AttractorFieldSamplerDataNS::ParametersStruct
+{
+public:
+ AttractorFieldSamplerData(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~AttractorFieldSamplerData();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("AttractorFieldSamplerData");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)0;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(AttractorFieldSamplerDataNS::checksum);
+ return AttractorFieldSamplerDataNS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const AttractorFieldSamplerDataNS::ParametersStruct& parameters(void) const
+ {
+ AttractorFieldSamplerData* tmpThis = const_cast<AttractorFieldSamplerData*>(this);
+ return *(static_cast<AttractorFieldSamplerDataNS::ParametersStruct*>(tmpThis));
+ }
+
+ AttractorFieldSamplerDataNS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<AttractorFieldSamplerDataNS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class AttractorFieldSamplerDataFactory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ AttractorFieldSamplerData::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(AttractorFieldSamplerData), AttractorFieldSamplerData::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, AttractorFieldSamplerData::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class AttractorFieldSamplerData");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(AttractorFieldSamplerData)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, AttractorFieldSamplerData)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, AttractorFieldSamplerData::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, AttractorFieldSamplerData::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class AttractorFieldSamplerData");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of AttractorFieldSamplerData here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (AttractorFieldSamplerData*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (AttractorFieldSamplerData::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (AttractorFieldSamplerData::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (AttractorFieldSamplerData::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (AttractorFieldSamplerData::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace particles
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/particles/include/autogen/AttractorFieldSamplerEffect.h b/APEX_1.4/module/particles/include/autogen/AttractorFieldSamplerEffect.h
new file mode 100644
index 00000000..45856b33
--- /dev/null
+++ b/APEX_1.4/module/particles/include/autogen/AttractorFieldSamplerEffect.h
@@ -0,0 +1,291 @@
+// 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
+
+
+#ifndef HEADER_AttractorFieldSamplerEffect_h
+#define HEADER_AttractorFieldSamplerEffect_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace particles
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace AttractorFieldSamplerEffectNS
+{
+
+struct TranslateObject_Type;
+struct OrientObject_Type;
+struct ControlPoint_Type;
+struct EffectPath_Type;
+struct EffectProperties_Type;
+
+struct TRANSFORM_DynamicArray1D_Type
+{
+ physx::PxTransform* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct ControlPoint_DynamicArray1D_Type
+{
+ ControlPoint_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct TranslateObject_Type
+{
+ float TranslateX;
+ float TranslateY;
+ float TranslateZ;
+};
+struct ControlPoint_Type
+{
+ float x;
+ float y;
+};
+struct OrientObject_Type
+{
+ float RotateX;
+ float RotateY;
+ float RotateZ;
+};
+struct EffectPath_Type
+{
+ const char* PlaybackMode;
+ float PathDuration;
+ uint32_t LoopIndex;
+ TRANSFORM_DynamicArray1D_Type ControlPoints;
+ ControlPoint_DynamicArray1D_Type Scale;
+ ControlPoint_DynamicArray1D_Type Speed;
+};
+struct EffectProperties_Type
+{
+ NvParameterized::DummyStringStruct UserString;
+ bool Enable;
+ TranslateObject_Type Position;
+ OrientObject_Type Orientation;
+ float InitialDelayTime;
+ float Duration;
+ uint32_t RepeatCount;
+ float RepeatDelay;
+ float RandomizeRepeatTime;
+ EffectPath_Type Path;
+};
+
+struct ParametersStruct
+{
+
+ EffectProperties_Type EffectProperties;
+ NvParameterized::Interface* AttractorFieldSampler;
+
+};
+
+static const uint32_t checksum[] = { 0x360b5cf0, 0x2facb742, 0x97891fde, 0xc949869a, };
+
+} // namespace AttractorFieldSamplerEffectNS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class AttractorFieldSamplerEffect : public NvParameterized::NvParameters, public AttractorFieldSamplerEffectNS::ParametersStruct
+{
+public:
+ AttractorFieldSamplerEffect(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~AttractorFieldSamplerEffect();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("AttractorFieldSamplerEffect");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)0;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(AttractorFieldSamplerEffectNS::checksum);
+ return AttractorFieldSamplerEffectNS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const AttractorFieldSamplerEffectNS::ParametersStruct& parameters(void) const
+ {
+ AttractorFieldSamplerEffect* tmpThis = const_cast<AttractorFieldSamplerEffect*>(this);
+ return *(static_cast<AttractorFieldSamplerEffectNS::ParametersStruct*>(tmpThis));
+ }
+
+ AttractorFieldSamplerEffectNS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<AttractorFieldSamplerEffectNS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class AttractorFieldSamplerEffectFactory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ AttractorFieldSamplerEffect::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(AttractorFieldSamplerEffect), AttractorFieldSamplerEffect::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, AttractorFieldSamplerEffect::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class AttractorFieldSamplerEffect");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(AttractorFieldSamplerEffect)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, AttractorFieldSamplerEffect)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, AttractorFieldSamplerEffect::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, AttractorFieldSamplerEffect::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class AttractorFieldSamplerEffect");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of AttractorFieldSamplerEffect here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (AttractorFieldSamplerEffect*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (AttractorFieldSamplerEffect::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (AttractorFieldSamplerEffect::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (AttractorFieldSamplerEffect::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (AttractorFieldSamplerEffect::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace particles
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/particles/include/autogen/EffectPackageActorParams.h b/APEX_1.4/module/particles/include/autogen/EffectPackageActorParams.h
new file mode 100644
index 00000000..1ea8d499
--- /dev/null
+++ b/APEX_1.4/module/particles/include/autogen/EffectPackageActorParams.h
@@ -0,0 +1,232 @@
+// 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
+
+
+#ifndef HEADER_EffectPackageActorParams_h
+#define HEADER_EffectPackageActorParams_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace particles
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace EffectPackageActorParamsNS
+{
+
+
+
+struct ParametersStruct
+{
+
+ physx::PxTransform InitialPose;
+ float objectScale;
+ bool Enabled;
+
+};
+
+static const uint32_t checksum[] = { 0xb5e9f529, 0x94a2ff3d, 0x5955c2b8, 0x14b06ba4, };
+
+} // namespace EffectPackageActorParamsNS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class EffectPackageActorParams : public NvParameterized::NvParameters, public EffectPackageActorParamsNS::ParametersStruct
+{
+public:
+ EffectPackageActorParams(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~EffectPackageActorParams();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("EffectPackageActorParams");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)0;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(EffectPackageActorParamsNS::checksum);
+ return EffectPackageActorParamsNS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const EffectPackageActorParamsNS::ParametersStruct& parameters(void) const
+ {
+ EffectPackageActorParams* tmpThis = const_cast<EffectPackageActorParams*>(this);
+ return *(static_cast<EffectPackageActorParamsNS::ParametersStruct*>(tmpThis));
+ }
+
+ EffectPackageActorParamsNS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<EffectPackageActorParamsNS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class EffectPackageActorParamsFactory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ EffectPackageActorParams::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(EffectPackageActorParams), EffectPackageActorParams::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, EffectPackageActorParams::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class EffectPackageActorParams");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(EffectPackageActorParams)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, EffectPackageActorParams)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, EffectPackageActorParams::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, EffectPackageActorParams::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class EffectPackageActorParams");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of EffectPackageActorParams here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (EffectPackageActorParams*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (EffectPackageActorParams::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (EffectPackageActorParams::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (EffectPackageActorParams::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (EffectPackageActorParams::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace particles
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/particles/include/autogen/EffectPackageAssetParams.h b/APEX_1.4/module/particles/include/autogen/EffectPackageAssetParams.h
new file mode 100644
index 00000000..e23bf878
--- /dev/null
+++ b/APEX_1.4/module/particles/include/autogen/EffectPackageAssetParams.h
@@ -0,0 +1,298 @@
+// 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
+
+
+#ifndef HEADER_EffectPackageAssetParams_h
+#define HEADER_EffectPackageAssetParams_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace particles
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace EffectPackageAssetParamsNS
+{
+
+struct ControlPoint_Type;
+struct EffectPath_Type;
+struct LevelOfDetailSettings_Type;
+
+struct TRANSFORM_DynamicArray1D_Type
+{
+ physx::PxTransform* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct ControlPoint_DynamicArray1D_Type
+{
+ ControlPoint_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct REF_DynamicArray1D_Type
+{
+ NvParameterized::Interface** buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct ControlPoint_Type
+{
+ float x;
+ float y;
+};
+struct LevelOfDetailSettings_Type
+{
+ bool UniqueRenderVolume;
+ float FadeDistanceBegin;
+ float FadeDistanceEnd;
+ bool RandomizeEmitterRate;
+ float FadeOutRate;
+ bool CullByDistance;
+ bool CullOffScreen;
+ float OffScreenCullTime;
+ float NonVisibleDeleteTime;
+ float ScreenCullSize;
+ float ScreenCullDistance;
+ bool FadeEmitterRate;
+ bool FadeAttractorFieldStrength;
+ bool FadeJetFieldStrength;
+ bool FadeTurbulenceVelocity;
+ bool FadeTurbulenceNoise;
+ bool FadeTurbulenceExternalVelocity;
+ bool FadeTurbulenceVelocityWeight;
+ bool FadeHeatSourceTemperature;
+ bool FadeForceFieldStrength;
+ bool FadeForceFieldScale;
+};
+struct EffectPath_Type
+{
+ const char* PlaybackMode;
+ float PathDuration;
+ uint32_t LoopIndex;
+ TRANSFORM_DynamicArray1D_Type ControlPoints;
+ ControlPoint_DynamicArray1D_Type Scale;
+ ControlPoint_DynamicArray1D_Type Speed;
+};
+
+struct ParametersStruct
+{
+
+ LevelOfDetailSettings_Type LODSettings;
+ EffectPath_Type Path;
+ REF_DynamicArray1D_Type Effects;
+ NvParameterized::DummyStringStruct toolString;
+
+};
+
+static const uint32_t checksum[] = { 0xdfc6da4d, 0xdcc561ad, 0x411cf278, 0x3bdc08bc, };
+
+} // namespace EffectPackageAssetParamsNS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class EffectPackageAssetParams : public NvParameterized::NvParameters, public EffectPackageAssetParamsNS::ParametersStruct
+{
+public:
+ EffectPackageAssetParams(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~EffectPackageAssetParams();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("EffectPackageAssetParams");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)1;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(EffectPackageAssetParamsNS::checksum);
+ return EffectPackageAssetParamsNS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const EffectPackageAssetParamsNS::ParametersStruct& parameters(void) const
+ {
+ EffectPackageAssetParams* tmpThis = const_cast<EffectPackageAssetParams*>(this);
+ return *(static_cast<EffectPackageAssetParamsNS::ParametersStruct*>(tmpThis));
+ }
+
+ EffectPackageAssetParamsNS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<EffectPackageAssetParamsNS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class EffectPackageAssetParamsFactory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ EffectPackageAssetParams::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(EffectPackageAssetParams), EffectPackageAssetParams::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, EffectPackageAssetParams::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class EffectPackageAssetParams");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(EffectPackageAssetParams)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, EffectPackageAssetParams)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, EffectPackageAssetParams::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, EffectPackageAssetParams::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class EffectPackageAssetParams");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of EffectPackageAssetParams here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (EffectPackageAssetParams*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (EffectPackageAssetParams::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (EffectPackageAssetParams::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (EffectPackageAssetParams::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (EffectPackageAssetParams::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace particles
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/particles/include/autogen/EffectPackageData.h b/APEX_1.4/module/particles/include/autogen/EffectPackageData.h
new file mode 100644
index 00000000..bff5bd6d
--- /dev/null
+++ b/APEX_1.4/module/particles/include/autogen/EffectPackageData.h
@@ -0,0 +1,231 @@
+// 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
+
+
+#ifndef HEADER_EffectPackageData_h
+#define HEADER_EffectPackageData_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace particles
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace EffectPackageDataNS
+{
+
+
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct Name;
+ NvParameterized::Interface* EffectPackage;
+
+};
+
+static const uint32_t checksum[] = { 0x5f619c90, 0xacc5a650, 0x66393099, 0x47b4a900, };
+
+} // namespace EffectPackageDataNS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class EffectPackageData : public NvParameterized::NvParameters, public EffectPackageDataNS::ParametersStruct
+{
+public:
+ EffectPackageData(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~EffectPackageData();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("EffectPackageData");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)0;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(EffectPackageDataNS::checksum);
+ return EffectPackageDataNS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const EffectPackageDataNS::ParametersStruct& parameters(void) const
+ {
+ EffectPackageData* tmpThis = const_cast<EffectPackageData*>(this);
+ return *(static_cast<EffectPackageDataNS::ParametersStruct*>(tmpThis));
+ }
+
+ EffectPackageDataNS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<EffectPackageDataNS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class EffectPackageDataFactory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ EffectPackageData::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(EffectPackageData), EffectPackageData::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, EffectPackageData::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class EffectPackageData");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(EffectPackageData)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, EffectPackageData)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, EffectPackageData::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, EffectPackageData::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class EffectPackageData");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of EffectPackageData here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (EffectPackageData*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (EffectPackageData::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (EffectPackageData::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (EffectPackageData::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (EffectPackageData::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace particles
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/particles/include/autogen/EffectPackageDatabaseParams.h b/APEX_1.4/module/particles/include/autogen/EffectPackageDatabaseParams.h
new file mode 100644
index 00000000..0a3a674e
--- /dev/null
+++ b/APEX_1.4/module/particles/include/autogen/EffectPackageDatabaseParams.h
@@ -0,0 +1,238 @@
+// 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
+
+
+#ifndef HEADER_EffectPackageDatabaseParams_h
+#define HEADER_EffectPackageDatabaseParams_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace particles
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace EffectPackageDatabaseParamsNS
+{
+
+
+struct REF_DynamicArray1D_Type
+{
+ NvParameterized::Interface** buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+
+struct ParametersStruct
+{
+
+ REF_DynamicArray1D_Type EffectPackages;
+
+};
+
+static const uint32_t checksum[] = { 0xce64f369, 0x2fc860a4, 0x3c19c701, 0xcc66c5b3, };
+
+} // namespace EffectPackageDatabaseParamsNS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class EffectPackageDatabaseParams : public NvParameterized::NvParameters, public EffectPackageDatabaseParamsNS::ParametersStruct
+{
+public:
+ EffectPackageDatabaseParams(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~EffectPackageDatabaseParams();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("EffectPackageDatabaseParams");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)1;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(EffectPackageDatabaseParamsNS::checksum);
+ return EffectPackageDatabaseParamsNS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const EffectPackageDatabaseParamsNS::ParametersStruct& parameters(void) const
+ {
+ EffectPackageDatabaseParams* tmpThis = const_cast<EffectPackageDatabaseParams*>(this);
+ return *(static_cast<EffectPackageDatabaseParamsNS::ParametersStruct*>(tmpThis));
+ }
+
+ EffectPackageDatabaseParamsNS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<EffectPackageDatabaseParamsNS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class EffectPackageDatabaseParamsFactory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ EffectPackageDatabaseParams::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(EffectPackageDatabaseParams), EffectPackageDatabaseParams::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, EffectPackageDatabaseParams::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class EffectPackageDatabaseParams");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(EffectPackageDatabaseParams)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, EffectPackageDatabaseParams)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, EffectPackageDatabaseParams::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, EffectPackageDatabaseParams::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class EffectPackageDatabaseParams");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of EffectPackageDatabaseParams here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (EffectPackageDatabaseParams*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (EffectPackageDatabaseParams::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (EffectPackageDatabaseParams::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (EffectPackageDatabaseParams::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (EffectPackageDatabaseParams::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace particles
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/particles/include/autogen/EffectPackageEmitterDatabaseParams.h b/APEX_1.4/module/particles/include/autogen/EffectPackageEmitterDatabaseParams.h
new file mode 100644
index 00000000..01278e96
--- /dev/null
+++ b/APEX_1.4/module/particles/include/autogen/EffectPackageEmitterDatabaseParams.h
@@ -0,0 +1,238 @@
+// 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
+
+
+#ifndef HEADER_EffectPackageEmitterDatabaseParams_h
+#define HEADER_EffectPackageEmitterDatabaseParams_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace particles
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace EffectPackageEmitterDatabaseParamsNS
+{
+
+
+struct REF_DynamicArray1D_Type
+{
+ NvParameterized::Interface** buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+
+struct ParametersStruct
+{
+
+ REF_DynamicArray1D_Type Emitters;
+
+};
+
+static const uint32_t checksum[] = { 0x03542e55, 0x98562f65, 0x397b5760, 0xc62eb3f2, };
+
+} // namespace EffectPackageEmitterDatabaseParamsNS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class EffectPackageEmitterDatabaseParams : public NvParameterized::NvParameters, public EffectPackageEmitterDatabaseParamsNS::ParametersStruct
+{
+public:
+ EffectPackageEmitterDatabaseParams(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~EffectPackageEmitterDatabaseParams();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("EffectPackageEmitterDatabaseParams");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)0;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(EffectPackageEmitterDatabaseParamsNS::checksum);
+ return EffectPackageEmitterDatabaseParamsNS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const EffectPackageEmitterDatabaseParamsNS::ParametersStruct& parameters(void) const
+ {
+ EffectPackageEmitterDatabaseParams* tmpThis = const_cast<EffectPackageEmitterDatabaseParams*>(this);
+ return *(static_cast<EffectPackageEmitterDatabaseParamsNS::ParametersStruct*>(tmpThis));
+ }
+
+ EffectPackageEmitterDatabaseParamsNS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<EffectPackageEmitterDatabaseParamsNS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class EffectPackageEmitterDatabaseParamsFactory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ EffectPackageEmitterDatabaseParams::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(EffectPackageEmitterDatabaseParams), EffectPackageEmitterDatabaseParams::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, EffectPackageEmitterDatabaseParams::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class EffectPackageEmitterDatabaseParams");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(EffectPackageEmitterDatabaseParams)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, EffectPackageEmitterDatabaseParams)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, EffectPackageEmitterDatabaseParams::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, EffectPackageEmitterDatabaseParams::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class EffectPackageEmitterDatabaseParams");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of EffectPackageEmitterDatabaseParams here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (EffectPackageEmitterDatabaseParams*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (EffectPackageEmitterDatabaseParams::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (EffectPackageEmitterDatabaseParams::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (EffectPackageEmitterDatabaseParams::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (EffectPackageEmitterDatabaseParams::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace particles
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/particles/include/autogen/EffectPackageFieldSamplerDatabaseParams.h b/APEX_1.4/module/particles/include/autogen/EffectPackageFieldSamplerDatabaseParams.h
new file mode 100644
index 00000000..6248964f
--- /dev/null
+++ b/APEX_1.4/module/particles/include/autogen/EffectPackageFieldSamplerDatabaseParams.h
@@ -0,0 +1,238 @@
+// 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
+
+
+#ifndef HEADER_EffectPackageFieldSamplerDatabaseParams_h
+#define HEADER_EffectPackageFieldSamplerDatabaseParams_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace particles
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace EffectPackageFieldSamplerDatabaseParamsNS
+{
+
+
+struct REF_DynamicArray1D_Type
+{
+ NvParameterized::Interface** buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+
+struct ParametersStruct
+{
+
+ REF_DynamicArray1D_Type FieldSamplers;
+
+};
+
+static const uint32_t checksum[] = { 0x25f62eeb, 0xf4cccc87, 0xdcd32c61, 0x8fe20316, };
+
+} // namespace EffectPackageFieldSamplerDatabaseParamsNS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class EffectPackageFieldSamplerDatabaseParams : public NvParameterized::NvParameters, public EffectPackageFieldSamplerDatabaseParamsNS::ParametersStruct
+{
+public:
+ EffectPackageFieldSamplerDatabaseParams(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~EffectPackageFieldSamplerDatabaseParams();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("EffectPackageFieldSamplerDatabaseParams");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)0;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(EffectPackageFieldSamplerDatabaseParamsNS::checksum);
+ return EffectPackageFieldSamplerDatabaseParamsNS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const EffectPackageFieldSamplerDatabaseParamsNS::ParametersStruct& parameters(void) const
+ {
+ EffectPackageFieldSamplerDatabaseParams* tmpThis = const_cast<EffectPackageFieldSamplerDatabaseParams*>(this);
+ return *(static_cast<EffectPackageFieldSamplerDatabaseParamsNS::ParametersStruct*>(tmpThis));
+ }
+
+ EffectPackageFieldSamplerDatabaseParamsNS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<EffectPackageFieldSamplerDatabaseParamsNS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class EffectPackageFieldSamplerDatabaseParamsFactory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ EffectPackageFieldSamplerDatabaseParams::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(EffectPackageFieldSamplerDatabaseParams), EffectPackageFieldSamplerDatabaseParams::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, EffectPackageFieldSamplerDatabaseParams::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class EffectPackageFieldSamplerDatabaseParams");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(EffectPackageFieldSamplerDatabaseParams)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, EffectPackageFieldSamplerDatabaseParams)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, EffectPackageFieldSamplerDatabaseParams::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, EffectPackageFieldSamplerDatabaseParams::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class EffectPackageFieldSamplerDatabaseParams");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of EffectPackageFieldSamplerDatabaseParams here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (EffectPackageFieldSamplerDatabaseParams*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (EffectPackageFieldSamplerDatabaseParams::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (EffectPackageFieldSamplerDatabaseParams::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (EffectPackageFieldSamplerDatabaseParams::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (EffectPackageFieldSamplerDatabaseParams::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace particles
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/particles/include/autogen/EffectPackageGraphicsMaterialsParams.h b/APEX_1.4/module/particles/include/autogen/EffectPackageGraphicsMaterialsParams.h
new file mode 100644
index 00000000..868b861b
--- /dev/null
+++ b/APEX_1.4/module/particles/include/autogen/EffectPackageGraphicsMaterialsParams.h
@@ -0,0 +1,238 @@
+// 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
+
+
+#ifndef HEADER_EffectPackageGraphicsMaterialsParams_h
+#define HEADER_EffectPackageGraphicsMaterialsParams_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace particles
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace EffectPackageGraphicsMaterialsParamsNS
+{
+
+
+struct REF_DynamicArray1D_Type
+{
+ NvParameterized::Interface** buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+
+struct ParametersStruct
+{
+
+ REF_DynamicArray1D_Type GraphicsMaterials;
+
+};
+
+static const uint32_t checksum[] = { 0x2d879f87, 0x7b8f475b, 0xd42bfe31, 0x27efcd68, };
+
+} // namespace EffectPackageGraphicsMaterialsParamsNS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class EffectPackageGraphicsMaterialsParams : public NvParameterized::NvParameters, public EffectPackageGraphicsMaterialsParamsNS::ParametersStruct
+{
+public:
+ EffectPackageGraphicsMaterialsParams(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~EffectPackageGraphicsMaterialsParams();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("EffectPackageGraphicsMaterialsParams");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)0;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(EffectPackageGraphicsMaterialsParamsNS::checksum);
+ return EffectPackageGraphicsMaterialsParamsNS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const EffectPackageGraphicsMaterialsParamsNS::ParametersStruct& parameters(void) const
+ {
+ EffectPackageGraphicsMaterialsParams* tmpThis = const_cast<EffectPackageGraphicsMaterialsParams*>(this);
+ return *(static_cast<EffectPackageGraphicsMaterialsParamsNS::ParametersStruct*>(tmpThis));
+ }
+
+ EffectPackageGraphicsMaterialsParamsNS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<EffectPackageGraphicsMaterialsParamsNS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class EffectPackageGraphicsMaterialsParamsFactory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ EffectPackageGraphicsMaterialsParams::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(EffectPackageGraphicsMaterialsParams), EffectPackageGraphicsMaterialsParams::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, EffectPackageGraphicsMaterialsParams::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class EffectPackageGraphicsMaterialsParams");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(EffectPackageGraphicsMaterialsParams)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, EffectPackageGraphicsMaterialsParams)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, EffectPackageGraphicsMaterialsParams::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, EffectPackageGraphicsMaterialsParams::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class EffectPackageGraphicsMaterialsParams");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of EffectPackageGraphicsMaterialsParams here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (EffectPackageGraphicsMaterialsParams*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (EffectPackageGraphicsMaterialsParams::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (EffectPackageGraphicsMaterialsParams::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (EffectPackageGraphicsMaterialsParams::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (EffectPackageGraphicsMaterialsParams::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace particles
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/particles/include/autogen/EffectPackageIOFXDatabaseParams.h b/APEX_1.4/module/particles/include/autogen/EffectPackageIOFXDatabaseParams.h
new file mode 100644
index 00000000..0f778a42
--- /dev/null
+++ b/APEX_1.4/module/particles/include/autogen/EffectPackageIOFXDatabaseParams.h
@@ -0,0 +1,238 @@
+// 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
+
+
+#ifndef HEADER_EffectPackageIOFXDatabaseParams_h
+#define HEADER_EffectPackageIOFXDatabaseParams_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace particles
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace EffectPackageIOFXDatabaseParamsNS
+{
+
+
+struct REF_DynamicArray1D_Type
+{
+ NvParameterized::Interface** buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+
+struct ParametersStruct
+{
+
+ REF_DynamicArray1D_Type GraphicsEffects;
+
+};
+
+static const uint32_t checksum[] = { 0x012bd755, 0x3845c426, 0x155f44aa, 0xeba55527, };
+
+} // namespace EffectPackageIOFXDatabaseParamsNS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class EffectPackageIOFXDatabaseParams : public NvParameterized::NvParameters, public EffectPackageIOFXDatabaseParamsNS::ParametersStruct
+{
+public:
+ EffectPackageIOFXDatabaseParams(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~EffectPackageIOFXDatabaseParams();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("EffectPackageIOFXDatabaseParams");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)0;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(EffectPackageIOFXDatabaseParamsNS::checksum);
+ return EffectPackageIOFXDatabaseParamsNS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const EffectPackageIOFXDatabaseParamsNS::ParametersStruct& parameters(void) const
+ {
+ EffectPackageIOFXDatabaseParams* tmpThis = const_cast<EffectPackageIOFXDatabaseParams*>(this);
+ return *(static_cast<EffectPackageIOFXDatabaseParamsNS::ParametersStruct*>(tmpThis));
+ }
+
+ EffectPackageIOFXDatabaseParamsNS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<EffectPackageIOFXDatabaseParamsNS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class EffectPackageIOFXDatabaseParamsFactory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ EffectPackageIOFXDatabaseParams::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(EffectPackageIOFXDatabaseParams), EffectPackageIOFXDatabaseParams::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, EffectPackageIOFXDatabaseParams::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class EffectPackageIOFXDatabaseParams");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(EffectPackageIOFXDatabaseParams)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, EffectPackageIOFXDatabaseParams)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, EffectPackageIOFXDatabaseParams::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, EffectPackageIOFXDatabaseParams::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class EffectPackageIOFXDatabaseParams");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of EffectPackageIOFXDatabaseParams here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (EffectPackageIOFXDatabaseParams*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (EffectPackageIOFXDatabaseParams::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (EffectPackageIOFXDatabaseParams::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (EffectPackageIOFXDatabaseParams::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (EffectPackageIOFXDatabaseParams::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace particles
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/particles/include/autogen/EffectPackageIOSDatabaseParams.h b/APEX_1.4/module/particles/include/autogen/EffectPackageIOSDatabaseParams.h
new file mode 100644
index 00000000..9e89b754
--- /dev/null
+++ b/APEX_1.4/module/particles/include/autogen/EffectPackageIOSDatabaseParams.h
@@ -0,0 +1,238 @@
+// 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
+
+
+#ifndef HEADER_EffectPackageIOSDatabaseParams_h
+#define HEADER_EffectPackageIOSDatabaseParams_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace particles
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace EffectPackageIOSDatabaseParamsNS
+{
+
+
+struct REF_DynamicArray1D_Type
+{
+ NvParameterized::Interface** buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+
+struct ParametersStruct
+{
+
+ REF_DynamicArray1D_Type ParticleSimulations;
+
+};
+
+static const uint32_t checksum[] = { 0x82cbc94b, 0xb6f4c8a5, 0x5a46ce63, 0x4663e5ca, };
+
+} // namespace EffectPackageIOSDatabaseParamsNS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class EffectPackageIOSDatabaseParams : public NvParameterized::NvParameters, public EffectPackageIOSDatabaseParamsNS::ParametersStruct
+{
+public:
+ EffectPackageIOSDatabaseParams(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~EffectPackageIOSDatabaseParams();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("EffectPackageIOSDatabaseParams");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)0;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(EffectPackageIOSDatabaseParamsNS::checksum);
+ return EffectPackageIOSDatabaseParamsNS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const EffectPackageIOSDatabaseParamsNS::ParametersStruct& parameters(void) const
+ {
+ EffectPackageIOSDatabaseParams* tmpThis = const_cast<EffectPackageIOSDatabaseParams*>(this);
+ return *(static_cast<EffectPackageIOSDatabaseParamsNS::ParametersStruct*>(tmpThis));
+ }
+
+ EffectPackageIOSDatabaseParamsNS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<EffectPackageIOSDatabaseParamsNS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class EffectPackageIOSDatabaseParamsFactory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ EffectPackageIOSDatabaseParams::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(EffectPackageIOSDatabaseParams), EffectPackageIOSDatabaseParams::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, EffectPackageIOSDatabaseParams::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class EffectPackageIOSDatabaseParams");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(EffectPackageIOSDatabaseParams)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, EffectPackageIOSDatabaseParams)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, EffectPackageIOSDatabaseParams::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, EffectPackageIOSDatabaseParams::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class EffectPackageIOSDatabaseParams");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of EffectPackageIOSDatabaseParams here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (EffectPackageIOSDatabaseParams*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (EffectPackageIOSDatabaseParams::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (EffectPackageIOSDatabaseParams::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (EffectPackageIOSDatabaseParams::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (EffectPackageIOSDatabaseParams::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace particles
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/particles/include/autogen/EmitterData.h b/APEX_1.4/module/particles/include/autogen/EmitterData.h
new file mode 100644
index 00000000..7833a2ff
--- /dev/null
+++ b/APEX_1.4/module/particles/include/autogen/EmitterData.h
@@ -0,0 +1,231 @@
+// 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
+
+
+#ifndef HEADER_EmitterData_h
+#define HEADER_EmitterData_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace particles
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace EmitterDataNS
+{
+
+
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct Name;
+ NvParameterized::Interface* Emitter;
+
+};
+
+static const uint32_t checksum[] = { 0xeb7077c8, 0xa36b4a9f, 0x9095c1de, 0xc60abbf7, };
+
+} // namespace EmitterDataNS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class EmitterData : public NvParameterized::NvParameters, public EmitterDataNS::ParametersStruct
+{
+public:
+ EmitterData(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~EmitterData();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("EmitterData");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)0;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(EmitterDataNS::checksum);
+ return EmitterDataNS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const EmitterDataNS::ParametersStruct& parameters(void) const
+ {
+ EmitterData* tmpThis = const_cast<EmitterData*>(this);
+ return *(static_cast<EmitterDataNS::ParametersStruct*>(tmpThis));
+ }
+
+ EmitterDataNS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<EmitterDataNS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class EmitterDataFactory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ EmitterData::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(EmitterData), EmitterData::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, EmitterData::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class EmitterData");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(EmitterData)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, EmitterData)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, EmitterData::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, EmitterData::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class EmitterData");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of EmitterData here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (EmitterData*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (EmitterData::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (EmitterData::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (EmitterData::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (EmitterData::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace particles
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/particles/include/autogen/EmitterEffect.h b/APEX_1.4/module/particles/include/autogen/EmitterEffect.h
new file mode 100644
index 00000000..50f8916f
--- /dev/null
+++ b/APEX_1.4/module/particles/include/autogen/EmitterEffect.h
@@ -0,0 +1,307 @@
+// 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
+
+
+#ifndef HEADER_EmitterEffect_h
+#define HEADER_EmitterEffect_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace particles
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace EmitterEffectNS
+{
+
+struct TranslateObject_Type;
+struct OrientObject_Type;
+struct ControlPoint_Type;
+struct EffectPath_Type;
+struct EffectProperties_Type;
+struct EmitterVelocityAdjust_Type;
+struct EmitterVelocityProperties_Type;
+
+struct TRANSFORM_DynamicArray1D_Type
+{
+ physx::PxTransform* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct ControlPoint_DynamicArray1D_Type
+{
+ ControlPoint_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct TranslateObject_Type
+{
+ float TranslateX;
+ float TranslateY;
+ float TranslateZ;
+};
+struct ControlPoint_Type
+{
+ float x;
+ float y;
+};
+struct EmitterVelocityAdjust_Type
+{
+ bool AdjustEnabled;
+ float VelocityLow;
+ float VelocityHigh;
+ float LowValue;
+ float HighValue;
+};
+struct EmitterVelocityProperties_Type
+{
+ EmitterVelocityAdjust_Type AdjustLifetime;
+ EmitterVelocityAdjust_Type AdjustEmitterRate;
+};
+struct OrientObject_Type
+{
+ float RotateX;
+ float RotateY;
+ float RotateZ;
+};
+struct EffectPath_Type
+{
+ const char* PlaybackMode;
+ float PathDuration;
+ uint32_t LoopIndex;
+ TRANSFORM_DynamicArray1D_Type ControlPoints;
+ ControlPoint_DynamicArray1D_Type Scale;
+ ControlPoint_DynamicArray1D_Type Speed;
+};
+struct EffectProperties_Type
+{
+ NvParameterized::DummyStringStruct UserString;
+ bool Enable;
+ TranslateObject_Type Position;
+ OrientObject_Type Orientation;
+ float InitialDelayTime;
+ float Duration;
+ uint32_t RepeatCount;
+ float RepeatDelay;
+ float RandomizeRepeatTime;
+ EffectPath_Type Path;
+};
+
+struct ParametersStruct
+{
+
+ EffectProperties_Type EffectProperties;
+ EmitterVelocityProperties_Type EmitterVelocityChanges;
+ NvParameterized::Interface* Emitter;
+
+};
+
+static const uint32_t checksum[] = { 0x6625c413, 0xed57cae4, 0x3c9d8836, 0xf4105a87, };
+
+} // namespace EmitterEffectNS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class EmitterEffect : public NvParameterized::NvParameters, public EmitterEffectNS::ParametersStruct
+{
+public:
+ EmitterEffect(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~EmitterEffect();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("EmitterEffect");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)0;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(EmitterEffectNS::checksum);
+ return EmitterEffectNS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const EmitterEffectNS::ParametersStruct& parameters(void) const
+ {
+ EmitterEffect* tmpThis = const_cast<EmitterEffect*>(this);
+ return *(static_cast<EmitterEffectNS::ParametersStruct*>(tmpThis));
+ }
+
+ EmitterEffectNS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<EmitterEffectNS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class EmitterEffectFactory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ EmitterEffect::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(EmitterEffect), EmitterEffect::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, EmitterEffect::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class EmitterEffect");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(EmitterEffect)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, EmitterEffect)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, EmitterEffect::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, EmitterEffect::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class EmitterEffect");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of EmitterEffect here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (EmitterEffect*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (EmitterEffect::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (EmitterEffect::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (EmitterEffect::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (EmitterEffect::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace particles
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/particles/include/autogen/FlameEmitterData.h b/APEX_1.4/module/particles/include/autogen/FlameEmitterData.h
new file mode 100644
index 00000000..863eb4f3
--- /dev/null
+++ b/APEX_1.4/module/particles/include/autogen/FlameEmitterData.h
@@ -0,0 +1,231 @@
+// 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
+
+
+#ifndef HEADER_FlameEmitterData_h
+#define HEADER_FlameEmitterData_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace particles
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace FlameEmitterDataNS
+{
+
+
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct Name;
+ NvParameterized::Interface* FlameEmitter;
+
+};
+
+static const uint32_t checksum[] = { 0x90a03422, 0x50c8e759, 0xf9df589f, 0x56836e65, };
+
+} // namespace FlameEmitterDataNS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class FlameEmitterData : public NvParameterized::NvParameters, public FlameEmitterDataNS::ParametersStruct
+{
+public:
+ FlameEmitterData(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~FlameEmitterData();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("FlameEmitterData");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)0;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(FlameEmitterDataNS::checksum);
+ return FlameEmitterDataNS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const FlameEmitterDataNS::ParametersStruct& parameters(void) const
+ {
+ FlameEmitterData* tmpThis = const_cast<FlameEmitterData*>(this);
+ return *(static_cast<FlameEmitterDataNS::ParametersStruct*>(tmpThis));
+ }
+
+ FlameEmitterDataNS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<FlameEmitterDataNS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class FlameEmitterDataFactory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ FlameEmitterData::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(FlameEmitterData), FlameEmitterData::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, FlameEmitterData::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class FlameEmitterData");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(FlameEmitterData)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, FlameEmitterData)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, FlameEmitterData::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, FlameEmitterData::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class FlameEmitterData");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of FlameEmitterData here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (FlameEmitterData*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (FlameEmitterData::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (FlameEmitterData::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (FlameEmitterData::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (FlameEmitterData::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace particles
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/particles/include/autogen/FlameEmitterEffect.h b/APEX_1.4/module/particles/include/autogen/FlameEmitterEffect.h
new file mode 100644
index 00000000..2fdcd943
--- /dev/null
+++ b/APEX_1.4/module/particles/include/autogen/FlameEmitterEffect.h
@@ -0,0 +1,291 @@
+// 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
+
+
+#ifndef HEADER_FlameEmitterEffect_h
+#define HEADER_FlameEmitterEffect_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace particles
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace FlameEmitterEffectNS
+{
+
+struct TranslateObject_Type;
+struct OrientObject_Type;
+struct ControlPoint_Type;
+struct EffectPath_Type;
+struct EffectProperties_Type;
+
+struct TRANSFORM_DynamicArray1D_Type
+{
+ physx::PxTransform* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct ControlPoint_DynamicArray1D_Type
+{
+ ControlPoint_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct TranslateObject_Type
+{
+ float TranslateX;
+ float TranslateY;
+ float TranslateZ;
+};
+struct ControlPoint_Type
+{
+ float x;
+ float y;
+};
+struct OrientObject_Type
+{
+ float RotateX;
+ float RotateY;
+ float RotateZ;
+};
+struct EffectPath_Type
+{
+ const char* PlaybackMode;
+ float PathDuration;
+ uint32_t LoopIndex;
+ TRANSFORM_DynamicArray1D_Type ControlPoints;
+ ControlPoint_DynamicArray1D_Type Scale;
+ ControlPoint_DynamicArray1D_Type Speed;
+};
+struct EffectProperties_Type
+{
+ NvParameterized::DummyStringStruct UserString;
+ bool Enable;
+ TranslateObject_Type Position;
+ OrientObject_Type Orientation;
+ float InitialDelayTime;
+ float Duration;
+ uint32_t RepeatCount;
+ float RepeatDelay;
+ float RandomizeRepeatTime;
+ EffectPath_Type Path;
+};
+
+struct ParametersStruct
+{
+
+ EffectProperties_Type EffectProperties;
+ NvParameterized::Interface* FlameEmitter;
+
+};
+
+static const uint32_t checksum[] = { 0xb3b9f3eb, 0xe8fbc19a, 0xb1474af1, 0xf5ede5b6, };
+
+} // namespace FlameEmitterEffectNS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class FlameEmitterEffect : public NvParameterized::NvParameters, public FlameEmitterEffectNS::ParametersStruct
+{
+public:
+ FlameEmitterEffect(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~FlameEmitterEffect();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("FlameEmitterEffect");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)0;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(FlameEmitterEffectNS::checksum);
+ return FlameEmitterEffectNS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const FlameEmitterEffectNS::ParametersStruct& parameters(void) const
+ {
+ FlameEmitterEffect* tmpThis = const_cast<FlameEmitterEffect*>(this);
+ return *(static_cast<FlameEmitterEffectNS::ParametersStruct*>(tmpThis));
+ }
+
+ FlameEmitterEffectNS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<FlameEmitterEffectNS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class FlameEmitterEffectFactory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ FlameEmitterEffect::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(FlameEmitterEffect), FlameEmitterEffect::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, FlameEmitterEffect::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class FlameEmitterEffect");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(FlameEmitterEffect)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, FlameEmitterEffect)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, FlameEmitterEffect::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, FlameEmitterEffect::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class FlameEmitterEffect");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of FlameEmitterEffect here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (FlameEmitterEffect*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (FlameEmitterEffect::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (FlameEmitterEffect::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (FlameEmitterEffect::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (FlameEmitterEffect::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace particles
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/particles/include/autogen/ForceFieldData.h b/APEX_1.4/module/particles/include/autogen/ForceFieldData.h
new file mode 100644
index 00000000..0e081b37
--- /dev/null
+++ b/APEX_1.4/module/particles/include/autogen/ForceFieldData.h
@@ -0,0 +1,231 @@
+// 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
+
+
+#ifndef HEADER_ForceFieldData_h
+#define HEADER_ForceFieldData_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace particles
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace ForceFieldDataNS
+{
+
+
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct Name;
+ NvParameterized::Interface* ForceField;
+
+};
+
+static const uint32_t checksum[] = { 0x0c7aa318, 0x555a616b, 0x584651f3, 0xec048707, };
+
+} // namespace ForceFieldDataNS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class ForceFieldData : public NvParameterized::NvParameters, public ForceFieldDataNS::ParametersStruct
+{
+public:
+ ForceFieldData(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~ForceFieldData();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("ForceFieldData");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)0;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(ForceFieldDataNS::checksum);
+ return ForceFieldDataNS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const ForceFieldDataNS::ParametersStruct& parameters(void) const
+ {
+ ForceFieldData* tmpThis = const_cast<ForceFieldData*>(this);
+ return *(static_cast<ForceFieldDataNS::ParametersStruct*>(tmpThis));
+ }
+
+ ForceFieldDataNS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<ForceFieldDataNS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class ForceFieldDataFactory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ ForceFieldData::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(ForceFieldData), ForceFieldData::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, ForceFieldData::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class ForceFieldData");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(ForceFieldData)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, ForceFieldData)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, ForceFieldData::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, ForceFieldData::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class ForceFieldData");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of ForceFieldData here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (ForceFieldData*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (ForceFieldData::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (ForceFieldData::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (ForceFieldData::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (ForceFieldData::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace particles
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/particles/include/autogen/ForceFieldEffect.h b/APEX_1.4/module/particles/include/autogen/ForceFieldEffect.h
new file mode 100644
index 00000000..86d18114
--- /dev/null
+++ b/APEX_1.4/module/particles/include/autogen/ForceFieldEffect.h
@@ -0,0 +1,291 @@
+// 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
+
+
+#ifndef HEADER_ForceFieldEffect_h
+#define HEADER_ForceFieldEffect_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace particles
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace ForceFieldEffectNS
+{
+
+struct TranslateObject_Type;
+struct OrientObject_Type;
+struct ControlPoint_Type;
+struct EffectPath_Type;
+struct EffectProperties_Type;
+
+struct TRANSFORM_DynamicArray1D_Type
+{
+ physx::PxTransform* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct ControlPoint_DynamicArray1D_Type
+{
+ ControlPoint_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct TranslateObject_Type
+{
+ float TranslateX;
+ float TranslateY;
+ float TranslateZ;
+};
+struct ControlPoint_Type
+{
+ float x;
+ float y;
+};
+struct OrientObject_Type
+{
+ float RotateX;
+ float RotateY;
+ float RotateZ;
+};
+struct EffectPath_Type
+{
+ const char* PlaybackMode;
+ float PathDuration;
+ uint32_t LoopIndex;
+ TRANSFORM_DynamicArray1D_Type ControlPoints;
+ ControlPoint_DynamicArray1D_Type Scale;
+ ControlPoint_DynamicArray1D_Type Speed;
+};
+struct EffectProperties_Type
+{
+ NvParameterized::DummyStringStruct UserString;
+ bool Enable;
+ TranslateObject_Type Position;
+ OrientObject_Type Orientation;
+ float InitialDelayTime;
+ float Duration;
+ uint32_t RepeatCount;
+ float RepeatDelay;
+ float RandomizeRepeatTime;
+ EffectPath_Type Path;
+};
+
+struct ParametersStruct
+{
+
+ EffectProperties_Type EffectProperties;
+ NvParameterized::Interface* ForceField;
+
+};
+
+static const uint32_t checksum[] = { 0x2b5fd898, 0x8edc0468, 0x993e03e6, 0x7223fc69, };
+
+} // namespace ForceFieldEffectNS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class ForceFieldEffect : public NvParameterized::NvParameters, public ForceFieldEffectNS::ParametersStruct
+{
+public:
+ ForceFieldEffect(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~ForceFieldEffect();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("ForceFieldEffect");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)0;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(ForceFieldEffectNS::checksum);
+ return ForceFieldEffectNS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const ForceFieldEffectNS::ParametersStruct& parameters(void) const
+ {
+ ForceFieldEffect* tmpThis = const_cast<ForceFieldEffect*>(this);
+ return *(static_cast<ForceFieldEffectNS::ParametersStruct*>(tmpThis));
+ }
+
+ ForceFieldEffectNS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<ForceFieldEffectNS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class ForceFieldEffectFactory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ ForceFieldEffect::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(ForceFieldEffect), ForceFieldEffect::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, ForceFieldEffect::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class ForceFieldEffect");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(ForceFieldEffect)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, ForceFieldEffect)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, ForceFieldEffect::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, ForceFieldEffect::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class ForceFieldEffect");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of ForceFieldEffect here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (ForceFieldEffect*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (ForceFieldEffect::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (ForceFieldEffect::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (ForceFieldEffect::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (ForceFieldEffect::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace particles
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/particles/include/autogen/GraphicsEffectData.h b/APEX_1.4/module/particles/include/autogen/GraphicsEffectData.h
new file mode 100644
index 00000000..85bf8bad
--- /dev/null
+++ b/APEX_1.4/module/particles/include/autogen/GraphicsEffectData.h
@@ -0,0 +1,231 @@
+// 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
+
+
+#ifndef HEADER_GraphicsEffectData_h
+#define HEADER_GraphicsEffectData_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace particles
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace GraphicsEffectDataNS
+{
+
+
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct Name;
+ NvParameterized::Interface* IOFX;
+
+};
+
+static const uint32_t checksum[] = { 0xe35d59af, 0xb5a73c73, 0x8c86843a, 0x40cac44d, };
+
+} // namespace GraphicsEffectDataNS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class GraphicsEffectData : public NvParameterized::NvParameters, public GraphicsEffectDataNS::ParametersStruct
+{
+public:
+ GraphicsEffectData(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~GraphicsEffectData();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("GraphicsEffectData");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)0;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(GraphicsEffectDataNS::checksum);
+ return GraphicsEffectDataNS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const GraphicsEffectDataNS::ParametersStruct& parameters(void) const
+ {
+ GraphicsEffectData* tmpThis = const_cast<GraphicsEffectData*>(this);
+ return *(static_cast<GraphicsEffectDataNS::ParametersStruct*>(tmpThis));
+ }
+
+ GraphicsEffectDataNS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<GraphicsEffectDataNS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class GraphicsEffectDataFactory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ GraphicsEffectData::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(GraphicsEffectData), GraphicsEffectData::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, GraphicsEffectData::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class GraphicsEffectData");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(GraphicsEffectData)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, GraphicsEffectData)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, GraphicsEffectData::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, GraphicsEffectData::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class GraphicsEffectData");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of GraphicsEffectData here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (GraphicsEffectData*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (GraphicsEffectData::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (GraphicsEffectData::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (GraphicsEffectData::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (GraphicsEffectData::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace particles
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/particles/include/autogen/GraphicsMaterialData.h b/APEX_1.4/module/particles/include/autogen/GraphicsMaterialData.h
new file mode 100644
index 00000000..b1f49747
--- /dev/null
+++ b/APEX_1.4/module/particles/include/autogen/GraphicsMaterialData.h
@@ -0,0 +1,252 @@
+// 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
+
+
+#ifndef HEADER_GraphicsMaterialData_h
+#define HEADER_GraphicsMaterialData_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace particles
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace GraphicsMaterialDataNS
+{
+
+struct FrustumPSM_Type;
+
+struct FrustumPSM_Type
+{
+ bool ShowFrustum;
+ float FrustumDepth;
+ float FrustumSize;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct Name;
+ NvParameterized::DummyStringStruct ApplicationMaterialName;
+ NvParameterized::DummyStringStruct UserProperties;
+ const char* RenderTechnique;
+ NvParameterized::DummyStringStruct DiffuseTexture;
+ uint32_t CellColumn;
+ uint32_t CellRow;
+ uint32_t CellCount;
+ bool CrossBlend;
+ float ColorMultiplier;
+ bool UsePSM;
+ const char* Resolution;
+ uint32_t FullResPercent;
+ uint32_t HalfResPercent;
+ float PSM_ShadowBias;
+ FrustumPSM_Type PSM_Frustum;
+
+};
+
+static const uint32_t checksum[] = { 0xbf6d3670, 0xa7e5523c, 0xb276fd23, 0x81d15eb6, };
+
+} // namespace GraphicsMaterialDataNS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class GraphicsMaterialData : public NvParameterized::NvParameters, public GraphicsMaterialDataNS::ParametersStruct
+{
+public:
+ GraphicsMaterialData(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~GraphicsMaterialData();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("GraphicsMaterialData");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)4;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(GraphicsMaterialDataNS::checksum);
+ return GraphicsMaterialDataNS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const GraphicsMaterialDataNS::ParametersStruct& parameters(void) const
+ {
+ GraphicsMaterialData* tmpThis = const_cast<GraphicsMaterialData*>(this);
+ return *(static_cast<GraphicsMaterialDataNS::ParametersStruct*>(tmpThis));
+ }
+
+ GraphicsMaterialDataNS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<GraphicsMaterialDataNS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class GraphicsMaterialDataFactory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ GraphicsMaterialData::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(GraphicsMaterialData), GraphicsMaterialData::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, GraphicsMaterialData::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class GraphicsMaterialData");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(GraphicsMaterialData)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, GraphicsMaterialData)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, GraphicsMaterialData::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, GraphicsMaterialData::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class GraphicsMaterialData");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of GraphicsMaterialData here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (GraphicsMaterialData*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (GraphicsMaterialData::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (GraphicsMaterialData::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (GraphicsMaterialData::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (GraphicsMaterialData::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace particles
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/particles/include/autogen/HeatSourceData.h b/APEX_1.4/module/particles/include/autogen/HeatSourceData.h
new file mode 100644
index 00000000..94a9cbaf
--- /dev/null
+++ b/APEX_1.4/module/particles/include/autogen/HeatSourceData.h
@@ -0,0 +1,231 @@
+// 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
+
+
+#ifndef HEADER_HeatSourceData_h
+#define HEADER_HeatSourceData_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace particles
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace HeatSourceDataNS
+{
+
+
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct Name;
+ NvParameterized::Interface* HeatSource;
+
+};
+
+static const uint32_t checksum[] = { 0x95cb6853, 0x83e850af, 0xe32f27b8, 0xc0ec3b33, };
+
+} // namespace HeatSourceDataNS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class HeatSourceData : public NvParameterized::NvParameters, public HeatSourceDataNS::ParametersStruct
+{
+public:
+ HeatSourceData(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~HeatSourceData();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("HeatSourceData");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)0;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(HeatSourceDataNS::checksum);
+ return HeatSourceDataNS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const HeatSourceDataNS::ParametersStruct& parameters(void) const
+ {
+ HeatSourceData* tmpThis = const_cast<HeatSourceData*>(this);
+ return *(static_cast<HeatSourceDataNS::ParametersStruct*>(tmpThis));
+ }
+
+ HeatSourceDataNS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<HeatSourceDataNS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class HeatSourceDataFactory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ HeatSourceData::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(HeatSourceData), HeatSourceData::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, HeatSourceData::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class HeatSourceData");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(HeatSourceData)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, HeatSourceData)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, HeatSourceData::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, HeatSourceData::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class HeatSourceData");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of HeatSourceData here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (HeatSourceData*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (HeatSourceData::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (HeatSourceData::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (HeatSourceData::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (HeatSourceData::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace particles
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/particles/include/autogen/HeatSourceEffect.h b/APEX_1.4/module/particles/include/autogen/HeatSourceEffect.h
new file mode 100644
index 00000000..d8a85408
--- /dev/null
+++ b/APEX_1.4/module/particles/include/autogen/HeatSourceEffect.h
@@ -0,0 +1,291 @@
+// 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
+
+
+#ifndef HEADER_HeatSourceEffect_h
+#define HEADER_HeatSourceEffect_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace particles
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace HeatSourceEffectNS
+{
+
+struct TranslateObject_Type;
+struct OrientObject_Type;
+struct ControlPoint_Type;
+struct EffectPath_Type;
+struct EffectProperties_Type;
+
+struct TRANSFORM_DynamicArray1D_Type
+{
+ physx::PxTransform* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct ControlPoint_DynamicArray1D_Type
+{
+ ControlPoint_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct TranslateObject_Type
+{
+ float TranslateX;
+ float TranslateY;
+ float TranslateZ;
+};
+struct ControlPoint_Type
+{
+ float x;
+ float y;
+};
+struct OrientObject_Type
+{
+ float RotateX;
+ float RotateY;
+ float RotateZ;
+};
+struct EffectPath_Type
+{
+ const char* PlaybackMode;
+ float PathDuration;
+ uint32_t LoopIndex;
+ TRANSFORM_DynamicArray1D_Type ControlPoints;
+ ControlPoint_DynamicArray1D_Type Scale;
+ ControlPoint_DynamicArray1D_Type Speed;
+};
+struct EffectProperties_Type
+{
+ NvParameterized::DummyStringStruct UserString;
+ bool Enable;
+ TranslateObject_Type Position;
+ OrientObject_Type Orientation;
+ float InitialDelayTime;
+ float Duration;
+ uint32_t RepeatCount;
+ float RepeatDelay;
+ float RandomizeRepeatTime;
+ EffectPath_Type Path;
+};
+
+struct ParametersStruct
+{
+
+ EffectProperties_Type EffectProperties;
+ NvParameterized::Interface* HeatSource;
+
+};
+
+static const uint32_t checksum[] = { 0x36c6c535, 0xacde2d3c, 0x02d6822e, 0x61a889a1, };
+
+} // namespace HeatSourceEffectNS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class HeatSourceEffect : public NvParameterized::NvParameters, public HeatSourceEffectNS::ParametersStruct
+{
+public:
+ HeatSourceEffect(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~HeatSourceEffect();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("HeatSourceEffect");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)0;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(HeatSourceEffectNS::checksum);
+ return HeatSourceEffectNS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const HeatSourceEffectNS::ParametersStruct& parameters(void) const
+ {
+ HeatSourceEffect* tmpThis = const_cast<HeatSourceEffect*>(this);
+ return *(static_cast<HeatSourceEffectNS::ParametersStruct*>(tmpThis));
+ }
+
+ HeatSourceEffectNS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<HeatSourceEffectNS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class HeatSourceEffectFactory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ HeatSourceEffect::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(HeatSourceEffect), HeatSourceEffect::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, HeatSourceEffect::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class HeatSourceEffect");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(HeatSourceEffect)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, HeatSourceEffect)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, HeatSourceEffect::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, HeatSourceEffect::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class HeatSourceEffect");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of HeatSourceEffect here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (HeatSourceEffect*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (HeatSourceEffect::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (HeatSourceEffect::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (HeatSourceEffect::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (HeatSourceEffect::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace particles
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/particles/include/autogen/JetFieldSamplerData.h b/APEX_1.4/module/particles/include/autogen/JetFieldSamplerData.h
new file mode 100644
index 00000000..d54063c7
--- /dev/null
+++ b/APEX_1.4/module/particles/include/autogen/JetFieldSamplerData.h
@@ -0,0 +1,231 @@
+// 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
+
+
+#ifndef HEADER_JetFieldSamplerData_h
+#define HEADER_JetFieldSamplerData_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace particles
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace JetFieldSamplerDataNS
+{
+
+
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct Name;
+ NvParameterized::Interface* JetFieldSampler;
+
+};
+
+static const uint32_t checksum[] = { 0x03f96027, 0x2e12817c, 0xbde0a2fa, 0xc47c7a9d, };
+
+} // namespace JetFieldSamplerDataNS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class JetFieldSamplerData : public NvParameterized::NvParameters, public JetFieldSamplerDataNS::ParametersStruct
+{
+public:
+ JetFieldSamplerData(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~JetFieldSamplerData();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("JetFieldSamplerData");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)0;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(JetFieldSamplerDataNS::checksum);
+ return JetFieldSamplerDataNS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const JetFieldSamplerDataNS::ParametersStruct& parameters(void) const
+ {
+ JetFieldSamplerData* tmpThis = const_cast<JetFieldSamplerData*>(this);
+ return *(static_cast<JetFieldSamplerDataNS::ParametersStruct*>(tmpThis));
+ }
+
+ JetFieldSamplerDataNS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<JetFieldSamplerDataNS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class JetFieldSamplerDataFactory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ JetFieldSamplerData::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(JetFieldSamplerData), JetFieldSamplerData::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, JetFieldSamplerData::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class JetFieldSamplerData");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(JetFieldSamplerData)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, JetFieldSamplerData)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, JetFieldSamplerData::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, JetFieldSamplerData::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class JetFieldSamplerData");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of JetFieldSamplerData here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (JetFieldSamplerData*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (JetFieldSamplerData::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (JetFieldSamplerData::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (JetFieldSamplerData::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (JetFieldSamplerData::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace particles
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/particles/include/autogen/JetFieldSamplerEffect.h b/APEX_1.4/module/particles/include/autogen/JetFieldSamplerEffect.h
new file mode 100644
index 00000000..4823e5e7
--- /dev/null
+++ b/APEX_1.4/module/particles/include/autogen/JetFieldSamplerEffect.h
@@ -0,0 +1,291 @@
+// 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
+
+
+#ifndef HEADER_JetFieldSamplerEffect_h
+#define HEADER_JetFieldSamplerEffect_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace particles
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace JetFieldSamplerEffectNS
+{
+
+struct TranslateObject_Type;
+struct OrientObject_Type;
+struct ControlPoint_Type;
+struct EffectPath_Type;
+struct EffectProperties_Type;
+
+struct TRANSFORM_DynamicArray1D_Type
+{
+ physx::PxTransform* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct ControlPoint_DynamicArray1D_Type
+{
+ ControlPoint_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct TranslateObject_Type
+{
+ float TranslateX;
+ float TranslateY;
+ float TranslateZ;
+};
+struct ControlPoint_Type
+{
+ float x;
+ float y;
+};
+struct OrientObject_Type
+{
+ float RotateX;
+ float RotateY;
+ float RotateZ;
+};
+struct EffectPath_Type
+{
+ const char* PlaybackMode;
+ float PathDuration;
+ uint32_t LoopIndex;
+ TRANSFORM_DynamicArray1D_Type ControlPoints;
+ ControlPoint_DynamicArray1D_Type Scale;
+ ControlPoint_DynamicArray1D_Type Speed;
+};
+struct EffectProperties_Type
+{
+ NvParameterized::DummyStringStruct UserString;
+ bool Enable;
+ TranslateObject_Type Position;
+ OrientObject_Type Orientation;
+ float InitialDelayTime;
+ float Duration;
+ uint32_t RepeatCount;
+ float RepeatDelay;
+ float RandomizeRepeatTime;
+ EffectPath_Type Path;
+};
+
+struct ParametersStruct
+{
+
+ EffectProperties_Type EffectProperties;
+ NvParameterized::Interface* JetFieldSampler;
+
+};
+
+static const uint32_t checksum[] = { 0x7b0238b8, 0xac56941a, 0x7b0fd303, 0x27182e77, };
+
+} // namespace JetFieldSamplerEffectNS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class JetFieldSamplerEffect : public NvParameterized::NvParameters, public JetFieldSamplerEffectNS::ParametersStruct
+{
+public:
+ JetFieldSamplerEffect(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~JetFieldSamplerEffect();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("JetFieldSamplerEffect");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)0;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(JetFieldSamplerEffectNS::checksum);
+ return JetFieldSamplerEffectNS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const JetFieldSamplerEffectNS::ParametersStruct& parameters(void) const
+ {
+ JetFieldSamplerEffect* tmpThis = const_cast<JetFieldSamplerEffect*>(this);
+ return *(static_cast<JetFieldSamplerEffectNS::ParametersStruct*>(tmpThis));
+ }
+
+ JetFieldSamplerEffectNS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<JetFieldSamplerEffectNS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class JetFieldSamplerEffectFactory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ JetFieldSamplerEffect::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(JetFieldSamplerEffect), JetFieldSamplerEffect::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, JetFieldSamplerEffect::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class JetFieldSamplerEffect");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(JetFieldSamplerEffect)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, JetFieldSamplerEffect)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, JetFieldSamplerEffect::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, JetFieldSamplerEffect::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class JetFieldSamplerEffect");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of JetFieldSamplerEffect here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (JetFieldSamplerEffect*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (JetFieldSamplerEffect::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (JetFieldSamplerEffect::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (JetFieldSamplerEffect::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (JetFieldSamplerEffect::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace particles
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/particles/include/autogen/ModuleParticlesRegistration.h b/APEX_1.4/module/particles/include/autogen/ModuleParticlesRegistration.h
new file mode 100644
index 00000000..26d65092
--- /dev/null
+++ b/APEX_1.4/module/particles/include/autogen/ModuleParticlesRegistration.h
@@ -0,0 +1,231 @@
+/*
+ * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * NVIDIA CORPORATION and its licensors retain all intellectual property
+ * and proprietary rights in and to this software, related documentation
+ * and any modifications thereto. Any use, reproduction, disclosure or
+ * distribution of this software and related documentation without an express
+ * license agreement from NVIDIA CORPORATION is strictly prohibited.
+ */
+
+#ifndef MODULE_MODULEPARTICLESREGISTRATIONH_H
+#define MODULE_MODULEPARTICLESREGISTRATIONH_H
+
+#include "PsAllocator.h"
+#include "NvRegistrationsForTraitsBase.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "PxAssert.h"
+#include <stdint.h>
+
+// INCLUDE GENERATED FACTORIES
+#include "EffectPackageActorParams.h"
+#include "EffectPackageAssetParams.h"
+#include "HeatSourceEffect.h"
+#include "EmitterEffect.h"
+#include "ForceFieldEffect.h"
+#include "TurbulenceFieldSamplerEffect.h"
+#include "AttractorFieldSamplerEffect.h"
+#include "JetFieldSamplerEffect.h"
+#include "NoiseFieldSamplerEffect.h"
+#include "VortexFieldSamplerEffect.h"
+#include "SubstanceSourceEffect.h"
+#include "WindFieldSamplerEffect.h"
+#include "RigidBodyEffect.h"
+#include "VelocitySourceEffect.h"
+#include "FlameEmitterEffect.h"
+#include "EffectPackageDatabaseParams.h"
+#include "EffectPackageData.h"
+#include "ParticlesDebugRenderParams.h"
+#include "EffectPackageEmitterDatabaseParams.h"
+#include "EmitterData.h"
+#include "EffectPackageFieldSamplerDatabaseParams.h"
+#include "AttractorFieldSamplerData.h"
+#include "HeatSourceData.h"
+#include "JetFieldSamplerData.h"
+#include "TurbulenceFieldSamplerData.h"
+#include "ForceFieldData.h"
+#include "NoiseFieldSamplerData.h"
+#include "VortexFieldSamplerData.h"
+#include "SubstanceSourceData.h"
+#include "WindFieldSamplerData.h"
+#include "VelocitySourceData.h"
+#include "FlameEmitterData.h"
+#include "EffectPackageGraphicsMaterialsParams.h"
+#include "GraphicsMaterialData.h"
+#include "VolumeRenderMaterialData.h"
+#include "EffectPackageIOFXDatabaseParams.h"
+#include "GraphicsEffectData.h"
+#include "EffectPackageIOSDatabaseParams.h"
+#include "ParticleSimulationData.h"
+#include "ParticlesModuleParameters.h"
+
+
+// INCLUDE GENERATED CONVERSION
+
+
+namespace nvidia {
+namespace particles {
+
+
+class ModuleParticlesRegistration : public NvParameterized::RegistrationsForTraitsBase
+{
+public:
+ static void invokeRegistration(NvParameterized::Traits* parameterizedTraits)
+ {
+ if (parameterizedTraits)
+ {
+ ModuleParticlesRegistration().registerAll(*parameterizedTraits);
+ }
+ }
+
+ static void invokeUnregistration(NvParameterized::Traits* parameterizedTraits)
+ {
+ if (parameterizedTraits)
+ {
+ ModuleParticlesRegistration().unregisterAll(*parameterizedTraits);
+ }
+ }
+
+ void registerAvailableFactories(NvParameterized::Traits& parameterizedTraits)
+ {
+ ::NvParameterized::Factory* factoriesToRegister[] = {
+// REGISTER GENERATED FACTORIES
+ new nvidia::particles::EffectPackageActorParamsFactory(),
+ new nvidia::particles::EffectPackageAssetParamsFactory(),
+ new nvidia::particles::HeatSourceEffectFactory(),
+ new nvidia::particles::EmitterEffectFactory(),
+ new nvidia::particles::ForceFieldEffectFactory(),
+ new nvidia::particles::TurbulenceFieldSamplerEffectFactory(),
+ new nvidia::particles::AttractorFieldSamplerEffectFactory(),
+ new nvidia::particles::JetFieldSamplerEffectFactory(),
+ new nvidia::particles::NoiseFieldSamplerEffectFactory(),
+ new nvidia::particles::VortexFieldSamplerEffectFactory(),
+ new nvidia::particles::SubstanceSourceEffectFactory(),
+ new nvidia::particles::WindFieldSamplerEffectFactory(),
+ new nvidia::particles::RigidBodyEffectFactory(),
+ new nvidia::particles::VelocitySourceEffectFactory(),
+ new nvidia::particles::FlameEmitterEffectFactory(),
+ new nvidia::particles::EffectPackageDatabaseParamsFactory(),
+ new nvidia::particles::EffectPackageDataFactory(),
+ new nvidia::particles::ParticlesDebugRenderParamsFactory(),
+ new nvidia::particles::EffectPackageEmitterDatabaseParamsFactory(),
+ new nvidia::particles::EmitterDataFactory(),
+ new nvidia::particles::EffectPackageFieldSamplerDatabaseParamsFactory(),
+ new nvidia::particles::AttractorFieldSamplerDataFactory(),
+ new nvidia::particles::HeatSourceDataFactory(),
+ new nvidia::particles::JetFieldSamplerDataFactory(),
+ new nvidia::particles::TurbulenceFieldSamplerDataFactory(),
+ new nvidia::particles::ForceFieldDataFactory(),
+ new nvidia::particles::NoiseFieldSamplerDataFactory(),
+ new nvidia::particles::VortexFieldSamplerDataFactory(),
+ new nvidia::particles::SubstanceSourceDataFactory(),
+ new nvidia::particles::WindFieldSamplerDataFactory(),
+ new nvidia::particles::VelocitySourceDataFactory(),
+ new nvidia::particles::FlameEmitterDataFactory(),
+ new nvidia::particles::EffectPackageGraphicsMaterialsParamsFactory(),
+ new nvidia::particles::GraphicsMaterialDataFactory(),
+ new nvidia::particles::VolumeRenderMaterialDataFactory(),
+ new nvidia::particles::EffectPackageIOFXDatabaseParamsFactory(),
+ new nvidia::particles::GraphicsEffectDataFactory(),
+ new nvidia::particles::EffectPackageIOSDatabaseParamsFactory(),
+ new nvidia::particles::ParticleSimulationDataFactory(),
+ new nvidia::particles::ParticlesModuleParametersFactory(),
+
+ };
+
+ for (size_t i = 0; i < sizeof(factoriesToRegister)/sizeof(factoriesToRegister[0]); ++i)
+ {
+ parameterizedTraits.registerFactory(*factoriesToRegister[i]);
+ }
+ }
+
+ virtual void registerAvailableConverters(NvParameterized::Traits& parameterizedTraits)
+ {
+// REGISTER GENERATED CONVERSION
+PX_UNUSED(parameterizedTraits);
+
+ }
+
+ void unregisterAvailableFactories(NvParameterized::Traits& parameterizedTraits)
+ {
+ struct FactoryDesc
+ {
+ const char* name;
+ uint32_t version;
+ };
+
+ ::NvParameterized::Factory* factoriesToUnregister[] = {
+// UNREGISTER GENERATED FACTORIES
+ new nvidia::particles::EffectPackageActorParamsFactory(),
+ new nvidia::particles::EffectPackageAssetParamsFactory(),
+ new nvidia::particles::HeatSourceEffectFactory(),
+ new nvidia::particles::EmitterEffectFactory(),
+ new nvidia::particles::ForceFieldEffectFactory(),
+ new nvidia::particles::TurbulenceFieldSamplerEffectFactory(),
+ new nvidia::particles::AttractorFieldSamplerEffectFactory(),
+ new nvidia::particles::JetFieldSamplerEffectFactory(),
+ new nvidia::particles::NoiseFieldSamplerEffectFactory(),
+ new nvidia::particles::VortexFieldSamplerEffectFactory(),
+ new nvidia::particles::SubstanceSourceEffectFactory(),
+ new nvidia::particles::WindFieldSamplerEffectFactory(),
+ new nvidia::particles::RigidBodyEffectFactory(),
+ new nvidia::particles::VelocitySourceEffectFactory(),
+ new nvidia::particles::FlameEmitterEffectFactory(),
+ new nvidia::particles::EffectPackageDatabaseParamsFactory(),
+ new nvidia::particles::EffectPackageDataFactory(),
+ new nvidia::particles::ParticlesDebugRenderParamsFactory(),
+ new nvidia::particles::EffectPackageEmitterDatabaseParamsFactory(),
+ new nvidia::particles::EmitterDataFactory(),
+ new nvidia::particles::EffectPackageFieldSamplerDatabaseParamsFactory(),
+ new nvidia::particles::AttractorFieldSamplerDataFactory(),
+ new nvidia::particles::HeatSourceDataFactory(),
+ new nvidia::particles::JetFieldSamplerDataFactory(),
+ new nvidia::particles::TurbulenceFieldSamplerDataFactory(),
+ new nvidia::particles::ForceFieldDataFactory(),
+ new nvidia::particles::NoiseFieldSamplerDataFactory(),
+ new nvidia::particles::VortexFieldSamplerDataFactory(),
+ new nvidia::particles::SubstanceSourceDataFactory(),
+ new nvidia::particles::WindFieldSamplerDataFactory(),
+ new nvidia::particles::VelocitySourceDataFactory(),
+ new nvidia::particles::FlameEmitterDataFactory(),
+ new nvidia::particles::EffectPackageGraphicsMaterialsParamsFactory(),
+ new nvidia::particles::GraphicsMaterialDataFactory(),
+ new nvidia::particles::VolumeRenderMaterialDataFactory(),
+ new nvidia::particles::EffectPackageIOFXDatabaseParamsFactory(),
+ new nvidia::particles::GraphicsEffectDataFactory(),
+ new nvidia::particles::EffectPackageIOSDatabaseParamsFactory(),
+ new nvidia::particles::ParticleSimulationDataFactory(),
+ new nvidia::particles::ParticlesModuleParametersFactory(),
+
+ };
+
+ for (size_t i = 0; i < sizeof(factoriesToUnregister)/sizeof(factoriesToUnregister[0]); ++i)
+ {
+ ::NvParameterized::Factory* removedFactory = parameterizedTraits.removeFactory(factoriesToUnregister[i]->getClassName(), factoriesToUnregister[i]->getVersion());
+ if (!removedFactory)
+ {
+ PX_ASSERT_WITH_MESSAGE(0, "Factory can not be removed!");
+ }
+ else
+ {
+ removedFactory->freeParameterDefinitionTable(&parameterizedTraits);
+ delete removedFactory;
+ delete factoriesToUnregister[i];
+ }
+ }
+ }
+
+ virtual void unregisterAvailableConverters(NvParameterized::Traits& parameterizedTraits)
+ {
+// UNREGISTER GENERATED CONVERSION
+PX_UNUSED(parameterizedTraits);
+
+ }
+
+};
+
+
+}
+} //nvidia::particles
+
+#endif
diff --git a/APEX_1.4/module/particles/include/autogen/NoiseFieldSamplerData.h b/APEX_1.4/module/particles/include/autogen/NoiseFieldSamplerData.h
new file mode 100644
index 00000000..4cc74c37
--- /dev/null
+++ b/APEX_1.4/module/particles/include/autogen/NoiseFieldSamplerData.h
@@ -0,0 +1,231 @@
+// 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
+
+
+#ifndef HEADER_NoiseFieldSamplerData_h
+#define HEADER_NoiseFieldSamplerData_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace particles
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace NoiseFieldSamplerDataNS
+{
+
+
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct Name;
+ NvParameterized::Interface* NoiseFieldSampler;
+
+};
+
+static const uint32_t checksum[] = { 0xbdfbe8fa, 0xb764fe79, 0xb6ab4054, 0x6b459674, };
+
+} // namespace NoiseFieldSamplerDataNS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class NoiseFieldSamplerData : public NvParameterized::NvParameters, public NoiseFieldSamplerDataNS::ParametersStruct
+{
+public:
+ NoiseFieldSamplerData(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~NoiseFieldSamplerData();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("NoiseFieldSamplerData");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)0;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(NoiseFieldSamplerDataNS::checksum);
+ return NoiseFieldSamplerDataNS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const NoiseFieldSamplerDataNS::ParametersStruct& parameters(void) const
+ {
+ NoiseFieldSamplerData* tmpThis = const_cast<NoiseFieldSamplerData*>(this);
+ return *(static_cast<NoiseFieldSamplerDataNS::ParametersStruct*>(tmpThis));
+ }
+
+ NoiseFieldSamplerDataNS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<NoiseFieldSamplerDataNS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class NoiseFieldSamplerDataFactory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ NoiseFieldSamplerData::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(NoiseFieldSamplerData), NoiseFieldSamplerData::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, NoiseFieldSamplerData::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class NoiseFieldSamplerData");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(NoiseFieldSamplerData)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, NoiseFieldSamplerData)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, NoiseFieldSamplerData::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, NoiseFieldSamplerData::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class NoiseFieldSamplerData");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of NoiseFieldSamplerData here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (NoiseFieldSamplerData*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (NoiseFieldSamplerData::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (NoiseFieldSamplerData::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (NoiseFieldSamplerData::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (NoiseFieldSamplerData::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace particles
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/particles/include/autogen/NoiseFieldSamplerEffect.h b/APEX_1.4/module/particles/include/autogen/NoiseFieldSamplerEffect.h
new file mode 100644
index 00000000..01aa6ef2
--- /dev/null
+++ b/APEX_1.4/module/particles/include/autogen/NoiseFieldSamplerEffect.h
@@ -0,0 +1,291 @@
+// 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
+
+
+#ifndef HEADER_NoiseFieldSamplerEffect_h
+#define HEADER_NoiseFieldSamplerEffect_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace particles
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace NoiseFieldSamplerEffectNS
+{
+
+struct TranslateObject_Type;
+struct OrientObject_Type;
+struct ControlPoint_Type;
+struct EffectPath_Type;
+struct EffectProperties_Type;
+
+struct TRANSFORM_DynamicArray1D_Type
+{
+ physx::PxTransform* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct ControlPoint_DynamicArray1D_Type
+{
+ ControlPoint_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct TranslateObject_Type
+{
+ float TranslateX;
+ float TranslateY;
+ float TranslateZ;
+};
+struct ControlPoint_Type
+{
+ float x;
+ float y;
+};
+struct OrientObject_Type
+{
+ float RotateX;
+ float RotateY;
+ float RotateZ;
+};
+struct EffectPath_Type
+{
+ const char* PlaybackMode;
+ float PathDuration;
+ uint32_t LoopIndex;
+ TRANSFORM_DynamicArray1D_Type ControlPoints;
+ ControlPoint_DynamicArray1D_Type Scale;
+ ControlPoint_DynamicArray1D_Type Speed;
+};
+struct EffectProperties_Type
+{
+ NvParameterized::DummyStringStruct UserString;
+ bool Enable;
+ TranslateObject_Type Position;
+ OrientObject_Type Orientation;
+ float InitialDelayTime;
+ float Duration;
+ uint32_t RepeatCount;
+ float RepeatDelay;
+ float RandomizeRepeatTime;
+ EffectPath_Type Path;
+};
+
+struct ParametersStruct
+{
+
+ EffectProperties_Type EffectProperties;
+ NvParameterized::Interface* NoiseFieldSampler;
+
+};
+
+static const uint32_t checksum[] = { 0x5618cee8, 0xe4396e4b, 0x83c38fec, 0x332388c5, };
+
+} // namespace NoiseFieldSamplerEffectNS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class NoiseFieldSamplerEffect : public NvParameterized::NvParameters, public NoiseFieldSamplerEffectNS::ParametersStruct
+{
+public:
+ NoiseFieldSamplerEffect(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~NoiseFieldSamplerEffect();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("NoiseFieldSamplerEffect");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)0;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(NoiseFieldSamplerEffectNS::checksum);
+ return NoiseFieldSamplerEffectNS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const NoiseFieldSamplerEffectNS::ParametersStruct& parameters(void) const
+ {
+ NoiseFieldSamplerEffect* tmpThis = const_cast<NoiseFieldSamplerEffect*>(this);
+ return *(static_cast<NoiseFieldSamplerEffectNS::ParametersStruct*>(tmpThis));
+ }
+
+ NoiseFieldSamplerEffectNS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<NoiseFieldSamplerEffectNS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class NoiseFieldSamplerEffectFactory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ NoiseFieldSamplerEffect::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(NoiseFieldSamplerEffect), NoiseFieldSamplerEffect::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, NoiseFieldSamplerEffect::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class NoiseFieldSamplerEffect");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(NoiseFieldSamplerEffect)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, NoiseFieldSamplerEffect)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, NoiseFieldSamplerEffect::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, NoiseFieldSamplerEffect::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class NoiseFieldSamplerEffect");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of NoiseFieldSamplerEffect here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (NoiseFieldSamplerEffect*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (NoiseFieldSamplerEffect::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (NoiseFieldSamplerEffect::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (NoiseFieldSamplerEffect::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (NoiseFieldSamplerEffect::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace particles
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/particles/include/autogen/ParticleSimulationData.h b/APEX_1.4/module/particles/include/autogen/ParticleSimulationData.h
new file mode 100644
index 00000000..3e9343df
--- /dev/null
+++ b/APEX_1.4/module/particles/include/autogen/ParticleSimulationData.h
@@ -0,0 +1,231 @@
+// 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
+
+
+#ifndef HEADER_ParticleSimulationData_h
+#define HEADER_ParticleSimulationData_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace particles
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace ParticleSimulationDataNS
+{
+
+
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct Name;
+ NvParameterized::Interface* IOS;
+
+};
+
+static const uint32_t checksum[] = { 0x4ca98ba8, 0x2d988101, 0xc0f27951, 0x9b625d89, };
+
+} // namespace ParticleSimulationDataNS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class ParticleSimulationData : public NvParameterized::NvParameters, public ParticleSimulationDataNS::ParametersStruct
+{
+public:
+ ParticleSimulationData(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~ParticleSimulationData();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("ParticleSimulationData");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)0;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(ParticleSimulationDataNS::checksum);
+ return ParticleSimulationDataNS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const ParticleSimulationDataNS::ParametersStruct& parameters(void) const
+ {
+ ParticleSimulationData* tmpThis = const_cast<ParticleSimulationData*>(this);
+ return *(static_cast<ParticleSimulationDataNS::ParametersStruct*>(tmpThis));
+ }
+
+ ParticleSimulationDataNS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<ParticleSimulationDataNS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class ParticleSimulationDataFactory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ ParticleSimulationData::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(ParticleSimulationData), ParticleSimulationData::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, ParticleSimulationData::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class ParticleSimulationData");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(ParticleSimulationData)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, ParticleSimulationData)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, ParticleSimulationData::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, ParticleSimulationData::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class ParticleSimulationData");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of ParticleSimulationData here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (ParticleSimulationData*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (ParticleSimulationData::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (ParticleSimulationData::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (ParticleSimulationData::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (ParticleSimulationData::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace particles
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/particles/include/autogen/ParticlesDebugRenderParams.h b/APEX_1.4/module/particles/include/autogen/ParticlesDebugRenderParams.h
new file mode 100644
index 00000000..f660872e
--- /dev/null
+++ b/APEX_1.4/module/particles/include/autogen/ParticlesDebugRenderParams.h
@@ -0,0 +1,231 @@
+// 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
+
+
+#ifndef HEADER_ParticlesDebugRenderParams_h
+#define HEADER_ParticlesDebugRenderParams_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace particles
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace ParticlesDebugRenderParamsNS
+{
+
+
+
+struct ParametersStruct
+{
+
+ bool VISUALIZE_HEAT_SOURCE_ACTOR;
+ bool VISUALIZE_EFFECT_PACKAGE_ACTOR;
+
+};
+
+static const uint32_t checksum[] = { 0x85e707bb, 0x319491d5, 0x1be4a6e4, 0x78bfbdf4, };
+
+} // namespace ParticlesDebugRenderParamsNS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class ParticlesDebugRenderParams : public NvParameterized::NvParameters, public ParticlesDebugRenderParamsNS::ParametersStruct
+{
+public:
+ ParticlesDebugRenderParams(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~ParticlesDebugRenderParams();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("ParticlesDebugRenderParams");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)0;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(ParticlesDebugRenderParamsNS::checksum);
+ return ParticlesDebugRenderParamsNS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const ParticlesDebugRenderParamsNS::ParametersStruct& parameters(void) const
+ {
+ ParticlesDebugRenderParams* tmpThis = const_cast<ParticlesDebugRenderParams*>(this);
+ return *(static_cast<ParticlesDebugRenderParamsNS::ParametersStruct*>(tmpThis));
+ }
+
+ ParticlesDebugRenderParamsNS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<ParticlesDebugRenderParamsNS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class ParticlesDebugRenderParamsFactory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ ParticlesDebugRenderParams::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(ParticlesDebugRenderParams), ParticlesDebugRenderParams::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, ParticlesDebugRenderParams::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class ParticlesDebugRenderParams");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(ParticlesDebugRenderParams)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, ParticlesDebugRenderParams)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, ParticlesDebugRenderParams::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, ParticlesDebugRenderParams::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class ParticlesDebugRenderParams");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of ParticlesDebugRenderParams here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (ParticlesDebugRenderParams*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (ParticlesDebugRenderParams::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (ParticlesDebugRenderParams::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (ParticlesDebugRenderParams::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (ParticlesDebugRenderParams::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace particles
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/particles/include/autogen/ParticlesModuleParameters.h b/APEX_1.4/module/particles/include/autogen/ParticlesModuleParameters.h
new file mode 100644
index 00000000..87dc6397
--- /dev/null
+++ b/APEX_1.4/module/particles/include/autogen/ParticlesModuleParameters.h
@@ -0,0 +1,230 @@
+// 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
+
+
+#ifndef HEADER_ParticlesModuleParameters_h
+#define HEADER_ParticlesModuleParameters_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace particles
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace ParticlesModuleParametersNS
+{
+
+
+
+struct ParametersStruct
+{
+
+ uint32_t unused;
+
+};
+
+static const uint32_t checksum[] = { 0xb5f7f96c, 0x545549c7, 0xb6efe84c, 0x4bdc0f31, };
+
+} // namespace ParticlesModuleParametersNS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class ParticlesModuleParameters : public NvParameterized::NvParameters, public ParticlesModuleParametersNS::ParametersStruct
+{
+public:
+ ParticlesModuleParameters(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~ParticlesModuleParameters();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("ParticlesModuleParameters");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)0;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(ParticlesModuleParametersNS::checksum);
+ return ParticlesModuleParametersNS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const ParticlesModuleParametersNS::ParametersStruct& parameters(void) const
+ {
+ ParticlesModuleParameters* tmpThis = const_cast<ParticlesModuleParameters*>(this);
+ return *(static_cast<ParticlesModuleParametersNS::ParametersStruct*>(tmpThis));
+ }
+
+ ParticlesModuleParametersNS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<ParticlesModuleParametersNS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class ParticlesModuleParametersFactory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ ParticlesModuleParameters::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(ParticlesModuleParameters), ParticlesModuleParameters::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, ParticlesModuleParameters::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class ParticlesModuleParameters");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(ParticlesModuleParameters)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, ParticlesModuleParameters)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, ParticlesModuleParameters::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, ParticlesModuleParameters::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class ParticlesModuleParameters");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of ParticlesModuleParameters here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (ParticlesModuleParameters*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (ParticlesModuleParameters::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (ParticlesModuleParameters::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (ParticlesModuleParameters::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (ParticlesModuleParameters::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace particles
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/particles/include/autogen/RigidBodyEffect.h b/APEX_1.4/module/particles/include/autogen/RigidBodyEffect.h
new file mode 100644
index 00000000..3c3a8edb
--- /dev/null
+++ b/APEX_1.4/module/particles/include/autogen/RigidBodyEffect.h
@@ -0,0 +1,300 @@
+// 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
+
+
+#ifndef HEADER_RigidBodyEffect_h
+#define HEADER_RigidBodyEffect_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace particles
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace RigidBodyEffectNS
+{
+
+struct TranslateObject_Type;
+struct OrientObject_Type;
+struct ControlPoint_Type;
+struct EffectPath_Type;
+struct EffectProperties_Type;
+
+struct TRANSFORM_DynamicArray1D_Type
+{
+ physx::PxTransform* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct ControlPoint_DynamicArray1D_Type
+{
+ ControlPoint_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct TranslateObject_Type
+{
+ float TranslateX;
+ float TranslateY;
+ float TranslateZ;
+};
+struct ControlPoint_Type
+{
+ float x;
+ float y;
+};
+struct OrientObject_Type
+{
+ float RotateX;
+ float RotateY;
+ float RotateZ;
+};
+struct EffectPath_Type
+{
+ const char* PlaybackMode;
+ float PathDuration;
+ uint32_t LoopIndex;
+ TRANSFORM_DynamicArray1D_Type ControlPoints;
+ ControlPoint_DynamicArray1D_Type Scale;
+ ControlPoint_DynamicArray1D_Type Speed;
+};
+struct EffectProperties_Type
+{
+ NvParameterized::DummyStringStruct UserString;
+ bool Enable;
+ TranslateObject_Type Position;
+ OrientObject_Type Orientation;
+ float InitialDelayTime;
+ float Duration;
+ uint32_t RepeatCount;
+ float RepeatDelay;
+ float RandomizeRepeatTime;
+ EffectPath_Type Path;
+};
+
+struct ParametersStruct
+{
+
+ EffectProperties_Type EffectProperties;
+ const char* Type;
+ NvParameterized::DummyStringStruct CollisionFilterDataName;
+ bool Dynamic;
+ bool Gravity;
+ physx::PxVec3 Extents;
+ float Mass;
+ physx::PxVec3 InitialLinearVelocity;
+ physx::PxVec3 InitialAngularVelocity;
+ float LinearDamping;
+ float AngularDamping;
+
+};
+
+static const uint32_t checksum[] = { 0x9a107d98, 0x19620918, 0x9994ec69, 0x14939e5c, };
+
+} // namespace RigidBodyEffectNS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class RigidBodyEffect : public NvParameterized::NvParameters, public RigidBodyEffectNS::ParametersStruct
+{
+public:
+ RigidBodyEffect(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~RigidBodyEffect();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("RigidBodyEffect");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)0;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(RigidBodyEffectNS::checksum);
+ return RigidBodyEffectNS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const RigidBodyEffectNS::ParametersStruct& parameters(void) const
+ {
+ RigidBodyEffect* tmpThis = const_cast<RigidBodyEffect*>(this);
+ return *(static_cast<RigidBodyEffectNS::ParametersStruct*>(tmpThis));
+ }
+
+ RigidBodyEffectNS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<RigidBodyEffectNS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class RigidBodyEffectFactory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ RigidBodyEffect::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(RigidBodyEffect), RigidBodyEffect::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, RigidBodyEffect::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class RigidBodyEffect");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(RigidBodyEffect)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, RigidBodyEffect)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, RigidBodyEffect::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, RigidBodyEffect::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class RigidBodyEffect");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of RigidBodyEffect here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (RigidBodyEffect*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (RigidBodyEffect::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (RigidBodyEffect::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (RigidBodyEffect::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (RigidBodyEffect::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace particles
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/particles/include/autogen/SubstanceSourceData.h b/APEX_1.4/module/particles/include/autogen/SubstanceSourceData.h
new file mode 100644
index 00000000..d6682bf2
--- /dev/null
+++ b/APEX_1.4/module/particles/include/autogen/SubstanceSourceData.h
@@ -0,0 +1,231 @@
+// 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
+
+
+#ifndef HEADER_SubstanceSourceData_h
+#define HEADER_SubstanceSourceData_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace particles
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace SubstanceSourceDataNS
+{
+
+
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct Name;
+ NvParameterized::Interface* SubstanceSource;
+
+};
+
+static const uint32_t checksum[] = { 0x79f6e8ac, 0x0efbf6f6, 0x9823c17d, 0x1736b4d9, };
+
+} // namespace SubstanceSourceDataNS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class SubstanceSourceData : public NvParameterized::NvParameters, public SubstanceSourceDataNS::ParametersStruct
+{
+public:
+ SubstanceSourceData(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~SubstanceSourceData();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("SubstanceSourceData");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)0;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(SubstanceSourceDataNS::checksum);
+ return SubstanceSourceDataNS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const SubstanceSourceDataNS::ParametersStruct& parameters(void) const
+ {
+ SubstanceSourceData* tmpThis = const_cast<SubstanceSourceData*>(this);
+ return *(static_cast<SubstanceSourceDataNS::ParametersStruct*>(tmpThis));
+ }
+
+ SubstanceSourceDataNS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<SubstanceSourceDataNS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class SubstanceSourceDataFactory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ SubstanceSourceData::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(SubstanceSourceData), SubstanceSourceData::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, SubstanceSourceData::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class SubstanceSourceData");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(SubstanceSourceData)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, SubstanceSourceData)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, SubstanceSourceData::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, SubstanceSourceData::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class SubstanceSourceData");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of SubstanceSourceData here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (SubstanceSourceData*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (SubstanceSourceData::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (SubstanceSourceData::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (SubstanceSourceData::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (SubstanceSourceData::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace particles
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/particles/include/autogen/SubstanceSourceEffect.h b/APEX_1.4/module/particles/include/autogen/SubstanceSourceEffect.h
new file mode 100644
index 00000000..48d2216a
--- /dev/null
+++ b/APEX_1.4/module/particles/include/autogen/SubstanceSourceEffect.h
@@ -0,0 +1,291 @@
+// 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
+
+
+#ifndef HEADER_SubstanceSourceEffect_h
+#define HEADER_SubstanceSourceEffect_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace particles
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace SubstanceSourceEffectNS
+{
+
+struct TranslateObject_Type;
+struct OrientObject_Type;
+struct ControlPoint_Type;
+struct EffectPath_Type;
+struct EffectProperties_Type;
+
+struct TRANSFORM_DynamicArray1D_Type
+{
+ physx::PxTransform* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct ControlPoint_DynamicArray1D_Type
+{
+ ControlPoint_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct TranslateObject_Type
+{
+ float TranslateX;
+ float TranslateY;
+ float TranslateZ;
+};
+struct ControlPoint_Type
+{
+ float x;
+ float y;
+};
+struct OrientObject_Type
+{
+ float RotateX;
+ float RotateY;
+ float RotateZ;
+};
+struct EffectPath_Type
+{
+ const char* PlaybackMode;
+ float PathDuration;
+ uint32_t LoopIndex;
+ TRANSFORM_DynamicArray1D_Type ControlPoints;
+ ControlPoint_DynamicArray1D_Type Scale;
+ ControlPoint_DynamicArray1D_Type Speed;
+};
+struct EffectProperties_Type
+{
+ NvParameterized::DummyStringStruct UserString;
+ bool Enable;
+ TranslateObject_Type Position;
+ OrientObject_Type Orientation;
+ float InitialDelayTime;
+ float Duration;
+ uint32_t RepeatCount;
+ float RepeatDelay;
+ float RandomizeRepeatTime;
+ EffectPath_Type Path;
+};
+
+struct ParametersStruct
+{
+
+ EffectProperties_Type EffectProperties;
+ NvParameterized::Interface* SubstanceSource;
+
+};
+
+static const uint32_t checksum[] = { 0x171c45ff, 0xd18f749a, 0xeaca4f46, 0xec9ce317, };
+
+} // namespace SubstanceSourceEffectNS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class SubstanceSourceEffect : public NvParameterized::NvParameters, public SubstanceSourceEffectNS::ParametersStruct
+{
+public:
+ SubstanceSourceEffect(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~SubstanceSourceEffect();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("SubstanceSourceEffect");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)0;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(SubstanceSourceEffectNS::checksum);
+ return SubstanceSourceEffectNS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const SubstanceSourceEffectNS::ParametersStruct& parameters(void) const
+ {
+ SubstanceSourceEffect* tmpThis = const_cast<SubstanceSourceEffect*>(this);
+ return *(static_cast<SubstanceSourceEffectNS::ParametersStruct*>(tmpThis));
+ }
+
+ SubstanceSourceEffectNS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<SubstanceSourceEffectNS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class SubstanceSourceEffectFactory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ SubstanceSourceEffect::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(SubstanceSourceEffect), SubstanceSourceEffect::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, SubstanceSourceEffect::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class SubstanceSourceEffect");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(SubstanceSourceEffect)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, SubstanceSourceEffect)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, SubstanceSourceEffect::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, SubstanceSourceEffect::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class SubstanceSourceEffect");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of SubstanceSourceEffect here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (SubstanceSourceEffect*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (SubstanceSourceEffect::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (SubstanceSourceEffect::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (SubstanceSourceEffect::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (SubstanceSourceEffect::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace particles
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/particles/include/autogen/TurbulenceFieldSamplerData.h b/APEX_1.4/module/particles/include/autogen/TurbulenceFieldSamplerData.h
new file mode 100644
index 00000000..1612d87f
--- /dev/null
+++ b/APEX_1.4/module/particles/include/autogen/TurbulenceFieldSamplerData.h
@@ -0,0 +1,231 @@
+// 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
+
+
+#ifndef HEADER_TurbulenceFieldSamplerData_h
+#define HEADER_TurbulenceFieldSamplerData_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace particles
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace TurbulenceFieldSamplerDataNS
+{
+
+
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct Name;
+ NvParameterized::Interface* TurbulenceFieldSampler;
+
+};
+
+static const uint32_t checksum[] = { 0xac373033, 0x567939b2, 0xb61686da, 0x6b9b1a7b, };
+
+} // namespace TurbulenceFieldSamplerDataNS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class TurbulenceFieldSamplerData : public NvParameterized::NvParameters, public TurbulenceFieldSamplerDataNS::ParametersStruct
+{
+public:
+ TurbulenceFieldSamplerData(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~TurbulenceFieldSamplerData();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("TurbulenceFieldSamplerData");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)0;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(TurbulenceFieldSamplerDataNS::checksum);
+ return TurbulenceFieldSamplerDataNS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const TurbulenceFieldSamplerDataNS::ParametersStruct& parameters(void) const
+ {
+ TurbulenceFieldSamplerData* tmpThis = const_cast<TurbulenceFieldSamplerData*>(this);
+ return *(static_cast<TurbulenceFieldSamplerDataNS::ParametersStruct*>(tmpThis));
+ }
+
+ TurbulenceFieldSamplerDataNS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<TurbulenceFieldSamplerDataNS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class TurbulenceFieldSamplerDataFactory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ TurbulenceFieldSamplerData::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(TurbulenceFieldSamplerData), TurbulenceFieldSamplerData::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, TurbulenceFieldSamplerData::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class TurbulenceFieldSamplerData");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(TurbulenceFieldSamplerData)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, TurbulenceFieldSamplerData)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, TurbulenceFieldSamplerData::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, TurbulenceFieldSamplerData::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class TurbulenceFieldSamplerData");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of TurbulenceFieldSamplerData here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (TurbulenceFieldSamplerData*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (TurbulenceFieldSamplerData::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (TurbulenceFieldSamplerData::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (TurbulenceFieldSamplerData::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (TurbulenceFieldSamplerData::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace particles
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/particles/include/autogen/TurbulenceFieldSamplerEffect.h b/APEX_1.4/module/particles/include/autogen/TurbulenceFieldSamplerEffect.h
new file mode 100644
index 00000000..4f4b896a
--- /dev/null
+++ b/APEX_1.4/module/particles/include/autogen/TurbulenceFieldSamplerEffect.h
@@ -0,0 +1,291 @@
+// 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
+
+
+#ifndef HEADER_TurbulenceFieldSamplerEffect_h
+#define HEADER_TurbulenceFieldSamplerEffect_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace particles
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace TurbulenceFieldSamplerEffectNS
+{
+
+struct TranslateObject_Type;
+struct OrientObject_Type;
+struct ControlPoint_Type;
+struct EffectPath_Type;
+struct EffectProperties_Type;
+
+struct TRANSFORM_DynamicArray1D_Type
+{
+ physx::PxTransform* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct ControlPoint_DynamicArray1D_Type
+{
+ ControlPoint_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct TranslateObject_Type
+{
+ float TranslateX;
+ float TranslateY;
+ float TranslateZ;
+};
+struct ControlPoint_Type
+{
+ float x;
+ float y;
+};
+struct OrientObject_Type
+{
+ float RotateX;
+ float RotateY;
+ float RotateZ;
+};
+struct EffectPath_Type
+{
+ const char* PlaybackMode;
+ float PathDuration;
+ uint32_t LoopIndex;
+ TRANSFORM_DynamicArray1D_Type ControlPoints;
+ ControlPoint_DynamicArray1D_Type Scale;
+ ControlPoint_DynamicArray1D_Type Speed;
+};
+struct EffectProperties_Type
+{
+ NvParameterized::DummyStringStruct UserString;
+ bool Enable;
+ TranslateObject_Type Position;
+ OrientObject_Type Orientation;
+ float InitialDelayTime;
+ float Duration;
+ uint32_t RepeatCount;
+ float RepeatDelay;
+ float RandomizeRepeatTime;
+ EffectPath_Type Path;
+};
+
+struct ParametersStruct
+{
+
+ EffectProperties_Type EffectProperties;
+ NvParameterized::Interface* TurbulenceFieldSampler;
+
+};
+
+static const uint32_t checksum[] = { 0x34739060, 0xd18c9ccf, 0xba454bf5, 0x78f5ddbb, };
+
+} // namespace TurbulenceFieldSamplerEffectNS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class TurbulenceFieldSamplerEffect : public NvParameterized::NvParameters, public TurbulenceFieldSamplerEffectNS::ParametersStruct
+{
+public:
+ TurbulenceFieldSamplerEffect(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~TurbulenceFieldSamplerEffect();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("TurbulenceFieldSamplerEffect");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)0;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(TurbulenceFieldSamplerEffectNS::checksum);
+ return TurbulenceFieldSamplerEffectNS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const TurbulenceFieldSamplerEffectNS::ParametersStruct& parameters(void) const
+ {
+ TurbulenceFieldSamplerEffect* tmpThis = const_cast<TurbulenceFieldSamplerEffect*>(this);
+ return *(static_cast<TurbulenceFieldSamplerEffectNS::ParametersStruct*>(tmpThis));
+ }
+
+ TurbulenceFieldSamplerEffectNS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<TurbulenceFieldSamplerEffectNS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class TurbulenceFieldSamplerEffectFactory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ TurbulenceFieldSamplerEffect::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(TurbulenceFieldSamplerEffect), TurbulenceFieldSamplerEffect::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, TurbulenceFieldSamplerEffect::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class TurbulenceFieldSamplerEffect");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(TurbulenceFieldSamplerEffect)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, TurbulenceFieldSamplerEffect)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, TurbulenceFieldSamplerEffect::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, TurbulenceFieldSamplerEffect::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class TurbulenceFieldSamplerEffect");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of TurbulenceFieldSamplerEffect here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (TurbulenceFieldSamplerEffect*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (TurbulenceFieldSamplerEffect::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (TurbulenceFieldSamplerEffect::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (TurbulenceFieldSamplerEffect::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (TurbulenceFieldSamplerEffect::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace particles
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/particles/include/autogen/VelocitySourceData.h b/APEX_1.4/module/particles/include/autogen/VelocitySourceData.h
new file mode 100644
index 00000000..51397dde
--- /dev/null
+++ b/APEX_1.4/module/particles/include/autogen/VelocitySourceData.h
@@ -0,0 +1,231 @@
+// 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
+
+
+#ifndef HEADER_VelocitySourceData_h
+#define HEADER_VelocitySourceData_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace particles
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace VelocitySourceDataNS
+{
+
+
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct Name;
+ NvParameterized::Interface* VelocitySource;
+
+};
+
+static const uint32_t checksum[] = { 0x1d529c10, 0x109f65ed, 0xa3531c3a, 0x99ada8f2, };
+
+} // namespace VelocitySourceDataNS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class VelocitySourceData : public NvParameterized::NvParameters, public VelocitySourceDataNS::ParametersStruct
+{
+public:
+ VelocitySourceData(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~VelocitySourceData();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("VelocitySourceData");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)0;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(VelocitySourceDataNS::checksum);
+ return VelocitySourceDataNS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const VelocitySourceDataNS::ParametersStruct& parameters(void) const
+ {
+ VelocitySourceData* tmpThis = const_cast<VelocitySourceData*>(this);
+ return *(static_cast<VelocitySourceDataNS::ParametersStruct*>(tmpThis));
+ }
+
+ VelocitySourceDataNS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<VelocitySourceDataNS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class VelocitySourceDataFactory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ VelocitySourceData::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(VelocitySourceData), VelocitySourceData::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, VelocitySourceData::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class VelocitySourceData");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(VelocitySourceData)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, VelocitySourceData)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, VelocitySourceData::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, VelocitySourceData::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class VelocitySourceData");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of VelocitySourceData here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (VelocitySourceData*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (VelocitySourceData::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (VelocitySourceData::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (VelocitySourceData::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (VelocitySourceData::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace particles
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/particles/include/autogen/VelocitySourceEffect.h b/APEX_1.4/module/particles/include/autogen/VelocitySourceEffect.h
new file mode 100644
index 00000000..60285028
--- /dev/null
+++ b/APEX_1.4/module/particles/include/autogen/VelocitySourceEffect.h
@@ -0,0 +1,291 @@
+// 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
+
+
+#ifndef HEADER_VelocitySourceEffect_h
+#define HEADER_VelocitySourceEffect_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace particles
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace VelocitySourceEffectNS
+{
+
+struct TranslateObject_Type;
+struct OrientObject_Type;
+struct ControlPoint_Type;
+struct EffectPath_Type;
+struct EffectProperties_Type;
+
+struct TRANSFORM_DynamicArray1D_Type
+{
+ physx::PxTransform* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct ControlPoint_DynamicArray1D_Type
+{
+ ControlPoint_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct TranslateObject_Type
+{
+ float TranslateX;
+ float TranslateY;
+ float TranslateZ;
+};
+struct ControlPoint_Type
+{
+ float x;
+ float y;
+};
+struct OrientObject_Type
+{
+ float RotateX;
+ float RotateY;
+ float RotateZ;
+};
+struct EffectPath_Type
+{
+ const char* PlaybackMode;
+ float PathDuration;
+ uint32_t LoopIndex;
+ TRANSFORM_DynamicArray1D_Type ControlPoints;
+ ControlPoint_DynamicArray1D_Type Scale;
+ ControlPoint_DynamicArray1D_Type Speed;
+};
+struct EffectProperties_Type
+{
+ NvParameterized::DummyStringStruct UserString;
+ bool Enable;
+ TranslateObject_Type Position;
+ OrientObject_Type Orientation;
+ float InitialDelayTime;
+ float Duration;
+ uint32_t RepeatCount;
+ float RepeatDelay;
+ float RandomizeRepeatTime;
+ EffectPath_Type Path;
+};
+
+struct ParametersStruct
+{
+
+ EffectProperties_Type EffectProperties;
+ NvParameterized::Interface* VelocitySource;
+
+};
+
+static const uint32_t checksum[] = { 0x26b72ab9, 0x777ca701, 0x04b00529, 0xf38de506, };
+
+} // namespace VelocitySourceEffectNS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class VelocitySourceEffect : public NvParameterized::NvParameters, public VelocitySourceEffectNS::ParametersStruct
+{
+public:
+ VelocitySourceEffect(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~VelocitySourceEffect();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("VelocitySourceEffect");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)0;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(VelocitySourceEffectNS::checksum);
+ return VelocitySourceEffectNS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const VelocitySourceEffectNS::ParametersStruct& parameters(void) const
+ {
+ VelocitySourceEffect* tmpThis = const_cast<VelocitySourceEffect*>(this);
+ return *(static_cast<VelocitySourceEffectNS::ParametersStruct*>(tmpThis));
+ }
+
+ VelocitySourceEffectNS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<VelocitySourceEffectNS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class VelocitySourceEffectFactory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ VelocitySourceEffect::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(VelocitySourceEffect), VelocitySourceEffect::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, VelocitySourceEffect::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class VelocitySourceEffect");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(VelocitySourceEffect)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, VelocitySourceEffect)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, VelocitySourceEffect::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, VelocitySourceEffect::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class VelocitySourceEffect");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of VelocitySourceEffect here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (VelocitySourceEffect*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (VelocitySourceEffect::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (VelocitySourceEffect::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (VelocitySourceEffect::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (VelocitySourceEffect::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace particles
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/particles/include/autogen/VolumeRenderMaterialData.h b/APEX_1.4/module/particles/include/autogen/VolumeRenderMaterialData.h
new file mode 100644
index 00000000..e55cf3e2
--- /dev/null
+++ b/APEX_1.4/module/particles/include/autogen/VolumeRenderMaterialData.h
@@ -0,0 +1,275 @@
+// 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
+
+
+#ifndef HEADER_VolumeRenderMaterialData_h
+#define HEADER_VolumeRenderMaterialData_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace particles
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace VolumeRenderMaterialDataNS
+{
+
+struct colorLifeStruct_Type;
+
+struct colorLifeStruct_DynamicArray1D_Type
+{
+ colorLifeStruct_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct colorLifeStruct_Type
+{
+ float density;
+ physx::PxVec4 color;
+};
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct Name;
+ NvParameterized::DummyStringStruct ApplicationMaterialName;
+ NvParameterized::DummyStringStruct UserProperties;
+ const char* RenderMode;
+ const char* RenderMethod;
+ const char* ResolutionScale;
+ const char* FillMode;
+ bool GenerateShadows;
+ bool BlurShadows;
+ bool GenerateMipmaps;
+ bool EnableStencilOpt;
+ float StepScale;
+ float Density;
+ float EdgeFade;
+ float OpacityThreshold;
+ float RayJitter;
+ float IsoValue;
+ float IsoValueSign;
+ uint32_t ShadowSamples;
+ float ShadowDistance;
+ float ShadowDensity;
+ float ShadowJitter;
+ float ShadowAmount;
+ physx::PxVec3 LightDir;
+ physx::PxVec4 LightColor;
+ float BlockEmptyThreshold;
+ bool ReadDepth;
+ float ColorMapScale;
+ float ColorMapOffset;
+ colorLifeStruct_DynamicArray1D_Type ColorMap;
+ float TextureRangeMin;
+ float TextureRangeMax;
+
+};
+
+static const uint32_t checksum[] = { 0xfb381de2, 0xf2cfee66, 0x5b5fbef9, 0x9199ccee, };
+
+} // namespace VolumeRenderMaterialDataNS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class VolumeRenderMaterialData : public NvParameterized::NvParameters, public VolumeRenderMaterialDataNS::ParametersStruct
+{
+public:
+ VolumeRenderMaterialData(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~VolumeRenderMaterialData();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("VolumeRenderMaterialData");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)1;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(VolumeRenderMaterialDataNS::checksum);
+ return VolumeRenderMaterialDataNS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const VolumeRenderMaterialDataNS::ParametersStruct& parameters(void) const
+ {
+ VolumeRenderMaterialData* tmpThis = const_cast<VolumeRenderMaterialData*>(this);
+ return *(static_cast<VolumeRenderMaterialDataNS::ParametersStruct*>(tmpThis));
+ }
+
+ VolumeRenderMaterialDataNS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<VolumeRenderMaterialDataNS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class VolumeRenderMaterialDataFactory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ VolumeRenderMaterialData::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(VolumeRenderMaterialData), VolumeRenderMaterialData::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, VolumeRenderMaterialData::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class VolumeRenderMaterialData");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(VolumeRenderMaterialData)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, VolumeRenderMaterialData)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, VolumeRenderMaterialData::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, VolumeRenderMaterialData::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class VolumeRenderMaterialData");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of VolumeRenderMaterialData here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (VolumeRenderMaterialData*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (VolumeRenderMaterialData::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (VolumeRenderMaterialData::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (VolumeRenderMaterialData::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (VolumeRenderMaterialData::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace particles
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/particles/include/autogen/VortexFieldSamplerData.h b/APEX_1.4/module/particles/include/autogen/VortexFieldSamplerData.h
new file mode 100644
index 00000000..962e5ee4
--- /dev/null
+++ b/APEX_1.4/module/particles/include/autogen/VortexFieldSamplerData.h
@@ -0,0 +1,231 @@
+// 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
+
+
+#ifndef HEADER_VortexFieldSamplerData_h
+#define HEADER_VortexFieldSamplerData_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace particles
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace VortexFieldSamplerDataNS
+{
+
+
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct Name;
+ NvParameterized::Interface* VortexFieldSampler;
+
+};
+
+static const uint32_t checksum[] = { 0xe1494a82, 0xeb4d703f, 0xa17e8922, 0x25b15901, };
+
+} // namespace VortexFieldSamplerDataNS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class VortexFieldSamplerData : public NvParameterized::NvParameters, public VortexFieldSamplerDataNS::ParametersStruct
+{
+public:
+ VortexFieldSamplerData(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~VortexFieldSamplerData();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("VortexFieldSamplerData");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)0;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(VortexFieldSamplerDataNS::checksum);
+ return VortexFieldSamplerDataNS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const VortexFieldSamplerDataNS::ParametersStruct& parameters(void) const
+ {
+ VortexFieldSamplerData* tmpThis = const_cast<VortexFieldSamplerData*>(this);
+ return *(static_cast<VortexFieldSamplerDataNS::ParametersStruct*>(tmpThis));
+ }
+
+ VortexFieldSamplerDataNS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<VortexFieldSamplerDataNS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class VortexFieldSamplerDataFactory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ VortexFieldSamplerData::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(VortexFieldSamplerData), VortexFieldSamplerData::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, VortexFieldSamplerData::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class VortexFieldSamplerData");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(VortexFieldSamplerData)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, VortexFieldSamplerData)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, VortexFieldSamplerData::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, VortexFieldSamplerData::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class VortexFieldSamplerData");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of VortexFieldSamplerData here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (VortexFieldSamplerData*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (VortexFieldSamplerData::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (VortexFieldSamplerData::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (VortexFieldSamplerData::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (VortexFieldSamplerData::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace particles
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/particles/include/autogen/VortexFieldSamplerEffect.h b/APEX_1.4/module/particles/include/autogen/VortexFieldSamplerEffect.h
new file mode 100644
index 00000000..444ab3bc
--- /dev/null
+++ b/APEX_1.4/module/particles/include/autogen/VortexFieldSamplerEffect.h
@@ -0,0 +1,291 @@
+// 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
+
+
+#ifndef HEADER_VortexFieldSamplerEffect_h
+#define HEADER_VortexFieldSamplerEffect_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace particles
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace VortexFieldSamplerEffectNS
+{
+
+struct TranslateObject_Type;
+struct OrientObject_Type;
+struct ControlPoint_Type;
+struct EffectPath_Type;
+struct EffectProperties_Type;
+
+struct TRANSFORM_DynamicArray1D_Type
+{
+ physx::PxTransform* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct ControlPoint_DynamicArray1D_Type
+{
+ ControlPoint_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct TranslateObject_Type
+{
+ float TranslateX;
+ float TranslateY;
+ float TranslateZ;
+};
+struct ControlPoint_Type
+{
+ float x;
+ float y;
+};
+struct OrientObject_Type
+{
+ float RotateX;
+ float RotateY;
+ float RotateZ;
+};
+struct EffectPath_Type
+{
+ const char* PlaybackMode;
+ float PathDuration;
+ uint32_t LoopIndex;
+ TRANSFORM_DynamicArray1D_Type ControlPoints;
+ ControlPoint_DynamicArray1D_Type Scale;
+ ControlPoint_DynamicArray1D_Type Speed;
+};
+struct EffectProperties_Type
+{
+ NvParameterized::DummyStringStruct UserString;
+ bool Enable;
+ TranslateObject_Type Position;
+ OrientObject_Type Orientation;
+ float InitialDelayTime;
+ float Duration;
+ uint32_t RepeatCount;
+ float RepeatDelay;
+ float RandomizeRepeatTime;
+ EffectPath_Type Path;
+};
+
+struct ParametersStruct
+{
+
+ EffectProperties_Type EffectProperties;
+ NvParameterized::Interface* VortexFieldSampler;
+
+};
+
+static const uint32_t checksum[] = { 0x2be885a4, 0xf50fd36f, 0xe78facab, 0xc365bd58, };
+
+} // namespace VortexFieldSamplerEffectNS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class VortexFieldSamplerEffect : public NvParameterized::NvParameters, public VortexFieldSamplerEffectNS::ParametersStruct
+{
+public:
+ VortexFieldSamplerEffect(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~VortexFieldSamplerEffect();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("VortexFieldSamplerEffect");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)0;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(VortexFieldSamplerEffectNS::checksum);
+ return VortexFieldSamplerEffectNS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const VortexFieldSamplerEffectNS::ParametersStruct& parameters(void) const
+ {
+ VortexFieldSamplerEffect* tmpThis = const_cast<VortexFieldSamplerEffect*>(this);
+ return *(static_cast<VortexFieldSamplerEffectNS::ParametersStruct*>(tmpThis));
+ }
+
+ VortexFieldSamplerEffectNS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<VortexFieldSamplerEffectNS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class VortexFieldSamplerEffectFactory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ VortexFieldSamplerEffect::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(VortexFieldSamplerEffect), VortexFieldSamplerEffect::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, VortexFieldSamplerEffect::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class VortexFieldSamplerEffect");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(VortexFieldSamplerEffect)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, VortexFieldSamplerEffect)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, VortexFieldSamplerEffect::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, VortexFieldSamplerEffect::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class VortexFieldSamplerEffect");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of VortexFieldSamplerEffect here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (VortexFieldSamplerEffect*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (VortexFieldSamplerEffect::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (VortexFieldSamplerEffect::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (VortexFieldSamplerEffect::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (VortexFieldSamplerEffect::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace particles
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/particles/include/autogen/WindFieldSamplerData.h b/APEX_1.4/module/particles/include/autogen/WindFieldSamplerData.h
new file mode 100644
index 00000000..00876e35
--- /dev/null
+++ b/APEX_1.4/module/particles/include/autogen/WindFieldSamplerData.h
@@ -0,0 +1,231 @@
+// 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
+
+
+#ifndef HEADER_WindFieldSamplerData_h
+#define HEADER_WindFieldSamplerData_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace particles
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace WindFieldSamplerDataNS
+{
+
+
+
+struct ParametersStruct
+{
+
+ NvParameterized::DummyStringStruct Name;
+ NvParameterized::Interface* WindFieldSampler;
+
+};
+
+static const uint32_t checksum[] = { 0xe5c5674e, 0x58f8377e, 0xc3b4e486, 0x2cbdd0bc, };
+
+} // namespace WindFieldSamplerDataNS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class WindFieldSamplerData : public NvParameterized::NvParameters, public WindFieldSamplerDataNS::ParametersStruct
+{
+public:
+ WindFieldSamplerData(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~WindFieldSamplerData();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("WindFieldSamplerData");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)0;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(WindFieldSamplerDataNS::checksum);
+ return WindFieldSamplerDataNS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const WindFieldSamplerDataNS::ParametersStruct& parameters(void) const
+ {
+ WindFieldSamplerData* tmpThis = const_cast<WindFieldSamplerData*>(this);
+ return *(static_cast<WindFieldSamplerDataNS::ParametersStruct*>(tmpThis));
+ }
+
+ WindFieldSamplerDataNS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<WindFieldSamplerDataNS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class WindFieldSamplerDataFactory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ WindFieldSamplerData::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(WindFieldSamplerData), WindFieldSamplerData::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, WindFieldSamplerData::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class WindFieldSamplerData");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(WindFieldSamplerData)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, WindFieldSamplerData)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, WindFieldSamplerData::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, WindFieldSamplerData::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class WindFieldSamplerData");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of WindFieldSamplerData here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (WindFieldSamplerData*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (WindFieldSamplerData::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (WindFieldSamplerData::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (WindFieldSamplerData::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (WindFieldSamplerData::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace particles
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif
diff --git a/APEX_1.4/module/particles/include/autogen/WindFieldSamplerEffect.h b/APEX_1.4/module/particles/include/autogen/WindFieldSamplerEffect.h
new file mode 100644
index 00000000..9b4c9f61
--- /dev/null
+++ b/APEX_1.4/module/particles/include/autogen/WindFieldSamplerEffect.h
@@ -0,0 +1,291 @@
+// 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
+
+
+#ifndef HEADER_WindFieldSamplerEffect_h
+#define HEADER_WindFieldSamplerEffect_h
+
+#include "NvParametersTypes.h"
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+#include "nvparameterized/NvParameterized.h"
+#include "nvparameterized/NvParameterizedTraits.h"
+#include "NvParameters.h"
+#include "NvTraitsInternal.h"
+#endif
+
+namespace nvidia
+{
+namespace particles
+{
+
+#if PX_VC
+#pragma warning(push)
+#pragma warning(disable: 4324) // structure was padded due to __declspec(align())
+#endif
+
+namespace WindFieldSamplerEffectNS
+{
+
+struct TranslateObject_Type;
+struct OrientObject_Type;
+struct ControlPoint_Type;
+struct EffectPath_Type;
+struct EffectProperties_Type;
+
+struct TRANSFORM_DynamicArray1D_Type
+{
+ physx::PxTransform* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct ControlPoint_DynamicArray1D_Type
+{
+ ControlPoint_Type* buf;
+ bool isAllocated;
+ int32_t elementSize;
+ int32_t arraySizes[1];
+};
+
+struct TranslateObject_Type
+{
+ float TranslateX;
+ float TranslateY;
+ float TranslateZ;
+};
+struct ControlPoint_Type
+{
+ float x;
+ float y;
+};
+struct OrientObject_Type
+{
+ float RotateX;
+ float RotateY;
+ float RotateZ;
+};
+struct EffectPath_Type
+{
+ const char* PlaybackMode;
+ float PathDuration;
+ uint32_t LoopIndex;
+ TRANSFORM_DynamicArray1D_Type ControlPoints;
+ ControlPoint_DynamicArray1D_Type Scale;
+ ControlPoint_DynamicArray1D_Type Speed;
+};
+struct EffectProperties_Type
+{
+ NvParameterized::DummyStringStruct UserString;
+ bool Enable;
+ TranslateObject_Type Position;
+ OrientObject_Type Orientation;
+ float InitialDelayTime;
+ float Duration;
+ uint32_t RepeatCount;
+ float RepeatDelay;
+ float RandomizeRepeatTime;
+ EffectPath_Type Path;
+};
+
+struct ParametersStruct
+{
+
+ EffectProperties_Type EffectProperties;
+ NvParameterized::Interface* WindFieldSampler;
+
+};
+
+static const uint32_t checksum[] = { 0x98b44af2, 0xea3bf59f, 0xa34c5161, 0x0a087624, };
+
+} // namespace WindFieldSamplerEffectNS
+
+#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS
+class WindFieldSamplerEffect : public NvParameterized::NvParameters, public WindFieldSamplerEffectNS::ParametersStruct
+{
+public:
+ WindFieldSamplerEffect(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0);
+
+ virtual ~WindFieldSamplerEffect();
+
+ virtual void destroy();
+
+ static const char* staticClassName(void)
+ {
+ return("WindFieldSamplerEffect");
+ }
+
+ const char* className(void) const
+ {
+ return(staticClassName());
+ }
+
+ static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)0;
+
+ static uint32_t staticVersion(void)
+ {
+ return ClassVersion;
+ }
+
+ uint32_t version(void) const
+ {
+ return(staticVersion());
+ }
+
+ static const uint32_t ClassAlignment = 8;
+
+ static const uint32_t* staticChecksum(uint32_t& bits)
+ {
+ bits = 8 * sizeof(WindFieldSamplerEffectNS::checksum);
+ return WindFieldSamplerEffectNS::checksum;
+ }
+
+ static void freeParameterDefinitionTable(NvParameterized::Traits* traits);
+
+ const uint32_t* checksum(uint32_t& bits) const
+ {
+ return staticChecksum(bits);
+ }
+
+ const WindFieldSamplerEffectNS::ParametersStruct& parameters(void) const
+ {
+ WindFieldSamplerEffect* tmpThis = const_cast<WindFieldSamplerEffect*>(this);
+ return *(static_cast<WindFieldSamplerEffectNS::ParametersStruct*>(tmpThis));
+ }
+
+ WindFieldSamplerEffectNS::ParametersStruct& parameters(void)
+ {
+ return *(static_cast<WindFieldSamplerEffectNS::ParametersStruct*>(this));
+ }
+
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle) const;
+ virtual NvParameterized::ErrorType getParameterHandle(const char* long_name, NvParameterized::Handle& handle);
+
+ void initDefaults(void);
+
+protected:
+
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void);
+ virtual const NvParameterized::DefinitionImpl* getParameterDefinitionTree(void) const;
+
+
+ virtual void getVarPtr(const NvParameterized::Handle& handle, void*& ptr, size_t& offset) const;
+
+private:
+
+ void buildTree(void);
+ void initDynamicArrays(void);
+ void initStrings(void);
+ void initReferences(void);
+ void freeDynamicArrays(void);
+ void freeStrings(void);
+ void freeReferences(void);
+
+ static bool mBuiltFlag;
+ static NvParameterized::MutexType mBuiltFlagMutex;
+};
+
+class WindFieldSamplerEffectFactory : public NvParameterized::Factory
+{
+ static const char* const vptr;
+
+public:
+
+ virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits)
+ {
+ WindFieldSamplerEffect::freeParameterDefinitionTable(traits);
+ }
+
+ virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits)
+ {
+ // placement new on this class using mParameterizedTraits
+
+ void* newPtr = paramTraits->alloc(sizeof(WindFieldSamplerEffect), WindFieldSamplerEffect::ClassAlignment);
+ if (!NvParameterized::IsAligned(newPtr, WindFieldSamplerEffect::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class WindFieldSamplerEffect");
+ paramTraits->free(newPtr);
+ return 0;
+ }
+
+ memset(newPtr, 0, sizeof(WindFieldSamplerEffect)); // always initialize memory allocated to zero for default values
+ return NV_PARAM_PLACEMENT_NEW(newPtr, WindFieldSamplerEffect)(paramTraits);
+ }
+
+ virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount)
+ {
+ if (!NvParameterized::IsAligned(bufObj, WindFieldSamplerEffect::ClassAlignment)
+ || !NvParameterized::IsAligned(bufStart, WindFieldSamplerEffect::ClassAlignment))
+ {
+ NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class WindFieldSamplerEffect");
+ return 0;
+ }
+
+ // Init NvParameters-part
+ // We used to call empty constructor of WindFieldSamplerEffect here
+ // but it may call default constructors of members and spoil the data
+ NV_PARAM_PLACEMENT_NEW(bufObj, NvParameterized::NvParameters)(paramTraits, bufStart, refCount);
+
+ // Init vtable (everything else is already initialized)
+ *(const char**)bufObj = vptr;
+
+ return (WindFieldSamplerEffect*)bufObj;
+ }
+
+ virtual const char* getClassName()
+ {
+ return (WindFieldSamplerEffect::staticClassName());
+ }
+
+ virtual uint32_t getVersion()
+ {
+ return (WindFieldSamplerEffect::staticVersion());
+ }
+
+ virtual uint32_t getAlignment()
+ {
+ return (WindFieldSamplerEffect::ClassAlignment);
+ }
+
+ virtual const uint32_t* getChecksum(uint32_t& bits)
+ {
+ return (WindFieldSamplerEffect::staticChecksum(bits));
+ }
+};
+#endif // NV_PARAMETERIZED_ONLY_LAYOUTS
+
+} // namespace particles
+} // namespace nvidia
+
+#if PX_VC
+#pragma warning(pop)
+#endif
+
+#endif