diff options
| author | git perforce import user <a@b> | 2016-10-25 12:29:14 -0600 |
|---|---|---|
| committer | Sheikh Dawood Abdul Ajees <Sheikh Dawood Abdul Ajees> | 2016-10-25 18:56:37 -0500 |
| commit | 3dfe2108cfab31ba3ee5527e217d0d8e99a51162 (patch) | |
| tree | fa6485c169e50d7415a651bf838f5bcd0fd3bfbd /APEX_1.4/module/destructible_legacy/include | |
| download | physx-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/destructible_legacy/include')
150 files changed, 45754 insertions, 0 deletions
diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionCachedOverlaps_0p0_0p1.h b/APEX_1.4/module/destructible_legacy/include/ConversionCachedOverlaps_0p0_0p1.h new file mode 100644 index 00000000..dde59185 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionCachedOverlaps_0p0_0p1.h @@ -0,0 +1,98 @@ +/* + * 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_CONVERSIONCACHEDOVERLAPS_0P0_0P1H_H +#define MODULE_CONVERSIONCACHEDOVERLAPS_0P0_0P1H_H + +#include "NvParamConversionTemplate.h" +#include "CachedOverlaps_0p0.h" +#include "CachedOverlaps_0p1.h" + +#include "ApexSharedUtils.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::CachedOverlaps_0p0, + nvidia::parameterized::CachedOverlaps_0p1, + nvidia::parameterized::CachedOverlaps_0p0::ClassVersion, + nvidia::parameterized::CachedOverlaps_0p1::ClassVersion> + ConversionCachedOverlaps_0p0_0p1Parent; + +class ConversionCachedOverlaps_0p0_0p1: public ConversionCachedOverlaps_0p0_0p1Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionCachedOverlaps_0p0_0p1)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionCachedOverlaps_0p0_0p1)(t) : 0; + } + +protected: + ConversionCachedOverlaps_0p0_0p1(NvParameterized::Traits* t) : ConversionCachedOverlaps_0p0_0p1Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + parameterized::CachedOverlaps_0p0NS::IntPair_Type* pairs = mLegacyData->overlaps.buf; + uint32_t numPairs = (uint32_t)mLegacyData->overlaps.arraySizes[0]; + + NvParameterized::Handle overlapsHandle(*mNewData, "overlaps"); + mNewData->resizeArray(overlapsHandle, 2*(int32_t)numPairs); + for (uint32_t i = 0; i < numPairs; ++i) + { + mNewData->overlaps.buf[2*i].i0 = pairs[i].i0; + mNewData->overlaps.buf[2*i].i1 = pairs[i].i1; + + mNewData->overlaps.buf[2*i+1].i0 = pairs[i].i1; + mNewData->overlaps.buf[2*i+1].i1 = pairs[i].i0; + } + + qsort(mNewData->overlaps.buf, 2*numPairs, sizeof(IntPair), IntPair::compare); + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p0_0p1.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p0_0p1.h new file mode 100644 index 00000000..aaee57ee --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p0_0p1.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEACTORPARAM_0P0_0P1H_H +#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P0_0P1H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleActorParam_0p0.h" +#include "DestructibleActorParam_0p1.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p0, + nvidia::parameterized::DestructibleActorParam_0p1, + nvidia::parameterized::DestructibleActorParam_0p0::ClassVersion, + nvidia::parameterized::DestructibleActorParam_0p1::ClassVersion> + ConversionDestructibleActorParam_0p0_0p1Parent; + +class ConversionDestructibleActorParam_0p0_0p1: public ConversionDestructibleActorParam_0p0_0p1Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p0_0p1)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p0_0p1)(t) : 0; + } + +protected: + ConversionDestructibleActorParam_0p0_0p1(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p0_0p1Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p10_0p11.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p10_0p11.h new file mode 100644 index 00000000..b5a81f23 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p10_0p11.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEACTORPARAM_0P10_0P11H_H +#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P10_0P11H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleActorParam_0p10.h" +#include "DestructibleActorParam_0p11.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p10, + nvidia::parameterized::DestructibleActorParam_0p11, + nvidia::parameterized::DestructibleActorParam_0p10::ClassVersion, + nvidia::parameterized::DestructibleActorParam_0p11::ClassVersion> + ConversionDestructibleActorParam_0p10_0p11Parent; + +class ConversionDestructibleActorParam_0p10_0p11: public ConversionDestructibleActorParam_0p10_0p11Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p10_0p11)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p10_0p11)(t) : 0; + } + +protected: + ConversionDestructibleActorParam_0p10_0p11(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p10_0p11Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p11_0p12.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p11_0p12.h new file mode 100644 index 00000000..f8fb1fe3 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p11_0p12.h @@ -0,0 +1,95 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEACTORPARAM_0P11_0P12H_H +#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P11_0P12H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleActorParam_0p11.h" +#include "DestructibleActorParam_0p12.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p11, + nvidia::parameterized::DestructibleActorParam_0p12, + nvidia::parameterized::DestructibleActorParam_0p11::ClassVersion, + nvidia::parameterized::DestructibleActorParam_0p12::ClassVersion> + ConversionDestructibleActorParam_0p11_0p12Parent; + +class ConversionDestructibleActorParam_0p11_0p12: public ConversionDestructibleActorParam_0p11_0p12Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p11_0p12)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p11_0p12)(t) : 0; + } + +protected: + ConversionDestructibleActorParam_0p11_0p12(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p11_0p12Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + // Convert sleepVelocitySmoothingFactor to sleepVelocityFrameDecayConstant + if (mLegacyData->sleepVelocitySmoothingFactor <= 0.0f) + { + mNewData->sleepVelocityFrameDecayConstant = 1.0f; + } + else + if (mLegacyData->sleepVelocitySmoothingFactor > 1.0f - PX_EPS_F32) + { + mNewData->sleepVelocityFrameDecayConstant = 1.0f/PX_EPS_F32; + } + else + { + mNewData->sleepVelocityFrameDecayConstant = 1.0f/(1.0f - mLegacyData->sleepVelocitySmoothingFactor); + } + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p12_0p13.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p12_0p13.h new file mode 100644 index 00000000..92e9cb9d --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p12_0p13.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEACTORPARAM_0P12_0P13H_H +#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P12_0P13H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleActorParam_0p12.h" +#include "DestructibleActorParam_0p13.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p12, + nvidia::parameterized::DestructibleActorParam_0p13, + nvidia::parameterized::DestructibleActorParam_0p12::ClassVersion, + nvidia::parameterized::DestructibleActorParam_0p13::ClassVersion> + ConversionDestructibleActorParam_0p12_0p13Parent; + +class ConversionDestructibleActorParam_0p12_0p13: public ConversionDestructibleActorParam_0p12_0p13Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p12_0p13)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p12_0p13)(t) : 0; + } + +protected: + ConversionDestructibleActorParam_0p12_0p13(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p12_0p13Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p13_0p14.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p13_0p14.h new file mode 100644 index 00000000..2fd5b8ca --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p13_0p14.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEACTORPARAM_0P13_0P14H_H +#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P13_0P14H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleActorParam_0p13.h" +#include "DestructibleActorParam_0p14.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p13, + nvidia::parameterized::DestructibleActorParam_0p14, + nvidia::parameterized::DestructibleActorParam_0p13::ClassVersion, + nvidia::parameterized::DestructibleActorParam_0p14::ClassVersion> + ConversionDestructibleActorParam_0p13_0p14Parent; + +class ConversionDestructibleActorParam_0p13_0p14: public ConversionDestructibleActorParam_0p13_0p14Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p13_0p14)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p13_0p14)(t) : 0; + } + +protected: + ConversionDestructibleActorParam_0p13_0p14(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p13_0p14Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p14_0p15.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p14_0p15.h new file mode 100644 index 00000000..9f4b6871 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p14_0p15.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEACTORPARAM_0P14_0P15H_H +#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P14_0P15H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleActorParam_0p14.h" +#include "DestructibleActorParam_0p15.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p14, + nvidia::parameterized::DestructibleActorParam_0p15, + nvidia::parameterized::DestructibleActorParam_0p14::ClassVersion, + nvidia::parameterized::DestructibleActorParam_0p15::ClassVersion> + ConversionDestructibleActorParam_0p14_0p15Parent; + +class ConversionDestructibleActorParam_0p14_0p15: public ConversionDestructibleActorParam_0p14_0p15Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p14_0p15)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p14_0p15)(t) : 0; + } + +protected: + ConversionDestructibleActorParam_0p14_0p15(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p14_0p15Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p15_0p16.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p15_0p16.h new file mode 100644 index 00000000..9ee647a1 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p15_0p16.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEACTORPARAM_0P15_0P16H_H +#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P15_0P16H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleActorParam_0p15.h" +#include "DestructibleActorParam_0p16.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p15, + nvidia::parameterized::DestructibleActorParam_0p16, + nvidia::parameterized::DestructibleActorParam_0p15::ClassVersion, + nvidia::parameterized::DestructibleActorParam_0p16::ClassVersion> + ConversionDestructibleActorParam_0p15_0p16Parent; + +class ConversionDestructibleActorParam_0p15_0p16: public ConversionDestructibleActorParam_0p15_0p16Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p15_0p16)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p15_0p16)(t) : 0; + } + +protected: + ConversionDestructibleActorParam_0p15_0p16(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p15_0p16Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p16_0p17.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p16_0p17.h new file mode 100644 index 00000000..73514066 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p16_0p17.h @@ -0,0 +1,83 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEACTORPARAM_0P16_0P17H_H +#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P16_0P17H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleActorParam_0p16.h" +#include "DestructibleActorParam_0p17.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p16, + nvidia::parameterized::DestructibleActorParam_0p17, + nvidia::parameterized::DestructibleActorParam_0p16::ClassVersion, + nvidia::parameterized::DestructibleActorParam_0p17::ClassVersion> + ConversionDestructibleActorParam_0p16_0p17Parent; + +class ConversionDestructibleActorParam_0p16_0p17: public ConversionDestructibleActorParam_0p16_0p17Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p16_0p17)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p16_0p17)(t) : 0; + } + +protected: + ConversionDestructibleActorParam_0p16_0p17(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p16_0p17Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + // Convert default behavior group's damage spread function parameters + mNewData->defaultBehaviorGroup.damageSpread.minimumRadius = mLegacyData->defaultBehaviorGroup.minimumDamageRadius; + mNewData->defaultBehaviorGroup.damageSpread.radiusMultiplier = mLegacyData->defaultBehaviorGroup.damageRadiusMultiplier; + mNewData->defaultBehaviorGroup.damageSpread.falloffExponent = mLegacyData->defaultBehaviorGroup.damageFalloffExponent; + + // Convert user-defined behavior group's damage spread function parameters + const int32_t behaviorGroupCount = mLegacyData->behaviorGroups.arraySizes[0]; + PX_ASSERT(mNewData->behaviorGroups.arraySizes[0] == behaviorGroupCount); + for (int32_t i = 0; i < physx::PxMin(behaviorGroupCount, mNewData->behaviorGroups.arraySizes[0]); ++i) + { + mNewData->behaviorGroups.buf[i].damageSpread.minimumRadius = mLegacyData->behaviorGroups.buf[i].minimumDamageRadius; + mNewData->behaviorGroups.buf[i].damageSpread.radiusMultiplier = mLegacyData->behaviorGroups.buf[i].damageRadiusMultiplier; + mNewData->behaviorGroups.buf[i].damageSpread.falloffExponent = mLegacyData->behaviorGroups.buf[i].damageFalloffExponent; + } + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p17_0p18.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p17_0p18.h new file mode 100644 index 00000000..239095d3 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p17_0p18.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEACTORPARAM_0P17_0P18H_H +#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P17_0P18H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleActorParam_0p17.h" +#include "DestructibleActorParam_0p18.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p17, + nvidia::parameterized::DestructibleActorParam_0p18, + nvidia::parameterized::DestructibleActorParam_0p17::ClassVersion, + nvidia::parameterized::DestructibleActorParam_0p18::ClassVersion> + ConversionDestructibleActorParam_0p17_0p18Parent; + +class ConversionDestructibleActorParam_0p17_0p18: public ConversionDestructibleActorParam_0p17_0p18Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p17_0p18)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p17_0p18)(t) : 0; + } + +protected: + ConversionDestructibleActorParam_0p17_0p18(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p17_0p18Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p18_0p19.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p18_0p19.h new file mode 100644 index 00000000..011e5130 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p18_0p19.h @@ -0,0 +1,70 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEACTORPARAM_0P18_0P19H_H +#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P18_0P19H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleActorParam_0p18.h" +#include "DestructibleActorParam_0p19.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p18, + nvidia::parameterized::DestructibleActorParam_0p19, + nvidia::parameterized::DestructibleActorParam_0p18::ClassVersion, + nvidia::parameterized::DestructibleActorParam_0p19::ClassVersion> + ConversionDestructibleActorParam_0p18_0p19Parent; + +class ConversionDestructibleActorParam_0p18_0p19: public ConversionDestructibleActorParam_0p18_0p19Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p18_0p19)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p18_0p19)(t) : 0; + } + +protected: + ConversionDestructibleActorParam_0p18_0p19(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p18_0p19Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + mNewData->p3BodyDescTemplate.flags.eENABLE_CCD = mLegacyData->p3ShapeDescTemplate.flags.eUSE_SWEPT_BOUNDS; + mNewData->p3ActorDescTemplate.contactReportFlags.eCCD_LINEAR = mLegacyData->p3ActorDescTemplate.contactReportFlags.eSWEPT_INTEGRATION_LINEAR; + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p19_0p20.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p19_0p20.h new file mode 100644 index 00000000..8fe665c2 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p19_0p20.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEACTORPARAM_0P19_0P20H_H +#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P19_0P20H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleActorParam_0p19.h" +#include "DestructibleActorParam_0p20.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p19, + nvidia::parameterized::DestructibleActorParam_0p20, + nvidia::parameterized::DestructibleActorParam_0p19::ClassVersion, + nvidia::parameterized::DestructibleActorParam_0p20::ClassVersion> + ConversionDestructibleActorParam_0p19_0p20Parent; + +class ConversionDestructibleActorParam_0p19_0p20: public ConversionDestructibleActorParam_0p19_0p20Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p19_0p20)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p19_0p20)(t) : 0; + } + +protected: + ConversionDestructibleActorParam_0p19_0p20(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p19_0p20Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p1_0p2.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p1_0p2.h new file mode 100644 index 00000000..8b2cce03 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p1_0p2.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEACTORPARAM_0P1_0P2H_H +#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P1_0P2H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleActorParam_0p1.h" +#include "DestructibleActorParam_0p2.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p1, + nvidia::parameterized::DestructibleActorParam_0p2, + nvidia::parameterized::DestructibleActorParam_0p1::ClassVersion, + nvidia::parameterized::DestructibleActorParam_0p2::ClassVersion> + ConversionDestructibleActorParam_0p1_0p2Parent; + +class ConversionDestructibleActorParam_0p1_0p2: public ConversionDestructibleActorParam_0p1_0p2Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p1_0p2)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p1_0p2)(t) : 0; + } + +protected: + ConversionDestructibleActorParam_0p1_0p2(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p1_0p2Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p20_0p21.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p20_0p21.h new file mode 100644 index 00000000..ef47954b --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p20_0p21.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEACTORPARAM_0P20_0P21H_H +#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P20_0P21H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleActorParam_0p20.h" +#include "DestructibleActorParam_0p21.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p20, + nvidia::parameterized::DestructibleActorParam_0p21, + nvidia::parameterized::DestructibleActorParam_0p20::ClassVersion, + nvidia::parameterized::DestructibleActorParam_0p21::ClassVersion> + ConversionDestructibleActorParam_0p20_0p21Parent; + +class ConversionDestructibleActorParam_0p20_0p21: public ConversionDestructibleActorParam_0p20_0p21Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p20_0p21)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p20_0p21)(t) : 0; + } + +protected: + ConversionDestructibleActorParam_0p20_0p21(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p20_0p21Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p21_0p22.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p21_0p22.h new file mode 100644 index 00000000..60e0d8c4 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p21_0p22.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEACTORPARAM_0P21_0P22H_H +#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P21_0P22H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleActorParam_0p21.h" +#include "DestructibleActorParam_0p22.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p21, + nvidia::parameterized::DestructibleActorParam_0p22, + nvidia::parameterized::DestructibleActorParam_0p21::ClassVersion, + nvidia::parameterized::DestructibleActorParam_0p22::ClassVersion> + ConversionDestructibleActorParam_0p21_0p22Parent; + +class ConversionDestructibleActorParam_0p21_0p22: public ConversionDestructibleActorParam_0p21_0p22Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p21_0p22)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p21_0p22)(t) : 0; + } + +protected: + ConversionDestructibleActorParam_0p21_0p22(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p21_0p22Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p22_0p23.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p22_0p23.h new file mode 100644 index 00000000..5203ca30 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p22_0p23.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEACTORPARAM_0P22_0P23H_H +#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P22_0P23H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleActorParam_0p22.h" +#include "DestructibleActorParam_0p23.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p22, + nvidia::parameterized::DestructibleActorParam_0p23, + nvidia::parameterized::DestructibleActorParam_0p22::ClassVersion, + nvidia::parameterized::DestructibleActorParam_0p23::ClassVersion> + ConversionDestructibleActorParam_0p22_0p23Parent; + +class ConversionDestructibleActorParam_0p22_0p23: public ConversionDestructibleActorParam_0p22_0p23Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p22_0p23)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p22_0p23)(t) : 0; + } + +protected: + ConversionDestructibleActorParam_0p22_0p23(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p22_0p23Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p23_0p24.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p23_0p24.h new file mode 100644 index 00000000..6000fd6f --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p23_0p24.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEACTORPARAM_0P23_0P24H_H +#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P23_0P24H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleActorParam_0p23.h" +#include "DestructibleActorParam_0p24.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p23, + nvidia::parameterized::DestructibleActorParam_0p24, + nvidia::parameterized::DestructibleActorParam_0p23::ClassVersion, + nvidia::parameterized::DestructibleActorParam_0p24::ClassVersion> + ConversionDestructibleActorParam_0p23_0p24Parent; + +class ConversionDestructibleActorParam_0p23_0p24: public ConversionDestructibleActorParam_0p23_0p24Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p23_0p24)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p23_0p24)(t) : 0; + } + +protected: + ConversionDestructibleActorParam_0p23_0p24(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p23_0p24Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p24_0p25.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p24_0p25.h new file mode 100644 index 00000000..d984a214 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p24_0p25.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEACTORPARAM_0P24_0P25H_H +#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P24_0P25H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleActorParam_0p24.h" +#include "DestructibleActorParam_0p25.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p24, + nvidia::parameterized::DestructibleActorParam_0p25, + nvidia::parameterized::DestructibleActorParam_0p24::ClassVersion, + nvidia::parameterized::DestructibleActorParam_0p25::ClassVersion> + ConversionDestructibleActorParam_0p24_0p25Parent; + +class ConversionDestructibleActorParam_0p24_0p25: public ConversionDestructibleActorParam_0p24_0p25Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p24_0p25)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p24_0p25)(t) : 0; + } + +protected: + ConversionDestructibleActorParam_0p24_0p25(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p24_0p25Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p25_0p26.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p25_0p26.h new file mode 100644 index 00000000..1cf45b45 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p25_0p26.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEACTORPARAM_0P25_0P26H_H +#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P25_0P26H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleActorParam_0p25.h" +#include "DestructibleActorParam_0p26.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p25, + nvidia::parameterized::DestructibleActorParam_0p26, + nvidia::parameterized::DestructibleActorParam_0p25::ClassVersion, + nvidia::parameterized::DestructibleActorParam_0p26::ClassVersion> + ConversionDestructibleActorParam_0p25_0p26Parent; + +class ConversionDestructibleActorParam_0p25_0p26: public ConversionDestructibleActorParam_0p25_0p26Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p25_0p26)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p25_0p26)(t) : 0; + } + +protected: + ConversionDestructibleActorParam_0p25_0p26(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p25_0p26Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p26_0p27.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p26_0p27.h new file mode 100644 index 00000000..3d4d5181 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p26_0p27.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEACTORPARAM_0P26_0P27H_H +#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P26_0P27H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleActorParam_0p26.h" +#include "DestructibleActorParam_0p27.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p26, + nvidia::parameterized::DestructibleActorParam_0p27, + nvidia::parameterized::DestructibleActorParam_0p26::ClassVersion, + nvidia::parameterized::DestructibleActorParam_0p27::ClassVersion> + ConversionDestructibleActorParam_0p26_0p27Parent; + +class ConversionDestructibleActorParam_0p26_0p27: public ConversionDestructibleActorParam_0p26_0p27Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p26_0p27)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p26_0p27)(t) : 0; + } + +protected: + ConversionDestructibleActorParam_0p26_0p27(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p26_0p27Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p27_0p28.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p27_0p28.h new file mode 100644 index 00000000..c4f5a156 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p27_0p28.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEACTORPARAM_0P27_0P28H_H +#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P27_0P28H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleActorParam_0p27.h" +#include "DestructibleActorParam_0p28.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p27, + nvidia::parameterized::DestructibleActorParam_0p28, + nvidia::parameterized::DestructibleActorParam_0p27::ClassVersion, + nvidia::parameterized::DestructibleActorParam_0p28::ClassVersion> + ConversionDestructibleActorParam_0p27_0p28Parent; + +class ConversionDestructibleActorParam_0p27_0p28: public ConversionDestructibleActorParam_0p27_0p28Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p27_0p28)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p27_0p28)(t) : 0; + } + +protected: + ConversionDestructibleActorParam_0p27_0p28(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p27_0p28Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p28_0p29.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p28_0p29.h new file mode 100644 index 00000000..49e518fb --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p28_0p29.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEACTORPARAM_0P28_0P29H_H +#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P28_0P29H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleActorParam_0p28.h" +#include "DestructibleActorParam_0p29.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p28, + nvidia::parameterized::DestructibleActorParam_0p29, + nvidia::parameterized::DestructibleActorParam_0p28::ClassVersion, + nvidia::parameterized::DestructibleActorParam_0p29::ClassVersion> + ConversionDestructibleActorParam_0p28_0p29Parent; + +class ConversionDestructibleActorParam_0p28_0p29: public ConversionDestructibleActorParam_0p28_0p29Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p28_0p29)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p28_0p29)(t) : 0; + } + +protected: + ConversionDestructibleActorParam_0p28_0p29(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p28_0p29Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p29_0p30.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p29_0p30.h new file mode 100644 index 00000000..24e81f6b --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p29_0p30.h @@ -0,0 +1,79 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEACTORPARAM_0P29_0P30H_H +#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P29_0P30H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleActorParam_0p29.h" +#include "DestructibleActorParam_0p30.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p29, + nvidia::parameterized::DestructibleActorParam_0p30, + nvidia::parameterized::DestructibleActorParam_0p29::ClassVersion, + nvidia::parameterized::DestructibleActorParam_0p30::ClassVersion> + ConversionDestructibleActorParam_0p29_0p30Parent; + +class ConversionDestructibleActorParam_0p29_0p30: public ConversionDestructibleActorParam_0p29_0p30Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p29_0p30)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p29_0p30)(t) : 0; + } + +protected: + ConversionDestructibleActorParam_0p29_0p30(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p29_0p30Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + if (mLegacyData->p3ActorDescTemplate.contactReportFlags.eRESOLVE_CONTACTS) + { + mNewData->p3ActorDescTemplate.contactReportFlags.eCONTACT_DEFAULT = true; + } + + if (mLegacyData->p3ActorDescTemplate.contactReportFlags.eCCD_LINEAR) + { + mNewData->p3ActorDescTemplate.contactReportFlags.eSOLVE_CONTACT = true; + mNewData->p3ActorDescTemplate.contactReportFlags.eDETECT_CCD_CONTACT = true; + } + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p2_0p3.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p2_0p3.h new file mode 100644 index 00000000..ea15a14a --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p2_0p3.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEACTORPARAM_0P2_0P3H_H +#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P2_0P3H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleActorParam_0p2.h" +#include "DestructibleActorParam_0p3.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p2, + nvidia::parameterized::DestructibleActorParam_0p3, + nvidia::parameterized::DestructibleActorParam_0p2::ClassVersion, + nvidia::parameterized::DestructibleActorParam_0p3::ClassVersion> + ConversionDestructibleActorParam_0p2_0p3Parent; + +class ConversionDestructibleActorParam_0p2_0p3: public ConversionDestructibleActorParam_0p2_0p3Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p2_0p3)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p2_0p3)(t) : 0; + } + +protected: + ConversionDestructibleActorParam_0p2_0p3(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p2_0p3Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p30_0p31.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p30_0p31.h new file mode 100644 index 00000000..c199b942 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p30_0p31.h @@ -0,0 +1,85 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEACTORPARAM_0P30_0P31H_H +#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P30_0P31H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleActorParam_0p30.h" +#include "DestructibleActorParam_0p31.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p30, + nvidia::parameterized::DestructibleActorParam_0p31, + nvidia::parameterized::DestructibleActorParam_0p30::ClassVersion, + nvidia::parameterized::DestructibleActorParam_0p31::ClassVersion> + ConversionDestructibleActorParam_0p30_0p31Parent; + +class ConversionDestructibleActorParam_0p30_0p31: public ConversionDestructibleActorParam_0p30_0p31Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p30_0p31)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p30_0p31)(t) : 0; + } + +protected: + ConversionDestructibleActorParam_0p30_0p31(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p30_0p31Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + physx::PxMat33 tm(PxVec3(mLegacyData->globalPose[0], mLegacyData->globalPose[1], mLegacyData->globalPose[2]), + PxVec3(mLegacyData->globalPose[3], mLegacyData->globalPose[4], mLegacyData->globalPose[5]), + PxVec3(mLegacyData->globalPose[6], mLegacyData->globalPose[7], mLegacyData->globalPose[8])); + + mNewData->globalPose.q = physx::PxQuat(tm); + mNewData->globalPose.p = physx::PxVec3(mLegacyData->globalPose[9], mLegacyData->globalPose[10], mLegacyData->globalPose[11]); + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p31_0p32.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p31_0p32.h new file mode 100644 index 00000000..d31b4994 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p31_0p32.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEACTORPARAM_0P31_0P32H_H +#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P31_0P32H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleActorParam_0p31.h" +#include "DestructibleActorParam_0p32.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p31, + nvidia::parameterized::DestructibleActorParam_0p32, + nvidia::parameterized::DestructibleActorParam_0p31::ClassVersion, + nvidia::parameterized::DestructibleActorParam_0p32::ClassVersion> + ConversionDestructibleActorParam_0p31_0p32Parent; + +class ConversionDestructibleActorParam_0p31_0p32: public ConversionDestructibleActorParam_0p31_0p32Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p31_0p32)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p31_0p32)(t) : 0; + } + +protected: + ConversionDestructibleActorParam_0p31_0p32(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p31_0p32Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p3_0p4.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p3_0p4.h new file mode 100644 index 00000000..d049c797 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p3_0p4.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEACTORPARAM_0P3_0P4H_H +#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P3_0P4H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleActorParam_0p3.h" +#include "DestructibleActorParam_0p4.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p3, + nvidia::parameterized::DestructibleActorParam_0p4, + nvidia::parameterized::DestructibleActorParam_0p3::ClassVersion, + nvidia::parameterized::DestructibleActorParam_0p4::ClassVersion> + ConversionDestructibleActorParam_0p3_0p4Parent; + +class ConversionDestructibleActorParam_0p3_0p4: public ConversionDestructibleActorParam_0p3_0p4Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p3_0p4)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p3_0p4)(t) : 0; + } + +protected: + ConversionDestructibleActorParam_0p3_0p4(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p3_0p4Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p4_0p5.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p4_0p5.h new file mode 100644 index 00000000..8ac73980 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p4_0p5.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEACTORPARAM_0P4_0P5H_H +#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P4_0P5H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleActorParam_0p4.h" +#include "DestructibleActorParam_0p5.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p4, + nvidia::parameterized::DestructibleActorParam_0p5, + nvidia::parameterized::DestructibleActorParam_0p4::ClassVersion, + nvidia::parameterized::DestructibleActorParam_0p5::ClassVersion> + ConversionDestructibleActorParam_0p4_0p5Parent; + +class ConversionDestructibleActorParam_0p4_0p5: public ConversionDestructibleActorParam_0p4_0p5Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p4_0p5)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p4_0p5)(t) : 0; + } + +protected: + ConversionDestructibleActorParam_0p4_0p5(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p4_0p5Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p5_0p6.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p5_0p6.h new file mode 100644 index 00000000..0ae536cc --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p5_0p6.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEACTORPARAM_0P5_0P6H_H +#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P5_0P6H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleActorParam_0p5.h" +#include "DestructibleActorParam_0p6.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p5, + nvidia::parameterized::DestructibleActorParam_0p6, + nvidia::parameterized::DestructibleActorParam_0p5::ClassVersion, + nvidia::parameterized::DestructibleActorParam_0p6::ClassVersion> + ConversionDestructibleActorParam_0p5_0p6Parent; + +class ConversionDestructibleActorParam_0p5_0p6: public ConversionDestructibleActorParam_0p5_0p6Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p5_0p6)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p5_0p6)(t) : 0; + } + +protected: + ConversionDestructibleActorParam_0p5_0p6(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p5_0p6Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p6_0p7.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p6_0p7.h new file mode 100644 index 00000000..8af093df --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p6_0p7.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEACTORPARAM_0P6_0P7H_H +#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P6_0P7H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleActorParam_0p6.h" +#include "DestructibleActorParam_0p7.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p6, + nvidia::parameterized::DestructibleActorParam_0p7, + nvidia::parameterized::DestructibleActorParam_0p6::ClassVersion, + nvidia::parameterized::DestructibleActorParam_0p7::ClassVersion> + ConversionDestructibleActorParam_0p6_0p7Parent; + +class ConversionDestructibleActorParam_0p6_0p7: public ConversionDestructibleActorParam_0p6_0p7Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p6_0p7)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p6_0p7)(t) : 0; + } + +protected: + ConversionDestructibleActorParam_0p6_0p7(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p6_0p7Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p7_0p8.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p7_0p8.h new file mode 100644 index 00000000..fa083658 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p7_0p8.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEACTORPARAM_0P7_0P8H_H +#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P7_0P8H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleActorParam_0p7.h" +#include "DestructibleActorParam_0p8.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p7, + nvidia::parameterized::DestructibleActorParam_0p8, + nvidia::parameterized::DestructibleActorParam_0p7::ClassVersion, + nvidia::parameterized::DestructibleActorParam_0p8::ClassVersion> + ConversionDestructibleActorParam_0p7_0p8Parent; + +class ConversionDestructibleActorParam_0p7_0p8: public ConversionDestructibleActorParam_0p7_0p8Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p7_0p8)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p7_0p8)(t) : 0; + } + +protected: + ConversionDestructibleActorParam_0p7_0p8(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p7_0p8Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p8_0p9.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p8_0p9.h new file mode 100644 index 00000000..60b5a3a6 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p8_0p9.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEACTORPARAM_0P8_0P9H_H +#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P8_0P9H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleActorParam_0p8.h" +#include "DestructibleActorParam_0p9.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p8, + nvidia::parameterized::DestructibleActorParam_0p9, + nvidia::parameterized::DestructibleActorParam_0p8::ClassVersion, + nvidia::parameterized::DestructibleActorParam_0p9::ClassVersion> + ConversionDestructibleActorParam_0p8_0p9Parent; + +class ConversionDestructibleActorParam_0p8_0p9: public ConversionDestructibleActorParam_0p8_0p9Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p8_0p9)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p8_0p9)(t) : 0; + } + +protected: + ConversionDestructibleActorParam_0p8_0p9(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p8_0p9Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p9_0p10.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p9_0p10.h new file mode 100644 index 00000000..6b2f15e0 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorParam_0p9_0p10.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEACTORPARAM_0P9_0P10H_H +#define MODULE_CONVERSIONDESTRUCTIBLEACTORPARAM_0P9_0P10H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleActorParam_0p9.h" +#include "DestructibleActorParam_0p10.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorParam_0p9, + nvidia::parameterized::DestructibleActorParam_0p10, + nvidia::parameterized::DestructibleActorParam_0p9::ClassVersion, + nvidia::parameterized::DestructibleActorParam_0p10::ClassVersion> + ConversionDestructibleActorParam_0p9_0p10Parent; + +class ConversionDestructibleActorParam_0p9_0p10: public ConversionDestructibleActorParam_0p9_0p10Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleActorParam_0p9_0p10)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorParam_0p9_0p10)(t) : 0; + } + +protected: + ConversionDestructibleActorParam_0p9_0p10(NvParameterized::Traits* t) : ConversionDestructibleActorParam_0p9_0p10Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorState_0p0_0p1.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorState_0p0_0p1.h new file mode 100644 index 00000000..311543c0 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorState_0p0_0p1.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEACTORSTATE_0P0_0P1H_H +#define MODULE_CONVERSIONDESTRUCTIBLEACTORSTATE_0P0_0P1H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleActorState_0p0.h" +#include "DestructibleActorState_0p1.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorState_0p0, + nvidia::parameterized::DestructibleActorState_0p1, + nvidia::parameterized::DestructibleActorState_0p0::ClassVersion, + nvidia::parameterized::DestructibleActorState_0p1::ClassVersion> + ConversionDestructibleActorState_0p0_0p1Parent; + +class ConversionDestructibleActorState_0p0_0p1: public ConversionDestructibleActorState_0p0_0p1Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleActorState_0p0_0p1)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorState_0p0_0p1)(t) : 0; + } + +protected: + ConversionDestructibleActorState_0p0_0p1(NvParameterized::Traits* t) : ConversionDestructibleActorState_0p0_0p1Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorState_0p1_0p2.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorState_0p1_0p2.h new file mode 100644 index 00000000..0ff2e85d --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorState_0p1_0p2.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEACTORSTATE_0P1_0P2H_H +#define MODULE_CONVERSIONDESTRUCTIBLEACTORSTATE_0P1_0P2H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleActorState_0p1.h" +#include "DestructibleActorState_0p2.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorState_0p1, + nvidia::parameterized::DestructibleActorState_0p2, + nvidia::parameterized::DestructibleActorState_0p1::ClassVersion, + nvidia::parameterized::DestructibleActorState_0p2::ClassVersion> + ConversionDestructibleActorState_0p1_0p2Parent; + +class ConversionDestructibleActorState_0p1_0p2: public ConversionDestructibleActorState_0p1_0p2Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleActorState_0p1_0p2)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorState_0p1_0p2)(t) : 0; + } + +protected: + ConversionDestructibleActorState_0p1_0p2(NvParameterized::Traits* t) : ConversionDestructibleActorState_0p1_0p2Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorState_0p2_0p3.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorState_0p2_0p3.h new file mode 100644 index 00000000..34b667e4 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorState_0p2_0p3.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEACTORSTATE_0P2_0P3H_H +#define MODULE_CONVERSIONDESTRUCTIBLEACTORSTATE_0P2_0P3H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleActorState_0p2.h" +#include "DestructibleActorState_0p3.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorState_0p2, + nvidia::parameterized::DestructibleActorState_0p3, + nvidia::parameterized::DestructibleActorState_0p2::ClassVersion, + nvidia::parameterized::DestructibleActorState_0p3::ClassVersion> + ConversionDestructibleActorState_0p2_0p3Parent; + +class ConversionDestructibleActorState_0p2_0p3: public ConversionDestructibleActorState_0p2_0p3Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleActorState_0p2_0p3)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorState_0p2_0p3)(t) : 0; + } + +protected: + ConversionDestructibleActorState_0p2_0p3(NvParameterized::Traits* t) : ConversionDestructibleActorState_0p2_0p3Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorState_0p3_0p4.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorState_0p3_0p4.h new file mode 100644 index 00000000..58fd6948 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleActorState_0p3_0p4.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEACTORSTATE_0P3_0P4H_H +#define MODULE_CONVERSIONDESTRUCTIBLEACTORSTATE_0P3_0P4H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleActorState_0p3.h" +#include "DestructibleActorState_0p4.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleActorState_0p3, + nvidia::parameterized::DestructibleActorState_0p4, + nvidia::parameterized::DestructibleActorState_0p3::ClassVersion, + nvidia::parameterized::DestructibleActorState_0p4::ClassVersion> + ConversionDestructibleActorState_0p3_0p4Parent; + +class ConversionDestructibleActorState_0p3_0p4: public ConversionDestructibleActorState_0p3_0p4Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleActorState_0p3_0p4)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleActorState_0p3_0p4)(t) : 0; + } + +protected: + ConversionDestructibleActorState_0p3_0p4(NvParameterized::Traits* t) : ConversionDestructibleActorState_0p3_0p4Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p0_0p1.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p0_0p1.h new file mode 100644 index 00000000..e5786f59 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p0_0p1.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P0_0P1H_H +#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P0_0P1H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleAssetParameters_0p0.h" +#include "DestructibleAssetParameters_0p1.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p0, + nvidia::parameterized::DestructibleAssetParameters_0p1, + nvidia::parameterized::DestructibleAssetParameters_0p0::ClassVersion, + nvidia::parameterized::DestructibleAssetParameters_0p1::ClassVersion> + ConversionDestructibleAssetParameters_0p0_0p1Parent; + +class ConversionDestructibleAssetParameters_0p0_0p1: public ConversionDestructibleAssetParameters_0p0_0p1Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p0_0p1)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p0_0p1)(t) : 0; + } + +protected: + ConversionDestructibleAssetParameters_0p0_0p1(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p0_0p1Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p10_0p11.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p10_0p11.h new file mode 100644 index 00000000..5dc1d75f --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p10_0p11.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P10_0P11H_H +#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P10_0P11H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleAssetParameters_0p10.h" +#include "DestructibleAssetParameters_0p11.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p10, + nvidia::parameterized::DestructibleAssetParameters_0p11, + nvidia::parameterized::DestructibleAssetParameters_0p10::ClassVersion, + nvidia::parameterized::DestructibleAssetParameters_0p11::ClassVersion> + ConversionDestructibleAssetParameters_0p10_0p11Parent; + +class ConversionDestructibleAssetParameters_0p10_0p11: public ConversionDestructibleAssetParameters_0p10_0p11Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p10_0p11)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p10_0p11)(t) : 0; + } + +protected: + ConversionDestructibleAssetParameters_0p10_0p11(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p10_0p11Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p11_0p12.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p11_0p12.h new file mode 100644 index 00000000..99e8dedb --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p11_0p12.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P11_0P12H_H +#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P11_0P12H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleAssetParameters_0p11.h" +#include "DestructibleAssetParameters_0p12.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p11, + nvidia::parameterized::DestructibleAssetParameters_0p12, + nvidia::parameterized::DestructibleAssetParameters_0p11::ClassVersion, + nvidia::parameterized::DestructibleAssetParameters_0p12::ClassVersion> + ConversionDestructibleAssetParameters_0p11_0p12Parent; + +class ConversionDestructibleAssetParameters_0p11_0p12: public ConversionDestructibleAssetParameters_0p11_0p12Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p11_0p12)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p11_0p12)(t) : 0; + } + +protected: + ConversionDestructibleAssetParameters_0p11_0p12(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p11_0p12Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p12_0p13.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p12_0p13.h new file mode 100644 index 00000000..d1b3fac916 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p12_0p13.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P12_0P13H_H +#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P12_0P13H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleAssetParameters_0p12.h" +#include "DestructibleAssetParameters_0p13.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p12, + nvidia::parameterized::DestructibleAssetParameters_0p13, + nvidia::parameterized::DestructibleAssetParameters_0p12::ClassVersion, + nvidia::parameterized::DestructibleAssetParameters_0p13::ClassVersion> + ConversionDestructibleAssetParameters_0p12_0p13Parent; + +class ConversionDestructibleAssetParameters_0p12_0p13: public ConversionDestructibleAssetParameters_0p12_0p13Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p12_0p13)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p12_0p13)(t) : 0; + } + +protected: + ConversionDestructibleAssetParameters_0p12_0p13(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p12_0p13Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p13_0p14.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p13_0p14.h new file mode 100644 index 00000000..e8a894fd --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p13_0p14.h @@ -0,0 +1,81 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P13_0P14H_H +#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P13_0P14H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleAssetParameters_0p13.h" +#include "DestructibleAssetParameters_0p14.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p13, + nvidia::parameterized::DestructibleAssetParameters_0p14, + nvidia::parameterized::DestructibleAssetParameters_0p13::ClassVersion, + nvidia::parameterized::DestructibleAssetParameters_0p14::ClassVersion> + ConversionDestructibleAssetParameters_0p13_0p14Parent; + +class ConversionDestructibleAssetParameters_0p13_0p14: public ConversionDestructibleAssetParameters_0p13_0p14Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p13_0p14)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p13_0p14)(t) : 0; + } + +protected: + ConversionDestructibleAssetParameters_0p13_0p14(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p13_0p14Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + const int8_t DEFAULT_GROUP = -1; + mNewData->RTFractureBehaviorGroup = DEFAULT_GROUP; + mNewData->defaultBehaviorGroup.damageThreshold = mLegacyData->destructibleParameters.damageThreshold; + mNewData->defaultBehaviorGroup.damageToRadius = mLegacyData->destructibleParameters.damageToRadius; + mNewData->defaultBehaviorGroup.materialStrength = mLegacyData->destructibleParameters.materialStrength; + + PX_ASSERT(mLegacyData->chunks.arraySizes[0] == mNewData->chunks.arraySizes[0]); + for (int32_t chunkIndex = 0; chunkIndex < mLegacyData->chunks.arraySizes[0]; ++chunkIndex) + { + parameterized::DestructibleAssetParameters_0p14NS::Chunk_Type& newChunk = mNewData->chunks.buf[chunkIndex]; + newChunk.behaviorGroupIndex = DEFAULT_GROUP; + } + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p14_0p15.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p14_0p15.h new file mode 100644 index 00000000..b68513a1 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p14_0p15.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P14_0P15H_H +#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P14_0P15H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleAssetParameters_0p14.h" +#include "DestructibleAssetParameters_0p15.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p14, + nvidia::parameterized::DestructibleAssetParameters_0p15, + nvidia::parameterized::DestructibleAssetParameters_0p14::ClassVersion, + nvidia::parameterized::DestructibleAssetParameters_0p15::ClassVersion> + ConversionDestructibleAssetParameters_0p14_0p15Parent; + +class ConversionDestructibleAssetParameters_0p14_0p15: public ConversionDestructibleAssetParameters_0p14_0p15Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p14_0p15)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p14_0p15)(t) : 0; + } + +protected: + ConversionDestructibleAssetParameters_0p14_0p15(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p14_0p15Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p15_0p16.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p15_0p16.h new file mode 100644 index 00000000..0bb61080 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p15_0p16.h @@ -0,0 +1,83 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P15_0P16H_H +#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P15_0P16H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleAssetParameters_0p15.h" +#include "DestructibleAssetParameters_0p16.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p15, + nvidia::parameterized::DestructibleAssetParameters_0p16, + nvidia::parameterized::DestructibleAssetParameters_0p15::ClassVersion, + nvidia::parameterized::DestructibleAssetParameters_0p16::ClassVersion> + ConversionDestructibleAssetParameters_0p15_0p16Parent; + +class ConversionDestructibleAssetParameters_0p15_0p16: public ConversionDestructibleAssetParameters_0p15_0p16Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p15_0p16)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p15_0p16)(t) : 0; + } + +protected: + ConversionDestructibleAssetParameters_0p15_0p16(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p15_0p16Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + // Convert default behavior group's damage spread function parameters + mNewData->defaultBehaviorGroup.damageSpread.minimumRadius = mLegacyData->defaultBehaviorGroup.minimumDamageRadius; + mNewData->defaultBehaviorGroup.damageSpread.radiusMultiplier = mLegacyData->defaultBehaviorGroup.damageRadiusMultiplier; + mNewData->defaultBehaviorGroup.damageSpread.falloffExponent = mLegacyData->defaultBehaviorGroup.damageFalloffExponent; + + // Convert user-defined behavior group's damage spread function parameters + const int32_t behaviorGroupCount = mLegacyData->behaviorGroups.arraySizes[0]; + PX_ASSERT(mNewData->behaviorGroups.arraySizes[0] == behaviorGroupCount); + for (int32_t i = 0; i < physx::PxMin(behaviorGroupCount, mNewData->behaviorGroups.arraySizes[0]); ++i) + { + mNewData->behaviorGroups.buf[i].damageSpread.minimumRadius = mLegacyData->behaviorGroups.buf[i].minimumDamageRadius; + mNewData->behaviorGroups.buf[i].damageSpread.radiusMultiplier = mLegacyData->behaviorGroups.buf[i].damageRadiusMultiplier; + mNewData->behaviorGroups.buf[i].damageSpread.falloffExponent = mLegacyData->behaviorGroups.buf[i].damageFalloffExponent; + } + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p16_0p17.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p16_0p17.h new file mode 100644 index 00000000..11e56a0d --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p16_0p17.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P16_0P17H_H +#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P16_0P17H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleAssetParameters_0p16.h" +#include "DestructibleAssetParameters_0p17.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p16, + nvidia::parameterized::DestructibleAssetParameters_0p17, + nvidia::parameterized::DestructibleAssetParameters_0p16::ClassVersion, + nvidia::parameterized::DestructibleAssetParameters_0p17::ClassVersion> + ConversionDestructibleAssetParameters_0p16_0p17Parent; + +class ConversionDestructibleAssetParameters_0p16_0p17: public ConversionDestructibleAssetParameters_0p16_0p17Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p16_0p17)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p16_0p17)(t) : 0; + } + +protected: + ConversionDestructibleAssetParameters_0p16_0p17(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p16_0p17Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p17_0p18.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p17_0p18.h new file mode 100644 index 00000000..51ac8203 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p17_0p18.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P17_0P18H_H +#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P17_0P18H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleAssetParameters_0p17.h" +#include "DestructibleAssetParameters_0p18.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p17, + nvidia::parameterized::DestructibleAssetParameters_0p18, + nvidia::parameterized::DestructibleAssetParameters_0p17::ClassVersion, + nvidia::parameterized::DestructibleAssetParameters_0p18::ClassVersion> + ConversionDestructibleAssetParameters_0p17_0p18Parent; + +class ConversionDestructibleAssetParameters_0p17_0p18: public ConversionDestructibleAssetParameters_0p17_0p18Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p17_0p18)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p17_0p18)(t) : 0; + } + +protected: + ConversionDestructibleAssetParameters_0p17_0p18(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p17_0p18Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p18_0p19.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p18_0p19.h new file mode 100644 index 00000000..823e58ac --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p18_0p19.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P18_0P19H_H +#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P18_0P19H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleAssetParameters_0p18.h" +#include "DestructibleAssetParameters_0p19.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p18, + nvidia::parameterized::DestructibleAssetParameters_0p19, + nvidia::parameterized::DestructibleAssetParameters_0p18::ClassVersion, + nvidia::parameterized::DestructibleAssetParameters_0p19::ClassVersion> + ConversionDestructibleAssetParameters_0p18_0p19Parent; + +class ConversionDestructibleAssetParameters_0p18_0p19: public ConversionDestructibleAssetParameters_0p18_0p19Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p18_0p19)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p18_0p19)(t) : 0; + } + +protected: + ConversionDestructibleAssetParameters_0p18_0p19(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p18_0p19Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p19_0p20.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p19_0p20.h new file mode 100644 index 00000000..34d54558 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p19_0p20.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P19_0P20H_H +#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P19_0P20H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleAssetParameters_0p19.h" +#include "DestructibleAssetParameters_0p20.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p19, + nvidia::parameterized::DestructibleAssetParameters_0p20, + nvidia::parameterized::DestructibleAssetParameters_0p19::ClassVersion, + nvidia::parameterized::DestructibleAssetParameters_0p20::ClassVersion> + ConversionDestructibleAssetParameters_0p19_0p20Parent; + +class ConversionDestructibleAssetParameters_0p19_0p20: public ConversionDestructibleAssetParameters_0p19_0p20Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p19_0p20)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p19_0p20)(t) : 0; + } + +protected: + ConversionDestructibleAssetParameters_0p19_0p20(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p19_0p20Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + // Convert to new behaviorGroup index convention + + const int32_t chunkCount = mNewData->chunks.arraySizes[0]; + for (int32_t chunkIndex = 0; chunkIndex < chunkCount; ++chunkIndex) + { + parameterized::DestructibleAssetParameters_0p20NS::Chunk_Type& chunk = mNewData->chunks.buf[chunkIndex]; + if (chunk.parentIndex < chunkCount && chunk.behaviorGroupIndex < 0) + { + chunk.behaviorGroupIndex = mNewData->chunks.buf[chunk.parentIndex].behaviorGroupIndex; + } + } + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p1_0p2.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p1_0p2.h new file mode 100644 index 00000000..a6771a24 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p1_0p2.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P1_0P2H_H +#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P1_0P2H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleAssetParameters_0p1.h" +#include "DestructibleAssetParameters_0p2.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p1, + nvidia::parameterized::DestructibleAssetParameters_0p2, + nvidia::parameterized::DestructibleAssetParameters_0p1::ClassVersion, + nvidia::parameterized::DestructibleAssetParameters_0p2::ClassVersion> + ConversionDestructibleAssetParameters_0p1_0p2Parent; + +class ConversionDestructibleAssetParameters_0p1_0p2: public ConversionDestructibleAssetParameters_0p1_0p2Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p1_0p2)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p1_0p2)(t) : 0; + } + +protected: + ConversionDestructibleAssetParameters_0p1_0p2(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p1_0p2Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p20_0p21.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p20_0p21.h new file mode 100644 index 00000000..1e64424a --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p20_0p21.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P20_0P21H_H +#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P20_0P21H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleAssetParameters_0p20.h" +#include "DestructibleAssetParameters_0p21.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p20, + nvidia::parameterized::DestructibleAssetParameters_0p21, + nvidia::parameterized::DestructibleAssetParameters_0p20::ClassVersion, + nvidia::parameterized::DestructibleAssetParameters_0p21::ClassVersion> + ConversionDestructibleAssetParameters_0p20_0p21Parent; + +class ConversionDestructibleAssetParameters_0p20_0p21: public ConversionDestructibleAssetParameters_0p20_0p21Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p20_0p21)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p20_0p21)(t) : 0; + } + +protected: + ConversionDestructibleAssetParameters_0p20_0p21(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p20_0p21Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p21_0p22.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p21_0p22.h new file mode 100644 index 00000000..00e8c6f3 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p21_0p22.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P21_0P22H_H +#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P21_0P22H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleAssetParameters_0p21.h" +#include "DestructibleAssetParameters_0p22.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p21, + nvidia::parameterized::DestructibleAssetParameters_0p22, + nvidia::parameterized::DestructibleAssetParameters_0p21::ClassVersion, + nvidia::parameterized::DestructibleAssetParameters_0p22::ClassVersion> + ConversionDestructibleAssetParameters_0p21_0p22Parent; + +class ConversionDestructibleAssetParameters_0p21_0p22: public ConversionDestructibleAssetParameters_0p21_0p22Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p21_0p22)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p21_0p22)(t) : 0; + } + +protected: + ConversionDestructibleAssetParameters_0p21_0p22(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p21_0p22Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p22_0p23.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p22_0p23.h new file mode 100644 index 00000000..1108d6c2 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p22_0p23.h @@ -0,0 +1,85 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P22_0P23H_H +#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P22_0P23H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleAssetParameters_0p22.h" +#include "DestructibleAssetParameters_0p23.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p22, + nvidia::parameterized::DestructibleAssetParameters_0p23, + nvidia::parameterized::DestructibleAssetParameters_0p22::ClassVersion, + nvidia::parameterized::DestructibleAssetParameters_0p23::ClassVersion> + ConversionDestructibleAssetParameters_0p22_0p23Parent; + +class ConversionDestructibleAssetParameters_0p22_0p23: public ConversionDestructibleAssetParameters_0p22_0p23Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p22_0p23)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p22_0p23)(t) : 0; + } + +protected: + ConversionDestructibleAssetParameters_0p22_0p23(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p22_0p23Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + // dynamic array needs explicit initialization of it's members to default + for (int32_t i = 0; i < mNewData->behaviorGroups.arraySizes[0]; ++i) + { + mNewData->behaviorGroups.buf[i].maxDepenetrationVelocity = PX_MAX_F32; + } + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p23_0p24.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p23_0p24.h new file mode 100644 index 00000000..682e7d78 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p23_0p24.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P23_0P24H_H +#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P23_0P24H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleAssetParameters_0p23.h" +#include "DestructibleAssetParameters_0p24.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p23, + nvidia::parameterized::DestructibleAssetParameters_0p24, + nvidia::parameterized::DestructibleAssetParameters_0p23::ClassVersion, + nvidia::parameterized::DestructibleAssetParameters_0p24::ClassVersion> + ConversionDestructibleAssetParameters_0p23_0p24Parent; + +class ConversionDestructibleAssetParameters_0p23_0p24: public ConversionDestructibleAssetParameters_0p23_0p24Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p23_0p24)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p23_0p24)(t) : 0; + } + +protected: + ConversionDestructibleAssetParameters_0p23_0p24(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p23_0p24Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p24_0p25.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p24_0p25.h new file mode 100644 index 00000000..7128fd55 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p24_0p25.h @@ -0,0 +1,84 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P24_0P25H_H +#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P24_0P25H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleAssetParameters_0p24.h" +#include "DestructibleAssetParameters_0p25.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p24, + nvidia::parameterized::DestructibleAssetParameters_0p25, + nvidia::parameterized::DestructibleAssetParameters_0p24::ClassVersion, + nvidia::parameterized::DestructibleAssetParameters_0p25::ClassVersion> + ConversionDestructibleAssetParameters_0p24_0p25Parent; + +class ConversionDestructibleAssetParameters_0p24_0p25: public ConversionDestructibleAssetParameters_0p24_0p25Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p24_0p25)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p24_0p25)(t) : 0; + } + +protected: + ConversionDestructibleAssetParameters_0p24_0p25(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p24_0p25Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (PxU32)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + for (int i = 0; i < mLegacyData->scatterMeshTransforms.arraySizes[0]; ++i) + { + mNewData->scatterMeshTransforms.buf[i] = physx::PxMat44(mLegacyData->scatterMeshTransforms.buf[i].matrix, + mLegacyData->scatterMeshTransforms.buf[i].vector); + } + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p25_0p26.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p25_0p26.h new file mode 100644 index 00000000..029a878e --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p25_0p26.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P25_0P26H_H +#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P25_0P26H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleAssetParameters_0p25.h" +#include "DestructibleAssetParameters_0p26.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p25, + nvidia::parameterized::DestructibleAssetParameters_0p26, + nvidia::parameterized::DestructibleAssetParameters_0p25::ClassVersion, + nvidia::parameterized::DestructibleAssetParameters_0p26::ClassVersion> + ConversionDestructibleAssetParameters_0p25_0p26Parent; + +class ConversionDestructibleAssetParameters_0p25_0p26: public ConversionDestructibleAssetParameters_0p25_0p26Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p25_0p26)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p25_0p26)(t) : 0; + } + +protected: + ConversionDestructibleAssetParameters_0p25_0p26(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p25_0p26Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p2_0p3.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p2_0p3.h new file mode 100644 index 00000000..6a184a64 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p2_0p3.h @@ -0,0 +1,74 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P2_0P3H_H +#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P2_0P3H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleAssetParameters_0p2.h" +#include "DestructibleAssetParameters_0p3.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p2, + nvidia::parameterized::DestructibleAssetParameters_0p3, + nvidia::parameterized::DestructibleAssetParameters_0p2::ClassVersion, + nvidia::parameterized::DestructibleAssetParameters_0p3::ClassVersion> + ConversionDestructibleAssetParameters_0p2_0p3Parent; + +class ConversionDestructibleAssetParameters_0p2_0p3: public ConversionDestructibleAssetParameters_0p2_0p3Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p2_0p3)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p2_0p3)(t) : 0; + } + +protected: + ConversionDestructibleAssetParameters_0p2_0p3(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p2_0p3Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + mNewData->massScaleExponent = mLegacyData->destructibleParameters.massScaleExponent; + mNewData->supportDepth = mLegacyData->destructibleParameters.supportDepth; + mNewData->formExtendedStructures = mLegacyData->destructibleParameters.formExtendedStructures != 0; + mNewData->useAssetDefinedSupport = mLegacyData->destructibleParameters.flags.ASSET_DEFINED_SUPPORT; + mNewData->useWorldSupport = mLegacyData->destructibleParameters.flags.WORLD_SUPPORT; + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p3_0p4.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p3_0p4.h new file mode 100644 index 00000000..48de199e --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p3_0p4.h @@ -0,0 +1,76 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P3_0P4H_H +#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P3_0P4H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleAssetParameters_0p3.h" +#include "DestructibleAssetParameters_0p4.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p3, + nvidia::parameterized::DestructibleAssetParameters_0p4, + nvidia::parameterized::DestructibleAssetParameters_0p3::ClassVersion, + nvidia::parameterized::DestructibleAssetParameters_0p4::ClassVersion> + ConversionDestructibleAssetParameters_0p3_0p4Parent; + +class ConversionDestructibleAssetParameters_0p3_0p4: public ConversionDestructibleAssetParameters_0p3_0p4Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p3_0p4)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p3_0p4)(t) : 0; + } + +protected: + ConversionDestructibleAssetParameters_0p3_0p4(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p3_0p4Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + NvParameterized::Handle handle(*mNewData); + mNewData->getParameterHandle("chunkConvexHullStartIndices", handle); + mNewData->resizeArray(handle, mNewData->chunks.arraySizes[0] + 1); + for (int32_t i = 0; i <= mNewData->chunks.arraySizes[0]; ++i) + { + mNewData->chunkConvexHullStartIndices.buf[i] = (uint32_t)i; + } + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p4_0p5.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p4_0p5.h new file mode 100644 index 00000000..4a5a7bf6 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p4_0p5.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P4_0P5H_H +#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P4_0P5H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleAssetParameters_0p4.h" +#include "DestructibleAssetParameters_0p5.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p4, + nvidia::parameterized::DestructibleAssetParameters_0p5, + nvidia::parameterized::DestructibleAssetParameters_0p4::ClassVersion, + nvidia::parameterized::DestructibleAssetParameters_0p5::ClassVersion> + ConversionDestructibleAssetParameters_0p4_0p5Parent; + +class ConversionDestructibleAssetParameters_0p4_0p5: public ConversionDestructibleAssetParameters_0p4_0p5Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p4_0p5)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p4_0p5)(t) : 0; + } + +protected: + ConversionDestructibleAssetParameters_0p4_0p5(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p4_0p5Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p5_0p6.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p5_0p6.h new file mode 100644 index 00000000..d8508531 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p5_0p6.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P5_0P6H_H +#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P5_0P6H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleAssetParameters_0p5.h" +#include "DestructibleAssetParameters_0p6.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p5, + nvidia::parameterized::DestructibleAssetParameters_0p6, + nvidia::parameterized::DestructibleAssetParameters_0p5::ClassVersion, + nvidia::parameterized::DestructibleAssetParameters_0p6::ClassVersion> + ConversionDestructibleAssetParameters_0p5_0p6Parent; + +class ConversionDestructibleAssetParameters_0p5_0p6: public ConversionDestructibleAssetParameters_0p5_0p6Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p5_0p6)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p5_0p6)(t) : 0; + } + +protected: + ConversionDestructibleAssetParameters_0p5_0p6(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p5_0p6Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p6_0p7.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p6_0p7.h new file mode 100644 index 00000000..7ad83d16 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p6_0p7.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P6_0P7H_H +#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P6_0P7H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleAssetParameters_0p6.h" +#include "DestructibleAssetParameters_0p7.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p6, + nvidia::parameterized::DestructibleAssetParameters_0p7, + nvidia::parameterized::DestructibleAssetParameters_0p6::ClassVersion, + nvidia::parameterized::DestructibleAssetParameters_0p7::ClassVersion> + ConversionDestructibleAssetParameters_0p6_0p7Parent; + +class ConversionDestructibleAssetParameters_0p6_0p7: public ConversionDestructibleAssetParameters_0p6_0p7Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p6_0p7)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p6_0p7)(t) : 0; + } + +protected: + ConversionDestructibleAssetParameters_0p6_0p7(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p6_0p7Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p7_0p8.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p7_0p8.h new file mode 100644 index 00000000..a7bd326e --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p7_0p8.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P7_0P8H_H +#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P7_0P8H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleAssetParameters_0p7.h" +#include "DestructibleAssetParameters_0p8.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p7, + nvidia::parameterized::DestructibleAssetParameters_0p8, + nvidia::parameterized::DestructibleAssetParameters_0p7::ClassVersion, + nvidia::parameterized::DestructibleAssetParameters_0p8::ClassVersion> + ConversionDestructibleAssetParameters_0p7_0p8Parent; + +class ConversionDestructibleAssetParameters_0p7_0p8: public ConversionDestructibleAssetParameters_0p7_0p8Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p7_0p8)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p7_0p8)(t) : 0; + } + +protected: + ConversionDestructibleAssetParameters_0p7_0p8(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p7_0p8Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p8_0p9.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p8_0p9.h new file mode 100644 index 00000000..5ff947b0 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p8_0p9.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P8_0P9H_H +#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P8_0P9H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleAssetParameters_0p8.h" +#include "DestructibleAssetParameters_0p9.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p8, + nvidia::parameterized::DestructibleAssetParameters_0p9, + nvidia::parameterized::DestructibleAssetParameters_0p8::ClassVersion, + nvidia::parameterized::DestructibleAssetParameters_0p9::ClassVersion> + ConversionDestructibleAssetParameters_0p8_0p9Parent; + +class ConversionDestructibleAssetParameters_0p8_0p9: public ConversionDestructibleAssetParameters_0p8_0p9Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p8_0p9)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p8_0p9)(t) : 0; + } + +protected: + ConversionDestructibleAssetParameters_0p8_0p9(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p8_0p9Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p9_0p10.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p9_0p10.h new file mode 100644 index 00000000..799304ff --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleAssetParameters_0p9_0p10.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P9_0P10H_H +#define MODULE_CONVERSIONDESTRUCTIBLEASSETPARAMETERS_0P9_0P10H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleAssetParameters_0p9.h" +#include "DestructibleAssetParameters_0p10.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleAssetParameters_0p9, + nvidia::parameterized::DestructibleAssetParameters_0p10, + nvidia::parameterized::DestructibleAssetParameters_0p9::ClassVersion, + nvidia::parameterized::DestructibleAssetParameters_0p10::ClassVersion> + ConversionDestructibleAssetParameters_0p9_0p10Parent; + +class ConversionDestructibleAssetParameters_0p9_0p10: public ConversionDestructibleAssetParameters_0p9_0p10Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleAssetParameters_0p9_0p10)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleAssetParameters_0p9_0p10)(t) : 0; + } + +protected: + ConversionDestructibleAssetParameters_0p9_0p10(NvParameterized::Traits* t) : ConversionDestructibleAssetParameters_0p9_0p10Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleModuleParameters_0p0_0p1.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleModuleParameters_0p0_0p1.h new file mode 100644 index 00000000..5357ee95 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleModuleParameters_0p0_0p1.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEMODULEPARAMETERS_0P0_0P1H_H +#define MODULE_CONVERSIONDESTRUCTIBLEMODULEPARAMETERS_0P0_0P1H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleModuleParameters_0p0.h" +#include "DestructibleModuleParameters_0p1.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleModuleParameters_0p0, + nvidia::parameterized::DestructibleModuleParameters_0p1, + nvidia::parameterized::DestructibleModuleParameters_0p0::ClassVersion, + nvidia::parameterized::DestructibleModuleParameters_0p1::ClassVersion> + ConversionDestructibleModuleParameters_0p0_0p1Parent; + +class ConversionDestructibleModuleParameters_0p0_0p1: public ConversionDestructibleModuleParameters_0p0_0p1Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleModuleParameters_0p0_0p1)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleModuleParameters_0p0_0p1)(t) : 0; + } + +protected: + ConversionDestructibleModuleParameters_0p0_0p1(NvParameterized::Traits* t) : ConversionDestructibleModuleParameters_0p0_0p1Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleModuleParameters_0p1_0p2.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleModuleParameters_0p1_0p2.h new file mode 100644 index 00000000..8c22bade --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleModuleParameters_0p1_0p2.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEMODULEPARAMETERS_0P1_0P2H_H +#define MODULE_CONVERSIONDESTRUCTIBLEMODULEPARAMETERS_0P1_0P2H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleModuleParameters_0p1.h" +#include "DestructibleModuleParameters_0p2.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleModuleParameters_0p1, + nvidia::parameterized::DestructibleModuleParameters_0p2, + nvidia::parameterized::DestructibleModuleParameters_0p1::ClassVersion, + nvidia::parameterized::DestructibleModuleParameters_0p2::ClassVersion> + ConversionDestructibleModuleParameters_0p1_0p2Parent; + +class ConversionDestructibleModuleParameters_0p1_0p2: public ConversionDestructibleModuleParameters_0p1_0p2Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleModuleParameters_0p1_0p2)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleModuleParameters_0p1_0p2)(t) : 0; + } + +protected: + ConversionDestructibleModuleParameters_0p1_0p2(NvParameterized::Traits* t) : ConversionDestructibleModuleParameters_0p1_0p2Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleModuleParameters_0p2_0p3.h b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleModuleParameters_0p2_0p3.h new file mode 100644 index 00000000..bc0faee8 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionDestructibleModuleParameters_0p2_0p3.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONDESTRUCTIBLEMODULEPARAMETERS_0P2_0P3H_H +#define MODULE_CONVERSIONDESTRUCTIBLEMODULEPARAMETERS_0P2_0P3H_H + +#include "NvParamConversionTemplate.h" +#include "DestructibleModuleParameters_0p2.h" +#include "DestructibleModuleParameters_0p3.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::DestructibleModuleParameters_0p2, + nvidia::parameterized::DestructibleModuleParameters_0p3, + nvidia::parameterized::DestructibleModuleParameters_0p2::ClassVersion, + nvidia::parameterized::DestructibleModuleParameters_0p3::ClassVersion> + ConversionDestructibleModuleParameters_0p2_0p3Parent; + +class ConversionDestructibleModuleParameters_0p2_0p3: public ConversionDestructibleModuleParameters_0p2_0p3Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionDestructibleModuleParameters_0p2_0p3)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionDestructibleModuleParameters_0p2_0p3)(t) : 0; + } + +protected: + ConversionDestructibleModuleParameters_0p2_0p3(NvParameterized::Traits* t) : ConversionDestructibleModuleParameters_0p2_0p3Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionSurfaceTraceSetParameters_0p0_0p1.h b/APEX_1.4/module/destructible_legacy/include/ConversionSurfaceTraceSetParameters_0p0_0p1.h new file mode 100644 index 00000000..2c11e36f --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionSurfaceTraceSetParameters_0p0_0p1.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONSURFACETRACESETPARAMETERS_0P0_0P1H_H +#define MODULE_CONVERSIONSURFACETRACESETPARAMETERS_0P0_0P1H_H + +#include "NvParamConversionTemplate.h" +#include "SurfaceTraceSetParameters_0p0.h" +#include "SurfaceTraceSetParameters_0p1.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::SurfaceTraceSetParameters_0p0, + nvidia::parameterized::SurfaceTraceSetParameters_0p1, + nvidia::parameterized::SurfaceTraceSetParameters_0p0::ClassVersion, + nvidia::parameterized::SurfaceTraceSetParameters_0p1::ClassVersion> + ConversionSurfaceTraceSetParameters_0p0_0p1Parent; + +class ConversionSurfaceTraceSetParameters_0p0_0p1: public ConversionSurfaceTraceSetParameters_0p0_0p1Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionSurfaceTraceSetParameters_0p0_0p1)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionSurfaceTraceSetParameters_0p0_0p1)(t) : 0; + } + +protected: + ConversionSurfaceTraceSetParameters_0p0_0p1(NvParameterized::Traits* t) : ConversionSurfaceTraceSetParameters_0p0_0p1Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/ConversionSurfaceTraceSetParameters_0p1_0p2.h b/APEX_1.4/module/destructible_legacy/include/ConversionSurfaceTraceSetParameters_0p1_0p2.h new file mode 100644 index 00000000..afebf3bb --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/ConversionSurfaceTraceSetParameters_0p1_0p2.h @@ -0,0 +1,80 @@ +/* + * 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_CONVERSIONSURFACETRACESETPARAMETERS_0P1_0P2H_H +#define MODULE_CONVERSIONSURFACETRACESETPARAMETERS_0P1_0P2H_H + +#include "NvParamConversionTemplate.h" +#include "SurfaceTraceSetParameters_0p1.h" +#include "SurfaceTraceSetParameters_0p2.h" + +namespace nvidia { +namespace apex { +namespace legacy { + + +typedef NvParameterized::ParamConversionTemplate<nvidia::parameterized::SurfaceTraceSetParameters_0p1, + nvidia::parameterized::SurfaceTraceSetParameters_0p2, + nvidia::parameterized::SurfaceTraceSetParameters_0p1::ClassVersion, + nvidia::parameterized::SurfaceTraceSetParameters_0p2::ClassVersion> + ConversionSurfaceTraceSetParameters_0p1_0p2Parent; + +class ConversionSurfaceTraceSetParameters_0p1_0p2: public ConversionSurfaceTraceSetParameters_0p1_0p2Parent +{ +public: + static NvParameterized::Conversion* Create(NvParameterized::Traits* t) + { + void* buf = t->alloc(sizeof(ConversionSurfaceTraceSetParameters_0p1_0p2)); + return buf ? PX_PLACEMENT_NEW(buf, ConversionSurfaceTraceSetParameters_0p1_0p2)(t) : 0; + } + +protected: + ConversionSurfaceTraceSetParameters_0p1_0p2(NvParameterized::Traits* t) : ConversionSurfaceTraceSetParameters_0p1_0p2Parent(t) {} + + const NvParameterized::PrefVer* getPreferredVersions() const + { + static NvParameterized::PrefVer prefVers[] = + { + //TODO: + // Add your preferred versions for included references here. + // Entry format is + // { (const char*)longName, (uint32_t)preferredVersion } + + { 0, 0 } // Terminator (do not remove!) + }; + + return prefVers; + } + + bool convert() + { + //TODO: + // Write custom conversion code here using mNewData and mLegacyData members. + // + // Note that + // - mNewData has already been initialized with default values + // - same-named/same-typed members have already been copied + // from mLegacyData to mNewData + // - included references were moved to mNewData + // (and updated to preferred versions according to getPreferredVersions) + // + // For more info see the versioning wiki. + + return true; + } +}; + + +} +} +} //nvidia::apex::legacy + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/CachedOverlaps_0p0.h b/APEX_1.4/module/destructible_legacy/include/autogen/CachedOverlaps_0p0.h new file mode 100644 index 00000000..4048ee9e --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/CachedOverlaps_0p0.h @@ -0,0 +1,245 @@ +// 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_CachedOverlaps_0p0_h +#define HEADER_CachedOverlaps_0p0_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace CachedOverlaps_0p0NS +{ + +struct IntPair_Type; + +struct IntPair_DynamicArray1D_Type +{ + IntPair_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct IntPair_Type +{ + int32_t i0; + int32_t i1; +}; + +struct ParametersStruct +{ + + bool isCached; + IntPair_DynamicArray1D_Type overlaps; + +}; + +static const uint32_t checksum[] = { 0x48e6b53c, 0x54c6b8f6, 0xfd6fb9d9, 0xed400045, }; + +} // namespace CachedOverlaps_0p0NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class CachedOverlaps_0p0 : public NvParameterized::NvParameters, public CachedOverlaps_0p0NS::ParametersStruct +{ +public: + CachedOverlaps_0p0(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~CachedOverlaps_0p0(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("CachedOverlaps"); + } + + 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(CachedOverlaps_0p0NS::checksum); + return CachedOverlaps_0p0NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const CachedOverlaps_0p0NS::ParametersStruct& parameters(void) const + { + CachedOverlaps_0p0* tmpThis = const_cast<CachedOverlaps_0p0*>(this); + return *(static_cast<CachedOverlaps_0p0NS::ParametersStruct*>(tmpThis)); + } + + CachedOverlaps_0p0NS::ParametersStruct& parameters(void) + { + return *(static_cast<CachedOverlaps_0p0NS::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 CachedOverlaps_0p0Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + CachedOverlaps_0p0::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(CachedOverlaps_0p0), CachedOverlaps_0p0::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, CachedOverlaps_0p0::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class CachedOverlaps_0p0"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(CachedOverlaps_0p0)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, CachedOverlaps_0p0)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, CachedOverlaps_0p0::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, CachedOverlaps_0p0::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class CachedOverlaps_0p0"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of CachedOverlaps_0p0 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 (CachedOverlaps_0p0*)bufObj; + } + + virtual const char* getClassName() + { + return (CachedOverlaps_0p0::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (CachedOverlaps_0p0::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (CachedOverlaps_0p0::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (CachedOverlaps_0p0::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/CachedOverlaps_0p1.h b/APEX_1.4/module/destructible_legacy/include/autogen/CachedOverlaps_0p1.h new file mode 100644 index 00000000..ca736aa4 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/CachedOverlaps_0p1.h @@ -0,0 +1,245 @@ +// 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_CachedOverlaps_0p1_h +#define HEADER_CachedOverlaps_0p1_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace CachedOverlaps_0p1NS +{ + +struct IntPair_Type; + +struct IntPair_DynamicArray1D_Type +{ + IntPair_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct IntPair_Type +{ + int32_t i0; + int32_t i1; +}; + +struct ParametersStruct +{ + + bool isCached; + IntPair_DynamicArray1D_Type overlaps; + +}; + +static const uint32_t checksum[] = { 0x42ce64a0, 0x9634fff2, 0x6f308fbe, 0xf3ce7bcd, }; + +} // namespace CachedOverlaps_0p1NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class CachedOverlaps_0p1 : public NvParameterized::NvParameters, public CachedOverlaps_0p1NS::ParametersStruct +{ +public: + CachedOverlaps_0p1(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~CachedOverlaps_0p1(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("CachedOverlaps"); + } + + 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(CachedOverlaps_0p1NS::checksum); + return CachedOverlaps_0p1NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const CachedOverlaps_0p1NS::ParametersStruct& parameters(void) const + { + CachedOverlaps_0p1* tmpThis = const_cast<CachedOverlaps_0p1*>(this); + return *(static_cast<CachedOverlaps_0p1NS::ParametersStruct*>(tmpThis)); + } + + CachedOverlaps_0p1NS::ParametersStruct& parameters(void) + { + return *(static_cast<CachedOverlaps_0p1NS::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 CachedOverlaps_0p1Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + CachedOverlaps_0p1::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(CachedOverlaps_0p1), CachedOverlaps_0p1::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, CachedOverlaps_0p1::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class CachedOverlaps_0p1"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(CachedOverlaps_0p1)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, CachedOverlaps_0p1)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, CachedOverlaps_0p1::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, CachedOverlaps_0p1::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class CachedOverlaps_0p1"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of CachedOverlaps_0p1 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 (CachedOverlaps_0p1*)bufObj; + } + + virtual const char* getClassName() + { + return (CachedOverlaps_0p1::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (CachedOverlaps_0p1::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (CachedOverlaps_0p1::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (CachedOverlaps_0p1::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorChunks_0p0.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorChunks_0p0.h new file mode 100644 index 00000000..3adec97a --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorChunks_0p0.h @@ -0,0 +1,253 @@ +// 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_DestructibleActorChunks_0p0_h +#define HEADER_DestructibleActorChunks_0p0_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleActorChunks_0p0NS +{ + +struct Chunk_Type; + +struct Chunk_DynamicArray1D_Type +{ + Chunk_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct Chunk_Type +{ + uint8_t state; + uint8_t flags; + uint32_t islandID; + float damage; + physx::PxVec4 localSphere; + physx::PxVec3 localOffset; + int32_t visibleAncestorIndex; + uint32_t shapesCount; + physx::PxTransform globalPose; + physx::PxVec3 linearVelocity; + physx::PxVec3 angularVelocity; +}; + +struct ParametersStruct +{ + + Chunk_DynamicArray1D_Type data; + +}; + +static const uint32_t checksum[] = { 0x1f4e04ad, 0x95dc5558, 0x4dae15a1, 0x46caf98e, }; + +} // namespace DestructibleActorChunks_0p0NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleActorChunks_0p0 : public NvParameterized::NvParameters, public DestructibleActorChunks_0p0NS::ParametersStruct +{ +public: + DestructibleActorChunks_0p0(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleActorChunks_0p0(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleActorChunks"); + } + + 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(DestructibleActorChunks_0p0NS::checksum); + return DestructibleActorChunks_0p0NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleActorChunks_0p0NS::ParametersStruct& parameters(void) const + { + DestructibleActorChunks_0p0* tmpThis = const_cast<DestructibleActorChunks_0p0*>(this); + return *(static_cast<DestructibleActorChunks_0p0NS::ParametersStruct*>(tmpThis)); + } + + DestructibleActorChunks_0p0NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleActorChunks_0p0NS::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 DestructibleActorChunks_0p0Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleActorChunks_0p0::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleActorChunks_0p0), DestructibleActorChunks_0p0::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleActorChunks_0p0::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorChunks_0p0"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleActorChunks_0p0)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorChunks_0p0)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleActorChunks_0p0::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleActorChunks_0p0::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorChunks_0p0"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleActorChunks_0p0 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 (DestructibleActorChunks_0p0*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleActorChunks_0p0::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleActorChunks_0p0::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleActorChunks_0p0::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleActorChunks_0p0::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p0.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p0.h new file mode 100644 index 00000000..612a2695 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p0.h @@ -0,0 +1,428 @@ +// 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_DestructibleActorParam_0p0_h +#define HEADER_DestructibleActorParam_0p0_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleActorParam_0p0NS +{ + +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct DestructibleParameters_Type; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool TAKE_IMPACT_DAMAGE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool ASSET_DEFINED_SUPPORT; + bool WORLD_SUPPORT; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float bias; + float benefitsBias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; +struct DestructibleParameters_Type +{ + float damageThreshold; + float damageToRadius; + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + float materialStrength; + float damageToPercentDeformation; + float deformationPercentLimit; + uint32_t formExtendedStructures; + uint32_t supportDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + float massScaleExponent; + DestructibleParametersFlag_Type flags; + float grbVolumeLimit; + float grbParticleSpacing; + float fractureImpulseScale; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; +}; + +struct ParametersStruct +{ + + NvParameterized::DummyStringStruct crumbleEmitterName; + NvParameterized::DummyStringStruct dustEmitterName; + float globalPose[12]; + physx::PxVec3 scale; + bool dynamic; + bool renderStaticChunksSeparately; + STRING_DynamicArray1D_Type overrideSkinnedMaterialNames; + STRING_DynamicArray1D_Type overrideStaticMaterialNames; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + ShapeDescTemplate_Type shapeDescTemplate; + ActorDescTemplate_Type actorDescTemplate; + BodyDescTemplate_Type bodyDescTemplate; + +}; + +static const uint32_t checksum[] = { 0xd4b08535, 0x3442a17d, 0xa9c52df2, 0x56f139da, }; + +} // namespace DestructibleActorParam_0p0NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleActorParam_0p0 : public NvParameterized::NvParameters, public DestructibleActorParam_0p0NS::ParametersStruct +{ +public: + DestructibleActorParam_0p0(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleActorParam_0p0(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleActorParam"); + } + + 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(DestructibleActorParam_0p0NS::checksum); + return DestructibleActorParam_0p0NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleActorParam_0p0NS::ParametersStruct& parameters(void) const + { + DestructibleActorParam_0p0* tmpThis = const_cast<DestructibleActorParam_0p0*>(this); + return *(static_cast<DestructibleActorParam_0p0NS::ParametersStruct*>(tmpThis)); + } + + DestructibleActorParam_0p0NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleActorParam_0p0NS::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 DestructibleActorParam_0p0Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleActorParam_0p0::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p0), DestructibleActorParam_0p0::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p0::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p0"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleActorParam_0p0)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p0)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p0::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p0::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p0"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleActorParam_0p0 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 (DestructibleActorParam_0p0*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleActorParam_0p0::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleActorParam_0p0::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleActorParam_0p0::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleActorParam_0p0::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p1.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p1.h new file mode 100644 index 00000000..2d11df2a --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p1.h @@ -0,0 +1,429 @@ +// 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_DestructibleActorParam_0p1_h +#define HEADER_DestructibleActorParam_0p1_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleActorParam_0p1NS +{ + +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct DestructibleParameters_Type; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool TAKE_IMPACT_DAMAGE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool ASSET_DEFINED_SUPPORT; + bool WORLD_SUPPORT; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float bias; + float benefitsBias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; +struct DestructibleParameters_Type +{ + float damageThreshold; + float damageToRadius; + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + float materialStrength; + float damageToPercentDeformation; + float deformationPercentLimit; + uint32_t formExtendedStructures; + uint32_t supportDepth; + uint32_t minimumFractureDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + float massScaleExponent; + DestructibleParametersFlag_Type flags; + float grbVolumeLimit; + float grbParticleSpacing; + float fractureImpulseScale; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; +}; + +struct ParametersStruct +{ + + NvParameterized::DummyStringStruct crumbleEmitterName; + NvParameterized::DummyStringStruct dustEmitterName; + float globalPose[12]; + physx::PxVec3 scale; + bool dynamic; + bool renderStaticChunksSeparately; + STRING_DynamicArray1D_Type overrideSkinnedMaterialNames; + STRING_DynamicArray1D_Type overrideStaticMaterialNames; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + ShapeDescTemplate_Type shapeDescTemplate; + ActorDescTemplate_Type actorDescTemplate; + BodyDescTemplate_Type bodyDescTemplate; + +}; + +static const uint32_t checksum[] = { 0x3ad0af7d, 0xd7719dac, 0xf560b077, 0x017be9bb, }; + +} // namespace DestructibleActorParam_0p1NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleActorParam_0p1 : public NvParameterized::NvParameters, public DestructibleActorParam_0p1NS::ParametersStruct +{ +public: + DestructibleActorParam_0p1(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleActorParam_0p1(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleActorParam"); + } + + 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(DestructibleActorParam_0p1NS::checksum); + return DestructibleActorParam_0p1NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleActorParam_0p1NS::ParametersStruct& parameters(void) const + { + DestructibleActorParam_0p1* tmpThis = const_cast<DestructibleActorParam_0p1*>(this); + return *(static_cast<DestructibleActorParam_0p1NS::ParametersStruct*>(tmpThis)); + } + + DestructibleActorParam_0p1NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleActorParam_0p1NS::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 DestructibleActorParam_0p1Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleActorParam_0p1::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p1), DestructibleActorParam_0p1::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p1::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p1"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleActorParam_0p1)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p1)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p1::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p1::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p1"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleActorParam_0p1 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 (DestructibleActorParam_0p1*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleActorParam_0p1::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleActorParam_0p1::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleActorParam_0p1::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleActorParam_0p1::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p10.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p10.h new file mode 100644 index 00000000..034aae1c --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p10.h @@ -0,0 +1,524 @@ +// 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_DestructibleActorParam_0p10_h +#define HEADER_DestructibleActorParam_0p10_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleActorParam_0p10NS +{ + +struct P3FilterData_Type; +struct P3ShapeFlags_Type; +struct P3PairFlag_Type; +struct P3ShapeDescTemplate_Type; +struct P3ActorFlags_Type; +struct P3ActorDescTemplate_Type; +struct P3BodyDescFlags_Type; +struct P3BodyDescTemplate_Type; +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct DestructibleParameters_Type; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct P3BodyDescFlags_Type +{ + bool eKINEMATIC; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct P3FilterData_Type +{ + uint32_t word0; + uint32_t word1; + uint32_t word2; + uint32_t word3; +}; +struct DestructibleParameters_Type +{ + float damageThreshold; + float damageToRadius; + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + float materialStrength; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + float debrisDestructionProbability; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; +}; +struct P3ShapeFlags_Type +{ + bool eSIMULATION_SHAPE; + bool eSCENE_QUERY_SHAPE; + bool eTRIGGER_SHAPE; + bool eVISUALIZATION; + bool ePARTICLE_DRAIN; + bool eDEFORMABLE_DRAIN; + bool eUSE_SWEPT_BOUNDS; +}; +struct P3ShapeDescTemplate_Type +{ + P3ShapeFlags_Type flags; + P3FilterData_Type simulationFilterData; + P3FilterData_Type queryFilterData; + uint64_t material; + float contactOffset; + float restOffset; + uint64_t userData; + uint64_t name; +}; +struct P3ActorFlags_Type +{ + bool eVISUALIZATION; + bool eDISABLE_GRAVITY; + bool eSEND_SLEEP_NOTIFIES; +}; +struct P3BodyDescTemplate_Type +{ + float density; + P3BodyDescFlags_Type flags; + float sleepThreshold; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + uint32_t solverIterationCount; + float contactReportThreshold; + float sleepLinearVelocity; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct P3PairFlag_Type +{ + bool eRESOLVE_CONTACTS; + bool eMODIFY_CONTACTS; + bool eNOTIFY_TOUCH_FOUND; + bool eNOTIFY_TOUCH_PERSISTS; + bool eNOTIFY_TOUCH_LOST; + bool eNOTIFY_THRESHOLD_FORCE_FOUND; + bool eNOTIFY_THRESHOLD_FORCE_PERSISTS; + bool eNOTIFY_THRESHOLD_FORCE_LOST; + bool eNOTIFY_CONTACT_POINTS; + bool eNOTIFY_CONTACT_FORCES; + bool eNOTIFY_CONTACT_FORCE_PER_POINT; + bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT; + bool eSWEPT_CONTACT_GENERATION; + bool eSWEPT_INTEGRATION_LINEAR; + bool eSWEPT_INTEGRATION_FULL; + bool eCONTACT_DEFAULT; + bool eTRIGGER_DEFAULT; +}; +struct P3ActorDescTemplate_Type +{ + P3ActorFlags_Type flags; + uint8_t dominanceGroup; + uint8_t ownerClient; + uint32_t clientBehaviorBits; + P3PairFlag_Type contactReportFlags; + uint64_t userData; + uint64_t name; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + NvParameterized::DummyStringStruct crumbleEmitterName; + float crumbleParticleSpacing; + NvParameterized::DummyStringStruct dustEmitterName; + float dustParticleSpacing; + float globalPose[12]; + physx::PxVec3 scale; + bool dynamic; + uint32_t supportDepth; + bool formExtendedStructures; + bool keepPreviousFrameBoneBuffer; + bool useAssetDefinedSupport; + bool useWorldSupport; + bool renderStaticChunksSeparately; + bool createChunkEvents; + STRING_DynamicArray1D_Type overrideSkinnedMaterialNames; + STRING_DynamicArray1D_Type overrideStaticMaterialNames; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + ShapeDescTemplate_Type shapeDescTemplate; + ActorDescTemplate_Type actorDescTemplate; + BodyDescTemplate_Type bodyDescTemplate; + P3ShapeDescTemplate_Type p3ShapeDescTemplate; + P3ActorDescTemplate_Type p3ActorDescTemplate; + P3BodyDescTemplate_Type p3BodyDescTemplate; + +}; + +static const uint32_t checksum[] = { 0xbe978f37, 0x502639bf, 0x1719eb6b, 0xded5e239, }; + +} // namespace DestructibleActorParam_0p10NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleActorParam_0p10 : public NvParameterized::NvParameters, public DestructibleActorParam_0p10NS::ParametersStruct +{ +public: + DestructibleActorParam_0p10(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleActorParam_0p10(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleActorParam"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)10; + + 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(DestructibleActorParam_0p10NS::checksum); + return DestructibleActorParam_0p10NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleActorParam_0p10NS::ParametersStruct& parameters(void) const + { + DestructibleActorParam_0p10* tmpThis = const_cast<DestructibleActorParam_0p10*>(this); + return *(static_cast<DestructibleActorParam_0p10NS::ParametersStruct*>(tmpThis)); + } + + DestructibleActorParam_0p10NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleActorParam_0p10NS::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 DestructibleActorParam_0p10Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleActorParam_0p10::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p10), DestructibleActorParam_0p10::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p10::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p10"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleActorParam_0p10)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p10)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p10::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p10::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p10"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleActorParam_0p10 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 (DestructibleActorParam_0p10*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleActorParam_0p10::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleActorParam_0p10::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleActorParam_0p10::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleActorParam_0p10::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p11.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p11.h new file mode 100644 index 00000000..b928c8d8 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p11.h @@ -0,0 +1,525 @@ +// 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_DestructibleActorParam_0p11_h +#define HEADER_DestructibleActorParam_0p11_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleActorParam_0p11NS +{ + +struct P3FilterData_Type; +struct P3ShapeFlags_Type; +struct P3PairFlag_Type; +struct P3ShapeDescTemplate_Type; +struct P3ActorFlags_Type; +struct P3ActorDescTemplate_Type; +struct P3BodyDescFlags_Type; +struct P3BodyDescTemplate_Type; +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct DestructibleParameters_Type; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct P3BodyDescFlags_Type +{ + bool eKINEMATIC; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; +}; +struct P3FilterData_Type +{ + uint32_t word0; + uint32_t word1; + uint32_t word2; + uint32_t word3; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct DestructibleParameters_Type +{ + float damageThreshold; + float damageToRadius; + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + float materialStrength; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + float debrisDestructionProbability; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; +}; +struct P3ShapeFlags_Type +{ + bool eSIMULATION_SHAPE; + bool eSCENE_QUERY_SHAPE; + bool eTRIGGER_SHAPE; + bool eVISUALIZATION; + bool ePARTICLE_DRAIN; + bool eDEFORMABLE_DRAIN; + bool eUSE_SWEPT_BOUNDS; +}; +struct P3ShapeDescTemplate_Type +{ + P3ShapeFlags_Type flags; + P3FilterData_Type simulationFilterData; + P3FilterData_Type queryFilterData; + uint64_t material; + float contactOffset; + float restOffset; + uint64_t userData; + uint64_t name; +}; +struct P3ActorFlags_Type +{ + bool eVISUALIZATION; + bool eDISABLE_GRAVITY; + bool eSEND_SLEEP_NOTIFIES; +}; +struct P3BodyDescTemplate_Type +{ + float density; + P3BodyDescFlags_Type flags; + float sleepThreshold; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + uint32_t solverIterationCount; + float contactReportThreshold; + float sleepLinearVelocity; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct P3PairFlag_Type +{ + bool eRESOLVE_CONTACTS; + bool eMODIFY_CONTACTS; + bool eNOTIFY_TOUCH_FOUND; + bool eNOTIFY_TOUCH_PERSISTS; + bool eNOTIFY_TOUCH_LOST; + bool eNOTIFY_THRESHOLD_FORCE_FOUND; + bool eNOTIFY_THRESHOLD_FORCE_PERSISTS; + bool eNOTIFY_THRESHOLD_FORCE_LOST; + bool eNOTIFY_CONTACT_POINTS; + bool eNOTIFY_CONTACT_FORCES; + bool eNOTIFY_CONTACT_FORCE_PER_POINT; + bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT; + bool eSWEPT_CONTACT_GENERATION; + bool eSWEPT_INTEGRATION_LINEAR; + bool eSWEPT_INTEGRATION_FULL; + bool eCONTACT_DEFAULT; + bool eTRIGGER_DEFAULT; +}; +struct P3ActorDescTemplate_Type +{ + P3ActorFlags_Type flags; + uint8_t dominanceGroup; + uint8_t ownerClient; + uint32_t clientBehaviorBits; + P3PairFlag_Type contactReportFlags; + uint64_t userData; + uint64_t name; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + NvParameterized::DummyStringStruct crumbleEmitterName; + float crumbleParticleSpacing; + NvParameterized::DummyStringStruct dustEmitterName; + float dustParticleSpacing; + float globalPose[12]; + physx::PxVec3 scale; + bool dynamic; + uint32_t supportDepth; + bool formExtendedStructures; + bool keepPreviousFrameBoneBuffer; + bool useAssetDefinedSupport; + bool useWorldSupport; + bool renderStaticChunksSeparately; + bool createChunkEvents; + STRING_DynamicArray1D_Type overrideSkinnedMaterialNames; + STRING_DynamicArray1D_Type overrideStaticMaterialNames; + float sleepVelocitySmoothingFactor; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + ShapeDescTemplate_Type shapeDescTemplate; + ActorDescTemplate_Type actorDescTemplate; + BodyDescTemplate_Type bodyDescTemplate; + P3ShapeDescTemplate_Type p3ShapeDescTemplate; + P3ActorDescTemplate_Type p3ActorDescTemplate; + P3BodyDescTemplate_Type p3BodyDescTemplate; + +}; + +static const uint32_t checksum[] = { 0xdd5dd270, 0x74d8996a, 0x63268e74, 0xb3dc6115, }; + +} // namespace DestructibleActorParam_0p11NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleActorParam_0p11 : public NvParameterized::NvParameters, public DestructibleActorParam_0p11NS::ParametersStruct +{ +public: + DestructibleActorParam_0p11(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleActorParam_0p11(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleActorParam"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)11; + + 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(DestructibleActorParam_0p11NS::checksum); + return DestructibleActorParam_0p11NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleActorParam_0p11NS::ParametersStruct& parameters(void) const + { + DestructibleActorParam_0p11* tmpThis = const_cast<DestructibleActorParam_0p11*>(this); + return *(static_cast<DestructibleActorParam_0p11NS::ParametersStruct*>(tmpThis)); + } + + DestructibleActorParam_0p11NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleActorParam_0p11NS::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 DestructibleActorParam_0p11Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleActorParam_0p11::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p11), DestructibleActorParam_0p11::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p11::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p11"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleActorParam_0p11)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p11)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p11::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p11::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p11"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleActorParam_0p11 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 (DestructibleActorParam_0p11*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleActorParam_0p11::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleActorParam_0p11::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleActorParam_0p11::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleActorParam_0p11::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p12.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p12.h new file mode 100644 index 00000000..b0ec0fac --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p12.h @@ -0,0 +1,526 @@ +// 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_DestructibleActorParam_0p12_h +#define HEADER_DestructibleActorParam_0p12_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleActorParam_0p12NS +{ + +struct P3FilterData_Type; +struct P3ShapeFlags_Type; +struct P3PairFlag_Type; +struct P3ShapeDescTemplate_Type; +struct P3ActorFlags_Type; +struct P3ActorDescTemplate_Type; +struct P3BodyDescFlags_Type; +struct P3BodyDescTemplate_Type; +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct DestructibleParameters_Type; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct P3BodyDescFlags_Type +{ + bool eKINEMATIC; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; +}; +struct P3FilterData_Type +{ + uint32_t word0; + uint32_t word1; + uint32_t word2; + uint32_t word3; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct DestructibleParameters_Type +{ + float damageThreshold; + float damageToRadius; + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + float materialStrength; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + float debrisDestructionProbability; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; +}; +struct P3ShapeFlags_Type +{ + bool eSIMULATION_SHAPE; + bool eSCENE_QUERY_SHAPE; + bool eTRIGGER_SHAPE; + bool eVISUALIZATION; + bool ePARTICLE_DRAIN; + bool eDEFORMABLE_DRAIN; + bool eUSE_SWEPT_BOUNDS; +}; +struct P3ShapeDescTemplate_Type +{ + P3ShapeFlags_Type flags; + P3FilterData_Type simulationFilterData; + P3FilterData_Type queryFilterData; + uint64_t material; + float contactOffset; + float restOffset; + uint64_t userData; + uint64_t name; +}; +struct P3ActorFlags_Type +{ + bool eVISUALIZATION; + bool eDISABLE_GRAVITY; + bool eSEND_SLEEP_NOTIFIES; +}; +struct P3BodyDescTemplate_Type +{ + float density; + P3BodyDescFlags_Type flags; + float sleepThreshold; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + uint32_t solverIterationCount; + float contactReportThreshold; + float sleepLinearVelocity; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct P3PairFlag_Type +{ + bool eRESOLVE_CONTACTS; + bool eMODIFY_CONTACTS; + bool eNOTIFY_TOUCH_FOUND; + bool eNOTIFY_TOUCH_PERSISTS; + bool eNOTIFY_TOUCH_LOST; + bool eNOTIFY_THRESHOLD_FORCE_FOUND; + bool eNOTIFY_THRESHOLD_FORCE_PERSISTS; + bool eNOTIFY_THRESHOLD_FORCE_LOST; + bool eNOTIFY_CONTACT_POINTS; + bool eNOTIFY_CONTACT_FORCES; + bool eNOTIFY_CONTACT_FORCE_PER_POINT; + bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT; + bool eSWEPT_CONTACT_GENERATION; + bool eSWEPT_INTEGRATION_LINEAR; + bool eSWEPT_INTEGRATION_FULL; + bool eCONTACT_DEFAULT; + bool eTRIGGER_DEFAULT; +}; +struct P3ActorDescTemplate_Type +{ + P3ActorFlags_Type flags; + uint8_t dominanceGroup; + uint8_t ownerClient; + uint32_t clientBehaviorBits; + P3PairFlag_Type contactReportFlags; + uint64_t userData; + uint64_t name; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + NvParameterized::DummyStringStruct crumbleEmitterName; + float crumbleParticleSpacing; + NvParameterized::DummyStringStruct dustEmitterName; + float dustParticleSpacing; + float globalPose[12]; + physx::PxVec3 scale; + bool dynamic; + uint32_t supportDepth; + bool formExtendedStructures; + bool keepPreviousFrameBoneBuffer; + bool useAssetDefinedSupport; + bool useWorldSupport; + bool renderStaticChunksSeparately; + bool createChunkEvents; + STRING_DynamicArray1D_Type overrideSkinnedMaterialNames; + STRING_DynamicArray1D_Type overrideStaticMaterialNames; + float sleepVelocityFrameDecayConstant; + bool useHardSleeping; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + ShapeDescTemplate_Type shapeDescTemplate; + ActorDescTemplate_Type actorDescTemplate; + BodyDescTemplate_Type bodyDescTemplate; + P3ShapeDescTemplate_Type p3ShapeDescTemplate; + P3ActorDescTemplate_Type p3ActorDescTemplate; + P3BodyDescTemplate_Type p3BodyDescTemplate; + +}; + +static const uint32_t checksum[] = { 0x0bf61569, 0xbaa5819e, 0x5ef9d546, 0xbe60fed3, }; + +} // namespace DestructibleActorParam_0p12NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleActorParam_0p12 : public NvParameterized::NvParameters, public DestructibleActorParam_0p12NS::ParametersStruct +{ +public: + DestructibleActorParam_0p12(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleActorParam_0p12(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleActorParam"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)12; + + 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(DestructibleActorParam_0p12NS::checksum); + return DestructibleActorParam_0p12NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleActorParam_0p12NS::ParametersStruct& parameters(void) const + { + DestructibleActorParam_0p12* tmpThis = const_cast<DestructibleActorParam_0p12*>(this); + return *(static_cast<DestructibleActorParam_0p12NS::ParametersStruct*>(tmpThis)); + } + + DestructibleActorParam_0p12NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleActorParam_0p12NS::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 DestructibleActorParam_0p12Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleActorParam_0p12::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p12), DestructibleActorParam_0p12::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p12::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p12"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleActorParam_0p12)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p12)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p12::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p12::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p12"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleActorParam_0p12 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 (DestructibleActorParam_0p12*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleActorParam_0p12::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleActorParam_0p12::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleActorParam_0p12::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleActorParam_0p12::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p13.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p13.h new file mode 100644 index 00000000..5a9fb52f --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p13.h @@ -0,0 +1,534 @@ +// 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_DestructibleActorParam_0p13_h +#define HEADER_DestructibleActorParam_0p13_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleActorParam_0p13NS +{ + +struct P3FilterData_Type; +struct P3ShapeFlags_Type; +struct P3PairFlag_Type; +struct P3ShapeDescTemplate_Type; +struct P3ActorFlags_Type; +struct P3ActorDescTemplate_Type; +struct P3BodyDescFlags_Type; +struct P3BodyDescTemplate_Type; +struct StructureSettings_Type; +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct DestructibleParameters_Type; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct P3BodyDescFlags_Type +{ + bool eKINEMATIC; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; +}; +struct P3FilterData_Type +{ + uint32_t word0; + uint32_t word1; + uint32_t word2; + uint32_t word3; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct StructureSettings_Type +{ + bool useStressSolver; + float stressSolverTimeDelay; + float stressSolverMassThreshold; +}; +struct DestructibleParameters_Type +{ + float damageThreshold; + float damageToRadius; + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + float materialStrength; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + float debrisDestructionProbability; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; +}; +struct P3ShapeFlags_Type +{ + bool eSIMULATION_SHAPE; + bool eSCENE_QUERY_SHAPE; + bool eTRIGGER_SHAPE; + bool eVISUALIZATION; + bool ePARTICLE_DRAIN; + bool eDEFORMABLE_DRAIN; + bool eUSE_SWEPT_BOUNDS; +}; +struct P3ShapeDescTemplate_Type +{ + P3ShapeFlags_Type flags; + P3FilterData_Type simulationFilterData; + P3FilterData_Type queryFilterData; + uint64_t material; + float contactOffset; + float restOffset; + uint64_t userData; + uint64_t name; +}; +struct P3ActorFlags_Type +{ + bool eVISUALIZATION; + bool eDISABLE_GRAVITY; + bool eSEND_SLEEP_NOTIFIES; +}; +struct P3BodyDescTemplate_Type +{ + float density; + P3BodyDescFlags_Type flags; + float sleepThreshold; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + uint32_t solverIterationCount; + float contactReportThreshold; + float sleepLinearVelocity; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct P3PairFlag_Type +{ + bool eRESOLVE_CONTACTS; + bool eMODIFY_CONTACTS; + bool eNOTIFY_TOUCH_FOUND; + bool eNOTIFY_TOUCH_PERSISTS; + bool eNOTIFY_TOUCH_LOST; + bool eNOTIFY_THRESHOLD_FORCE_FOUND; + bool eNOTIFY_THRESHOLD_FORCE_PERSISTS; + bool eNOTIFY_THRESHOLD_FORCE_LOST; + bool eNOTIFY_CONTACT_POINTS; + bool eNOTIFY_CONTACT_FORCES; + bool eNOTIFY_CONTACT_FORCE_PER_POINT; + bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT; + bool eSWEPT_CONTACT_GENERATION; + bool eSWEPT_INTEGRATION_LINEAR; + bool eSWEPT_INTEGRATION_FULL; + bool eCONTACT_DEFAULT; + bool eTRIGGER_DEFAULT; +}; +struct P3ActorDescTemplate_Type +{ + P3ActorFlags_Type flags; + uint8_t dominanceGroup; + uint8_t ownerClient; + uint32_t clientBehaviorBits; + P3PairFlag_Type contactReportFlags; + uint64_t userData; + uint64_t name; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + NvParameterized::DummyStringStruct crumbleEmitterName; + float crumbleParticleSpacing; + NvParameterized::DummyStringStruct dustEmitterName; + float dustParticleSpacing; + float globalPose[12]; + physx::PxVec3 scale; + bool dynamic; + uint32_t supportDepth; + bool formExtendedStructures; + bool keepPreviousFrameBoneBuffer; + bool useAssetDefinedSupport; + bool useWorldSupport; + bool renderStaticChunksSeparately; + bool createChunkEvents; + STRING_DynamicArray1D_Type overrideSkinnedMaterialNames; + STRING_DynamicArray1D_Type overrideStaticMaterialNames; + float sleepVelocityFrameDecayConstant; + bool useHardSleeping; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + ShapeDescTemplate_Type shapeDescTemplate; + ActorDescTemplate_Type actorDescTemplate; + BodyDescTemplate_Type bodyDescTemplate; + P3ShapeDescTemplate_Type p3ShapeDescTemplate; + P3ActorDescTemplate_Type p3ActorDescTemplate; + P3BodyDescTemplate_Type p3BodyDescTemplate; + StructureSettings_Type structureSettings; + +}; + +static const uint32_t checksum[] = { 0x61491594, 0xc6bbcc7e, 0x465e5e58, 0x1aac70b5, }; + +} // namespace DestructibleActorParam_0p13NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleActorParam_0p13 : public NvParameterized::NvParameters, public DestructibleActorParam_0p13NS::ParametersStruct +{ +public: + DestructibleActorParam_0p13(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleActorParam_0p13(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleActorParam"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)13; + + 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(DestructibleActorParam_0p13NS::checksum); + return DestructibleActorParam_0p13NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleActorParam_0p13NS::ParametersStruct& parameters(void) const + { + DestructibleActorParam_0p13* tmpThis = const_cast<DestructibleActorParam_0p13*>(this); + return *(static_cast<DestructibleActorParam_0p13NS::ParametersStruct*>(tmpThis)); + } + + DestructibleActorParam_0p13NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleActorParam_0p13NS::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 DestructibleActorParam_0p13Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleActorParam_0p13::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p13), DestructibleActorParam_0p13::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p13::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p13"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleActorParam_0p13)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p13)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p13::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p13::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p13"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleActorParam_0p13 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 (DestructibleActorParam_0p13*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleActorParam_0p13::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleActorParam_0p13::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleActorParam_0p13::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleActorParam_0p13::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p14.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p14.h new file mode 100644 index 00000000..a29919a2 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p14.h @@ -0,0 +1,535 @@ +// 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_DestructibleActorParam_0p14_h +#define HEADER_DestructibleActorParam_0p14_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleActorParam_0p14NS +{ + +struct P3FilterData_Type; +struct P3ShapeFlags_Type; +struct P3PairFlag_Type; +struct P3ShapeDescTemplate_Type; +struct P3ActorFlags_Type; +struct P3ActorDescTemplate_Type; +struct P3BodyDescFlags_Type; +struct P3BodyDescTemplate_Type; +struct StructureSettings_Type; +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct DestructibleParameters_Type; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct P3BodyDescFlags_Type +{ + bool eKINEMATIC; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; + bool CRUMBLE_VIA_RUNTIME_FRACTURE; +}; +struct P3FilterData_Type +{ + uint32_t word0; + uint32_t word1; + uint32_t word2; + uint32_t word3; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct StructureSettings_Type +{ + bool useStressSolver; + float stressSolverTimeDelay; + float stressSolverMassThreshold; +}; +struct DestructibleParameters_Type +{ + float damageThreshold; + float damageToRadius; + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + float materialStrength; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + float debrisDestructionProbability; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; +}; +struct P3ShapeFlags_Type +{ + bool eSIMULATION_SHAPE; + bool eSCENE_QUERY_SHAPE; + bool eTRIGGER_SHAPE; + bool eVISUALIZATION; + bool ePARTICLE_DRAIN; + bool eDEFORMABLE_DRAIN; + bool eUSE_SWEPT_BOUNDS; +}; +struct P3ShapeDescTemplate_Type +{ + P3ShapeFlags_Type flags; + P3FilterData_Type simulationFilterData; + P3FilterData_Type queryFilterData; + uint64_t material; + float contactOffset; + float restOffset; + uint64_t userData; + uint64_t name; +}; +struct P3ActorFlags_Type +{ + bool eVISUALIZATION; + bool eDISABLE_GRAVITY; + bool eSEND_SLEEP_NOTIFIES; +}; +struct P3BodyDescTemplate_Type +{ + float density; + P3BodyDescFlags_Type flags; + float sleepThreshold; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + uint32_t solverIterationCount; + float contactReportThreshold; + float sleepLinearVelocity; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct P3PairFlag_Type +{ + bool eRESOLVE_CONTACTS; + bool eMODIFY_CONTACTS; + bool eNOTIFY_TOUCH_FOUND; + bool eNOTIFY_TOUCH_PERSISTS; + bool eNOTIFY_TOUCH_LOST; + bool eNOTIFY_THRESHOLD_FORCE_FOUND; + bool eNOTIFY_THRESHOLD_FORCE_PERSISTS; + bool eNOTIFY_THRESHOLD_FORCE_LOST; + bool eNOTIFY_CONTACT_POINTS; + bool eNOTIFY_CONTACT_FORCES; + bool eNOTIFY_CONTACT_FORCE_PER_POINT; + bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT; + bool eSWEPT_CONTACT_GENERATION; + bool eSWEPT_INTEGRATION_LINEAR; + bool eSWEPT_INTEGRATION_FULL; + bool eCONTACT_DEFAULT; + bool eTRIGGER_DEFAULT; +}; +struct P3ActorDescTemplate_Type +{ + P3ActorFlags_Type flags; + uint8_t dominanceGroup; + uint8_t ownerClient; + uint32_t clientBehaviorBits; + P3PairFlag_Type contactReportFlags; + uint64_t userData; + uint64_t name; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + NvParameterized::DummyStringStruct crumbleEmitterName; + float crumbleParticleSpacing; + NvParameterized::DummyStringStruct dustEmitterName; + float dustParticleSpacing; + float globalPose[12]; + physx::PxVec3 scale; + bool dynamic; + uint32_t supportDepth; + bool formExtendedStructures; + bool keepPreviousFrameBoneBuffer; + bool useAssetDefinedSupport; + bool useWorldSupport; + bool renderStaticChunksSeparately; + bool createChunkEvents; + STRING_DynamicArray1D_Type overrideSkinnedMaterialNames; + STRING_DynamicArray1D_Type overrideStaticMaterialNames; + float sleepVelocityFrameDecayConstant; + bool useHardSleeping; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + ShapeDescTemplate_Type shapeDescTemplate; + ActorDescTemplate_Type actorDescTemplate; + BodyDescTemplate_Type bodyDescTemplate; + P3ShapeDescTemplate_Type p3ShapeDescTemplate; + P3ActorDescTemplate_Type p3ActorDescTemplate; + P3BodyDescTemplate_Type p3BodyDescTemplate; + StructureSettings_Type structureSettings; + +}; + +static const uint32_t checksum[] = { 0xb1ba7cab, 0x2d216f2b, 0x80fa1a34, 0xd796c0b0, }; + +} // namespace DestructibleActorParam_0p14NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleActorParam_0p14 : public NvParameterized::NvParameters, public DestructibleActorParam_0p14NS::ParametersStruct +{ +public: + DestructibleActorParam_0p14(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleActorParam_0p14(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleActorParam"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)14; + + 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(DestructibleActorParam_0p14NS::checksum); + return DestructibleActorParam_0p14NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleActorParam_0p14NS::ParametersStruct& parameters(void) const + { + DestructibleActorParam_0p14* tmpThis = const_cast<DestructibleActorParam_0p14*>(this); + return *(static_cast<DestructibleActorParam_0p14NS::ParametersStruct*>(tmpThis)); + } + + DestructibleActorParam_0p14NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleActorParam_0p14NS::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 DestructibleActorParam_0p14Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleActorParam_0p14::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p14), DestructibleActorParam_0p14::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p14::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p14"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleActorParam_0p14)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p14)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p14::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p14::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p14"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleActorParam_0p14 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 (DestructibleActorParam_0p14*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleActorParam_0p14::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleActorParam_0p14::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleActorParam_0p14::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleActorParam_0p14::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p15.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p15.h new file mode 100644 index 00000000..75307fd7 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p15.h @@ -0,0 +1,553 @@ +// 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_DestructibleActorParam_0p15_h +#define HEADER_DestructibleActorParam_0p15_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleActorParam_0p15NS +{ + +struct P3FilterData_Type; +struct P3ShapeFlags_Type; +struct P3PairFlag_Type; +struct P3ShapeDescTemplate_Type; +struct P3ActorFlags_Type; +struct P3ActorDescTemplate_Type; +struct P3BodyDescFlags_Type; +struct P3BodyDescTemplate_Type; +struct StructureSettings_Type; +struct BehaviorGroup_Type; +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct DestructibleParameters_Type; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct BehaviorGroup_DynamicArray1D_Type +{ + BehaviorGroup_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct P3BodyDescFlags_Type +{ + bool eKINEMATIC; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; + bool CRUMBLE_VIA_RUNTIME_FRACTURE; +}; +struct P3FilterData_Type +{ + uint32_t word0; + uint32_t word1; + uint32_t word2; + uint32_t word3; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct StructureSettings_Type +{ + bool useStressSolver; + float stressSolverTimeDelay; + float stressSolverMassThreshold; +}; +struct DestructibleParameters_Type +{ + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + float debrisDestructionProbability; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; +}; +struct BehaviorGroup_Type +{ + NvParameterized::DummyStringStruct name; + float damageThreshold; + float damageToRadius; + float materialStrength; + float density; + float fadeOut; + GroupsMask_Type groupsMask; +}; +struct P3ShapeFlags_Type +{ + bool eSIMULATION_SHAPE; + bool eSCENE_QUERY_SHAPE; + bool eTRIGGER_SHAPE; + bool eVISUALIZATION; + bool ePARTICLE_DRAIN; + bool eDEFORMABLE_DRAIN; + bool eUSE_SWEPT_BOUNDS; +}; +struct P3ShapeDescTemplate_Type +{ + P3ShapeFlags_Type flags; + P3FilterData_Type simulationFilterData; + P3FilterData_Type queryFilterData; + uint64_t material; + float contactOffset; + float restOffset; + uint64_t userData; + uint64_t name; +}; +struct P3ActorFlags_Type +{ + bool eVISUALIZATION; + bool eDISABLE_GRAVITY; + bool eSEND_SLEEP_NOTIFIES; +}; +struct P3BodyDescTemplate_Type +{ + float density; + P3BodyDescFlags_Type flags; + float sleepThreshold; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + uint32_t solverIterationCount; + float contactReportThreshold; + float sleepLinearVelocity; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct P3PairFlag_Type +{ + bool eRESOLVE_CONTACTS; + bool eMODIFY_CONTACTS; + bool eNOTIFY_TOUCH_FOUND; + bool eNOTIFY_TOUCH_PERSISTS; + bool eNOTIFY_TOUCH_LOST; + bool eNOTIFY_THRESHOLD_FORCE_FOUND; + bool eNOTIFY_THRESHOLD_FORCE_PERSISTS; + bool eNOTIFY_THRESHOLD_FORCE_LOST; + bool eNOTIFY_CONTACT_POINTS; + bool eNOTIFY_CONTACT_FORCES; + bool eNOTIFY_CONTACT_FORCE_PER_POINT; + bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT; + bool eSWEPT_CONTACT_GENERATION; + bool eSWEPT_INTEGRATION_LINEAR; + bool eSWEPT_INTEGRATION_FULL; + bool eCONTACT_DEFAULT; + bool eTRIGGER_DEFAULT; +}; +struct P3ActorDescTemplate_Type +{ + P3ActorFlags_Type flags; + uint8_t dominanceGroup; + uint8_t ownerClient; + uint32_t clientBehaviorBits; + P3PairFlag_Type contactReportFlags; + uint64_t userData; + uint64_t name; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + NvParameterized::DummyStringStruct crumbleEmitterName; + float crumbleParticleSpacing; + NvParameterized::DummyStringStruct dustEmitterName; + float dustParticleSpacing; + float globalPose[12]; + physx::PxVec3 scale; + bool dynamic; + uint32_t supportDepth; + bool formExtendedStructures; + bool keepPreviousFrameBoneBuffer; + bool useAssetDefinedSupport; + bool useWorldSupport; + bool renderStaticChunksSeparately; + bool createChunkEvents; + STRING_DynamicArray1D_Type overrideSkinnedMaterialNames; + STRING_DynamicArray1D_Type overrideStaticMaterialNames; + float sleepVelocityFrameDecayConstant; + bool useHardSleeping; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + ShapeDescTemplate_Type shapeDescTemplate; + ActorDescTemplate_Type actorDescTemplate; + BodyDescTemplate_Type bodyDescTemplate; + P3ShapeDescTemplate_Type p3ShapeDescTemplate; + P3ActorDescTemplate_Type p3ActorDescTemplate; + P3BodyDescTemplate_Type p3BodyDescTemplate; + StructureSettings_Type structureSettings; + BehaviorGroup_Type defaultBehaviorGroup; + BehaviorGroup_DynamicArray1D_Type behaviorGroups; + +}; + +static const uint32_t checksum[] = { 0x78c8fde9, 0x751632a2, 0x8b1f93be, 0xace8e25b, }; + +} // namespace DestructibleActorParam_0p15NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleActorParam_0p15 : public NvParameterized::NvParameters, public DestructibleActorParam_0p15NS::ParametersStruct +{ +public: + DestructibleActorParam_0p15(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleActorParam_0p15(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleActorParam"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)15; + + 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(DestructibleActorParam_0p15NS::checksum); + return DestructibleActorParam_0p15NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleActorParam_0p15NS::ParametersStruct& parameters(void) const + { + DestructibleActorParam_0p15* tmpThis = const_cast<DestructibleActorParam_0p15*>(this); + return *(static_cast<DestructibleActorParam_0p15NS::ParametersStruct*>(tmpThis)); + } + + DestructibleActorParam_0p15NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleActorParam_0p15NS::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 DestructibleActorParam_0p15Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleActorParam_0p15::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p15), DestructibleActorParam_0p15::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p15::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p15"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleActorParam_0p15)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p15)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p15::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p15::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p15"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleActorParam_0p15 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 (DestructibleActorParam_0p15*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleActorParam_0p15::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleActorParam_0p15::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleActorParam_0p15::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleActorParam_0p15::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p16.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p16.h new file mode 100644 index 00000000..6ac2013b --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p16.h @@ -0,0 +1,556 @@ +// 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_DestructibleActorParam_0p16_h +#define HEADER_DestructibleActorParam_0p16_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleActorParam_0p16NS +{ + +struct P3FilterData_Type; +struct P3ShapeFlags_Type; +struct P3PairFlag_Type; +struct P3ShapeDescTemplate_Type; +struct P3ActorFlags_Type; +struct P3ActorDescTemplate_Type; +struct P3BodyDescFlags_Type; +struct P3BodyDescTemplate_Type; +struct StructureSettings_Type; +struct BehaviorGroup_Type; +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct DestructibleParameters_Type; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct BehaviorGroup_DynamicArray1D_Type +{ + BehaviorGroup_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct P3BodyDescFlags_Type +{ + bool eKINEMATIC; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; + bool CRUMBLE_VIA_RUNTIME_FRACTURE; +}; +struct P3FilterData_Type +{ + uint32_t word0; + uint32_t word1; + uint32_t word2; + uint32_t word3; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct StructureSettings_Type +{ + bool useStressSolver; + float stressSolverTimeDelay; + float stressSolverMassThreshold; +}; +struct DestructibleParameters_Type +{ + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + float debrisDestructionProbability; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; +}; +struct BehaviorGroup_Type +{ + NvParameterized::DummyStringStruct name; + float damageThreshold; + float damageToRadius; + float minimumDamageRadius; + float damageRadiusMultiplier; + float damageFalloffExponent; + float materialStrength; + float density; + float fadeOut; + GroupsMask_Type groupsMask; +}; +struct P3ShapeFlags_Type +{ + bool eSIMULATION_SHAPE; + bool eSCENE_QUERY_SHAPE; + bool eTRIGGER_SHAPE; + bool eVISUALIZATION; + bool ePARTICLE_DRAIN; + bool eDEFORMABLE_DRAIN; + bool eUSE_SWEPT_BOUNDS; +}; +struct P3ShapeDescTemplate_Type +{ + P3ShapeFlags_Type flags; + P3FilterData_Type simulationFilterData; + P3FilterData_Type queryFilterData; + uint64_t material; + float contactOffset; + float restOffset; + uint64_t userData; + uint64_t name; +}; +struct P3ActorFlags_Type +{ + bool eVISUALIZATION; + bool eDISABLE_GRAVITY; + bool eSEND_SLEEP_NOTIFIES; +}; +struct P3BodyDescTemplate_Type +{ + float density; + P3BodyDescFlags_Type flags; + float sleepThreshold; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + uint32_t solverIterationCount; + float contactReportThreshold; + float sleepLinearVelocity; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct P3PairFlag_Type +{ + bool eRESOLVE_CONTACTS; + bool eMODIFY_CONTACTS; + bool eNOTIFY_TOUCH_FOUND; + bool eNOTIFY_TOUCH_PERSISTS; + bool eNOTIFY_TOUCH_LOST; + bool eNOTIFY_THRESHOLD_FORCE_FOUND; + bool eNOTIFY_THRESHOLD_FORCE_PERSISTS; + bool eNOTIFY_THRESHOLD_FORCE_LOST; + bool eNOTIFY_CONTACT_POINTS; + bool eNOTIFY_CONTACT_FORCES; + bool eNOTIFY_CONTACT_FORCE_PER_POINT; + bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT; + bool eSWEPT_CONTACT_GENERATION; + bool eSWEPT_INTEGRATION_LINEAR; + bool eSWEPT_INTEGRATION_FULL; + bool eCONTACT_DEFAULT; + bool eTRIGGER_DEFAULT; +}; +struct P3ActorDescTemplate_Type +{ + P3ActorFlags_Type flags; + uint8_t dominanceGroup; + uint8_t ownerClient; + uint32_t clientBehaviorBits; + P3PairFlag_Type contactReportFlags; + uint64_t userData; + uint64_t name; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + NvParameterized::DummyStringStruct crumbleEmitterName; + float crumbleParticleSpacing; + NvParameterized::DummyStringStruct dustEmitterName; + float dustParticleSpacing; + float globalPose[12]; + physx::PxVec3 scale; + bool dynamic; + uint32_t supportDepth; + bool formExtendedStructures; + bool keepPreviousFrameBoneBuffer; + bool useAssetDefinedSupport; + bool useWorldSupport; + bool renderStaticChunksSeparately; + bool createChunkEvents; + STRING_DynamicArray1D_Type overrideSkinnedMaterialNames; + STRING_DynamicArray1D_Type overrideStaticMaterialNames; + float sleepVelocityFrameDecayConstant; + bool useHardSleeping; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + ShapeDescTemplate_Type shapeDescTemplate; + ActorDescTemplate_Type actorDescTemplate; + BodyDescTemplate_Type bodyDescTemplate; + P3ShapeDescTemplate_Type p3ShapeDescTemplate; + P3ActorDescTemplate_Type p3ActorDescTemplate; + P3BodyDescTemplate_Type p3BodyDescTemplate; + StructureSettings_Type structureSettings; + BehaviorGroup_Type defaultBehaviorGroup; + BehaviorGroup_DynamicArray1D_Type behaviorGroups; + +}; + +static const uint32_t checksum[] = { 0x200aebdd, 0x2a042ee9, 0x8778a11c, 0xfe43f8e4, }; + +} // namespace DestructibleActorParam_0p16NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleActorParam_0p16 : public NvParameterized::NvParameters, public DestructibleActorParam_0p16NS::ParametersStruct +{ +public: + DestructibleActorParam_0p16(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleActorParam_0p16(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleActorParam"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)16; + + 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(DestructibleActorParam_0p16NS::checksum); + return DestructibleActorParam_0p16NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleActorParam_0p16NS::ParametersStruct& parameters(void) const + { + DestructibleActorParam_0p16* tmpThis = const_cast<DestructibleActorParam_0p16*>(this); + return *(static_cast<DestructibleActorParam_0p16NS::ParametersStruct*>(tmpThis)); + } + + DestructibleActorParam_0p16NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleActorParam_0p16NS::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 DestructibleActorParam_0p16Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleActorParam_0p16::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p16), DestructibleActorParam_0p16::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p16::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p16"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleActorParam_0p16)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p16)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p16::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p16::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p16"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleActorParam_0p16 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 (DestructibleActorParam_0p16*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleActorParam_0p16::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleActorParam_0p16::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleActorParam_0p16::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleActorParam_0p16::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p17.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p17.h new file mode 100644 index 00000000..572e5346 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p17.h @@ -0,0 +1,563 @@ +// This code contains NVIDIA Confidential Information and is disclosed to you +// under a form of NVIDIA software license agreement provided separately to you. +// +// Notice +// NVIDIA Corporation and its licensors retain all intellectual property and +// proprietary rights in and to this software and related documentation and +// any modifications thereto. Any use, reproduction, disclosure, or +// distribution of this software and related documentation without an express +// license agreement from NVIDIA Corporation is strictly prohibited. +// +// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES +// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO +// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT, +// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE. +// +// Information and code furnished is believed to be accurate and reliable. +// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such +// information or for any infringement of patents or other rights of third parties that may +// result from its use. No license is granted by implication or otherwise under any patent +// or patent rights of NVIDIA Corporation. Details are subject to change without notice. +// This code supersedes and replaces all information previously supplied. +// NVIDIA Corporation products are not authorized for use as critical +// components in life support devices or systems without express written approval of +// NVIDIA Corporation. +// +// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved. + +// This file was generated by NvParameterized/scripts/GenParameterized.pl + + +#ifndef HEADER_DestructibleActorParam_0p17_h +#define HEADER_DestructibleActorParam_0p17_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleActorParam_0p17NS +{ + +struct P3FilterData_Type; +struct P3ShapeFlags_Type; +struct P3PairFlag_Type; +struct P3ShapeDescTemplate_Type; +struct P3ActorFlags_Type; +struct P3ActorDescTemplate_Type; +struct P3BodyDescFlags_Type; +struct P3BodyDescTemplate_Type; +struct StructureSettings_Type; +struct BehaviorGroup_Type; +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct DestructibleParameters_Type; +struct DamageSpreadFunction_Type; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct BehaviorGroup_DynamicArray1D_Type +{ + BehaviorGroup_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct P3BodyDescFlags_Type +{ + bool eKINEMATIC; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; + bool CRUMBLE_VIA_RUNTIME_FRACTURE; +}; +struct P3FilterData_Type +{ + uint32_t word0; + uint32_t word1; + uint32_t word2; + uint32_t word3; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct StructureSettings_Type +{ + bool useStressSolver; + float stressSolverTimeDelay; + float stressSolverMassThreshold; +}; +struct DestructibleParameters_Type +{ + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + float debrisDestructionProbability; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; +}; +struct DamageSpreadFunction_Type +{ + float minimumRadius; + float radiusMultiplier; + float falloffExponent; +}; +struct BehaviorGroup_Type +{ + NvParameterized::DummyStringStruct name; + float damageThreshold; + float damageToRadius; + DamageSpreadFunction_Type damageSpread; + DamageSpreadFunction_Type damageColorSpread; + physx::PxVec4 damageColorChange; + float materialStrength; + float density; + float fadeOut; + GroupsMask_Type groupsMask; +}; +struct P3ShapeFlags_Type +{ + bool eSIMULATION_SHAPE; + bool eSCENE_QUERY_SHAPE; + bool eTRIGGER_SHAPE; + bool eVISUALIZATION; + bool ePARTICLE_DRAIN; + bool eDEFORMABLE_DRAIN; + bool eUSE_SWEPT_BOUNDS; +}; +struct P3ShapeDescTemplate_Type +{ + P3ShapeFlags_Type flags; + P3FilterData_Type simulationFilterData; + P3FilterData_Type queryFilterData; + uint64_t material; + float contactOffset; + float restOffset; + uint64_t userData; + uint64_t name; +}; +struct P3ActorFlags_Type +{ + bool eVISUALIZATION; + bool eDISABLE_GRAVITY; + bool eSEND_SLEEP_NOTIFIES; +}; +struct P3BodyDescTemplate_Type +{ + float density; + P3BodyDescFlags_Type flags; + float sleepThreshold; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + uint32_t solverIterationCount; + float contactReportThreshold; + float sleepLinearVelocity; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct P3PairFlag_Type +{ + bool eRESOLVE_CONTACTS; + bool eMODIFY_CONTACTS; + bool eNOTIFY_TOUCH_FOUND; + bool eNOTIFY_TOUCH_PERSISTS; + bool eNOTIFY_TOUCH_LOST; + bool eNOTIFY_THRESHOLD_FORCE_FOUND; + bool eNOTIFY_THRESHOLD_FORCE_PERSISTS; + bool eNOTIFY_THRESHOLD_FORCE_LOST; + bool eNOTIFY_CONTACT_POINTS; + bool eNOTIFY_CONTACT_FORCES; + bool eNOTIFY_CONTACT_FORCE_PER_POINT; + bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT; + bool eSWEPT_CONTACT_GENERATION; + bool eSWEPT_INTEGRATION_LINEAR; + bool eSWEPT_INTEGRATION_FULL; + bool eCONTACT_DEFAULT; + bool eTRIGGER_DEFAULT; +}; +struct P3ActorDescTemplate_Type +{ + P3ActorFlags_Type flags; + uint8_t dominanceGroup; + uint8_t ownerClient; + uint32_t clientBehaviorBits; + P3PairFlag_Type contactReportFlags; + uint64_t userData; + uint64_t name; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + NvParameterized::DummyStringStruct crumbleEmitterName; + float crumbleParticleSpacing; + NvParameterized::DummyStringStruct dustEmitterName; + float dustParticleSpacing; + float globalPose[12]; + physx::PxVec3 scale; + bool dynamic; + uint32_t supportDepth; + bool formExtendedStructures; + bool keepPreviousFrameBoneBuffer; + bool useAssetDefinedSupport; + bool useWorldSupport; + bool renderStaticChunksSeparately; + bool createChunkEvents; + STRING_DynamicArray1D_Type overrideSkinnedMaterialNames; + STRING_DynamicArray1D_Type overrideStaticMaterialNames; + float sleepVelocityFrameDecayConstant; + bool useHardSleeping; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + ShapeDescTemplate_Type shapeDescTemplate; + ActorDescTemplate_Type actorDescTemplate; + BodyDescTemplate_Type bodyDescTemplate; + P3ShapeDescTemplate_Type p3ShapeDescTemplate; + P3ActorDescTemplate_Type p3ActorDescTemplate; + P3BodyDescTemplate_Type p3BodyDescTemplate; + StructureSettings_Type structureSettings; + BehaviorGroup_Type defaultBehaviorGroup; + BehaviorGroup_DynamicArray1D_Type behaviorGroups; + +}; + +static const uint32_t checksum[] = { 0x0f6b3b48, 0xf9950d84, 0x860f86a3, 0x7373e712, }; + +} // namespace DestructibleActorParam_0p17NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleActorParam_0p17 : public NvParameterized::NvParameters, public DestructibleActorParam_0p17NS::ParametersStruct +{ +public: + DestructibleActorParam_0p17(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleActorParam_0p17(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleActorParam"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)17; + + 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(DestructibleActorParam_0p17NS::checksum); + return DestructibleActorParam_0p17NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleActorParam_0p17NS::ParametersStruct& parameters(void) const + { + DestructibleActorParam_0p17* tmpThis = const_cast<DestructibleActorParam_0p17*>(this); + return *(static_cast<DestructibleActorParam_0p17NS::ParametersStruct*>(tmpThis)); + } + + DestructibleActorParam_0p17NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleActorParam_0p17NS::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 DestructibleActorParam_0p17Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleActorParam_0p17::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p17), DestructibleActorParam_0p17::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p17::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p17"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleActorParam_0p17)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p17)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p17::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p17::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p17"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleActorParam_0p17 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 (DestructibleActorParam_0p17*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleActorParam_0p17::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleActorParam_0p17::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleActorParam_0p17::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleActorParam_0p17::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p18.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p18.h new file mode 100644 index 00000000..5562e381 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p18.h @@ -0,0 +1,564 @@ +// 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_DestructibleActorParam_0p18_h +#define HEADER_DestructibleActorParam_0p18_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleActorParam_0p18NS +{ + +struct P3FilterData_Type; +struct P3ShapeFlags_Type; +struct P3PairFlag_Type; +struct P3ShapeDescTemplate_Type; +struct P3ActorFlags_Type; +struct P3ActorDescTemplate_Type; +struct P3BodyDescFlags_Type; +struct P3BodyDescTemplate_Type; +struct StructureSettings_Type; +struct BehaviorGroup_Type; +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct DestructibleParameters_Type; +struct DamageSpreadFunction_Type; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct BehaviorGroup_DynamicArray1D_Type +{ + BehaviorGroup_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct P3BodyDescFlags_Type +{ + bool eKINEMATIC; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; + bool CRUMBLE_VIA_RUNTIME_FRACTURE; +}; +struct P3FilterData_Type +{ + uint32_t word0; + uint32_t word1; + uint32_t word2; + uint32_t word3; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct StructureSettings_Type +{ + bool useStressSolver; + float stressSolverTimeDelay; + float stressSolverMassThreshold; +}; +struct DestructibleParameters_Type +{ + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + float debrisDestructionProbability; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t damageDepthLimit; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; +}; +struct DamageSpreadFunction_Type +{ + float minimumRadius; + float radiusMultiplier; + float falloffExponent; +}; +struct BehaviorGroup_Type +{ + NvParameterized::DummyStringStruct name; + float damageThreshold; + float damageToRadius; + DamageSpreadFunction_Type damageSpread; + DamageSpreadFunction_Type damageColorSpread; + physx::PxVec4 damageColorChange; + float materialStrength; + float density; + float fadeOut; + GroupsMask_Type groupsMask; +}; +struct P3ShapeFlags_Type +{ + bool eSIMULATION_SHAPE; + bool eSCENE_QUERY_SHAPE; + bool eTRIGGER_SHAPE; + bool eVISUALIZATION; + bool ePARTICLE_DRAIN; + bool eDEFORMABLE_DRAIN; + bool eUSE_SWEPT_BOUNDS; +}; +struct P3ShapeDescTemplate_Type +{ + P3ShapeFlags_Type flags; + P3FilterData_Type simulationFilterData; + P3FilterData_Type queryFilterData; + uint64_t material; + float contactOffset; + float restOffset; + uint64_t userData; + uint64_t name; +}; +struct P3ActorFlags_Type +{ + bool eVISUALIZATION; + bool eDISABLE_GRAVITY; + bool eSEND_SLEEP_NOTIFIES; +}; +struct P3BodyDescTemplate_Type +{ + float density; + P3BodyDescFlags_Type flags; + float sleepThreshold; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + uint32_t solverIterationCount; + float contactReportThreshold; + float sleepLinearVelocity; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct P3PairFlag_Type +{ + bool eRESOLVE_CONTACTS; + bool eMODIFY_CONTACTS; + bool eNOTIFY_TOUCH_FOUND; + bool eNOTIFY_TOUCH_PERSISTS; + bool eNOTIFY_TOUCH_LOST; + bool eNOTIFY_THRESHOLD_FORCE_FOUND; + bool eNOTIFY_THRESHOLD_FORCE_PERSISTS; + bool eNOTIFY_THRESHOLD_FORCE_LOST; + bool eNOTIFY_CONTACT_POINTS; + bool eNOTIFY_CONTACT_FORCES; + bool eNOTIFY_CONTACT_FORCE_PER_POINT; + bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT; + bool eSWEPT_CONTACT_GENERATION; + bool eSWEPT_INTEGRATION_LINEAR; + bool eSWEPT_INTEGRATION_FULL; + bool eCONTACT_DEFAULT; + bool eTRIGGER_DEFAULT; +}; +struct P3ActorDescTemplate_Type +{ + P3ActorFlags_Type flags; + uint8_t dominanceGroup; + uint8_t ownerClient; + uint32_t clientBehaviorBits; + P3PairFlag_Type contactReportFlags; + uint64_t userData; + uint64_t name; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + NvParameterized::DummyStringStruct crumbleEmitterName; + float crumbleParticleSpacing; + NvParameterized::DummyStringStruct dustEmitterName; + float dustParticleSpacing; + float globalPose[12]; + physx::PxVec3 scale; + bool dynamic; + uint32_t supportDepth; + bool formExtendedStructures; + bool keepPreviousFrameBoneBuffer; + bool useAssetDefinedSupport; + bool useWorldSupport; + bool renderStaticChunksSeparately; + bool createChunkEvents; + STRING_DynamicArray1D_Type overrideSkinnedMaterialNames; + STRING_DynamicArray1D_Type overrideStaticMaterialNames; + float sleepVelocityFrameDecayConstant; + bool useHardSleeping; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + ShapeDescTemplate_Type shapeDescTemplate; + ActorDescTemplate_Type actorDescTemplate; + BodyDescTemplate_Type bodyDescTemplate; + P3ShapeDescTemplate_Type p3ShapeDescTemplate; + P3ActorDescTemplate_Type p3ActorDescTemplate; + P3BodyDescTemplate_Type p3BodyDescTemplate; + StructureSettings_Type structureSettings; + BehaviorGroup_Type defaultBehaviorGroup; + BehaviorGroup_DynamicArray1D_Type behaviorGroups; + +}; + +static const uint32_t checksum[] = { 0xff622f55, 0x361bdaca, 0x89c51449, 0xed0744fd, }; + +} // namespace DestructibleActorParam_0p18NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleActorParam_0p18 : public NvParameterized::NvParameters, public DestructibleActorParam_0p18NS::ParametersStruct +{ +public: + DestructibleActorParam_0p18(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleActorParam_0p18(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleActorParam"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)18; + + 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(DestructibleActorParam_0p18NS::checksum); + return DestructibleActorParam_0p18NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleActorParam_0p18NS::ParametersStruct& parameters(void) const + { + DestructibleActorParam_0p18* tmpThis = const_cast<DestructibleActorParam_0p18*>(this); + return *(static_cast<DestructibleActorParam_0p18NS::ParametersStruct*>(tmpThis)); + } + + DestructibleActorParam_0p18NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleActorParam_0p18NS::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 DestructibleActorParam_0p18Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleActorParam_0p18::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p18), DestructibleActorParam_0p18::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p18::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p18"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleActorParam_0p18)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p18)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p18::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p18::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p18"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleActorParam_0p18 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 (DestructibleActorParam_0p18*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleActorParam_0p18::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleActorParam_0p18::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleActorParam_0p18::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleActorParam_0p18::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p19.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p19.h new file mode 100644 index 00000000..b6d3a0ed --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p19.h @@ -0,0 +1,562 @@ +// 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_DestructibleActorParam_0p19_h +#define HEADER_DestructibleActorParam_0p19_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleActorParam_0p19NS +{ + +struct P3FilterData_Type; +struct P3ShapeFlags_Type; +struct P3PairFlag_Type; +struct P3ShapeDescTemplate_Type; +struct P3ActorFlags_Type; +struct P3ActorDescTemplate_Type; +struct P3BodyDescFlags_Type; +struct P3BodyDescTemplate_Type; +struct StructureSettings_Type; +struct BehaviorGroup_Type; +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct DestructibleParameters_Type; +struct DamageSpreadFunction_Type; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct BehaviorGroup_DynamicArray1D_Type +{ + BehaviorGroup_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct P3BodyDescFlags_Type +{ + bool eKINEMATIC; + bool eENABLE_CCD; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; + bool CRUMBLE_VIA_RUNTIME_FRACTURE; +}; +struct P3FilterData_Type +{ + uint32_t word0; + uint32_t word1; + uint32_t word2; + uint32_t word3; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct StructureSettings_Type +{ + bool useStressSolver; + float stressSolverTimeDelay; + float stressSolverMassThreshold; +}; +struct DestructibleParameters_Type +{ + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + float debrisDestructionProbability; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t damageDepthLimit; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; +}; +struct DamageSpreadFunction_Type +{ + float minimumRadius; + float radiusMultiplier; + float falloffExponent; +}; +struct BehaviorGroup_Type +{ + NvParameterized::DummyStringStruct name; + float damageThreshold; + float damageToRadius; + DamageSpreadFunction_Type damageSpread; + DamageSpreadFunction_Type damageColorSpread; + physx::PxVec4 damageColorChange; + float materialStrength; + float density; + float fadeOut; + GroupsMask_Type groupsMask; +}; +struct P3ShapeFlags_Type +{ + bool eSIMULATION_SHAPE; + bool eSCENE_QUERY_SHAPE; + bool eTRIGGER_SHAPE; + bool eVISUALIZATION; + bool ePARTICLE_DRAIN; + bool eDEFORMABLE_DRAIN; +}; +struct P3ShapeDescTemplate_Type +{ + P3ShapeFlags_Type flags; + P3FilterData_Type simulationFilterData; + P3FilterData_Type queryFilterData; + uint64_t material; + float contactOffset; + float restOffset; + uint64_t userData; + uint64_t name; +}; +struct P3ActorFlags_Type +{ + bool eVISUALIZATION; + bool eDISABLE_GRAVITY; + bool eSEND_SLEEP_NOTIFIES; +}; +struct P3BodyDescTemplate_Type +{ + float density; + P3BodyDescFlags_Type flags; + float sleepThreshold; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + uint32_t solverIterationCount; + float contactReportThreshold; + float sleepLinearVelocity; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct P3PairFlag_Type +{ + bool eRESOLVE_CONTACTS; + bool eMODIFY_CONTACTS; + bool eNOTIFY_TOUCH_FOUND; + bool eNOTIFY_TOUCH_PERSISTS; + bool eNOTIFY_TOUCH_LOST; + bool eNOTIFY_THRESHOLD_FORCE_FOUND; + bool eNOTIFY_THRESHOLD_FORCE_PERSISTS; + bool eNOTIFY_THRESHOLD_FORCE_LOST; + bool eNOTIFY_CONTACT_POINTS; + bool eNOTIFY_CONTACT_FORCES; + bool eNOTIFY_CONTACT_FORCE_PER_POINT; + bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT; + bool eCCD_LINEAR; + bool eCONTACT_DEFAULT; + bool eTRIGGER_DEFAULT; +}; +struct P3ActorDescTemplate_Type +{ + P3ActorFlags_Type flags; + uint8_t dominanceGroup; + uint8_t ownerClient; + uint32_t clientBehaviorBits; + P3PairFlag_Type contactReportFlags; + uint64_t userData; + uint64_t name; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + NvParameterized::DummyStringStruct crumbleEmitterName; + float crumbleParticleSpacing; + NvParameterized::DummyStringStruct dustEmitterName; + float dustParticleSpacing; + float globalPose[12]; + physx::PxVec3 scale; + bool dynamic; + uint32_t supportDepth; + bool formExtendedStructures; + bool keepPreviousFrameBoneBuffer; + bool useAssetDefinedSupport; + bool useWorldSupport; + bool renderStaticChunksSeparately; + bool createChunkEvents; + STRING_DynamicArray1D_Type overrideSkinnedMaterialNames; + STRING_DynamicArray1D_Type overrideStaticMaterialNames; + float sleepVelocityFrameDecayConstant; + bool useHardSleeping; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + ShapeDescTemplate_Type shapeDescTemplate; + ActorDescTemplate_Type actorDescTemplate; + BodyDescTemplate_Type bodyDescTemplate; + P3ShapeDescTemplate_Type p3ShapeDescTemplate; + P3ActorDescTemplate_Type p3ActorDescTemplate; + P3BodyDescTemplate_Type p3BodyDescTemplate; + StructureSettings_Type structureSettings; + BehaviorGroup_Type defaultBehaviorGroup; + BehaviorGroup_DynamicArray1D_Type behaviorGroups; + +}; + +static const uint32_t checksum[] = { 0x2aa7f5df, 0xf588bdd6, 0xa5ae7f11, 0x8373b357, }; + +} // namespace DestructibleActorParam_0p19NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleActorParam_0p19 : public NvParameterized::NvParameters, public DestructibleActorParam_0p19NS::ParametersStruct +{ +public: + DestructibleActorParam_0p19(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleActorParam_0p19(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleActorParam"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)19; + + 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(DestructibleActorParam_0p19NS::checksum); + return DestructibleActorParam_0p19NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleActorParam_0p19NS::ParametersStruct& parameters(void) const + { + DestructibleActorParam_0p19* tmpThis = const_cast<DestructibleActorParam_0p19*>(this); + return *(static_cast<DestructibleActorParam_0p19NS::ParametersStruct*>(tmpThis)); + } + + DestructibleActorParam_0p19NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleActorParam_0p19NS::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 DestructibleActorParam_0p19Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleActorParam_0p19::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p19), DestructibleActorParam_0p19::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p19::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p19"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleActorParam_0p19)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p19)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p19::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p19::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p19"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleActorParam_0p19 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 (DestructibleActorParam_0p19*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleActorParam_0p19::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleActorParam_0p19::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleActorParam_0p19::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleActorParam_0p19::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p2.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p2.h new file mode 100644 index 00000000..c50fa586 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p2.h @@ -0,0 +1,430 @@ +// 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_DestructibleActorParam_0p2_h +#define HEADER_DestructibleActorParam_0p2_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleActorParam_0p2NS +{ + +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct DestructibleParameters_Type; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool TAKE_IMPACT_DAMAGE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool ASSET_DEFINED_SUPPORT; + bool WORLD_SUPPORT; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct DestructibleParameters_Type +{ + float damageThreshold; + float damageToRadius; + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + float materialStrength; + float damageToPercentDeformation; + float deformationPercentLimit; + uint32_t formExtendedStructures; + uint32_t supportDepth; + uint32_t minimumFractureDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + float massScaleExponent; + DestructibleParametersFlag_Type flags; + float grbVolumeLimit; + float grbParticleSpacing; + float fractureImpulseScale; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + NvParameterized::DummyStringStruct crumbleEmitterName; + NvParameterized::DummyStringStruct dustEmitterName; + float globalPose[12]; + physx::PxVec3 scale; + bool dynamic; + bool renderStaticChunksSeparately; + STRING_DynamicArray1D_Type overrideSkinnedMaterialNames; + STRING_DynamicArray1D_Type overrideStaticMaterialNames; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + ShapeDescTemplate_Type shapeDescTemplate; + ActorDescTemplate_Type actorDescTemplate; + BodyDescTemplate_Type bodyDescTemplate; + +}; + +static const uint32_t checksum[] = { 0x6c437fe3, 0x3032d3f2, 0xf24de685, 0x6c9d9517, }; + +} // namespace DestructibleActorParam_0p2NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleActorParam_0p2 : public NvParameterized::NvParameters, public DestructibleActorParam_0p2NS::ParametersStruct +{ +public: + DestructibleActorParam_0p2(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleActorParam_0p2(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleActorParam"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)2; + + 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(DestructibleActorParam_0p2NS::checksum); + return DestructibleActorParam_0p2NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleActorParam_0p2NS::ParametersStruct& parameters(void) const + { + DestructibleActorParam_0p2* tmpThis = const_cast<DestructibleActorParam_0p2*>(this); + return *(static_cast<DestructibleActorParam_0p2NS::ParametersStruct*>(tmpThis)); + } + + DestructibleActorParam_0p2NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleActorParam_0p2NS::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 DestructibleActorParam_0p2Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleActorParam_0p2::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p2), DestructibleActorParam_0p2::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p2::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p2"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleActorParam_0p2)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p2)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p2::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p2::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p2"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleActorParam_0p2 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 (DestructibleActorParam_0p2*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleActorParam_0p2::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleActorParam_0p2::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleActorParam_0p2::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleActorParam_0p2::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p20.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p20.h new file mode 100644 index 00000000..9a4afbf0 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p20.h @@ -0,0 +1,563 @@ +// This code contains NVIDIA Confidential Information and is disclosed to you +// under a form of NVIDIA software license agreement provided separately to you. +// +// Notice +// NVIDIA Corporation and its licensors retain all intellectual property and +// proprietary rights in and to this software and related documentation and +// any modifications thereto. Any use, reproduction, disclosure, or +// distribution of this software and related documentation without an express +// license agreement from NVIDIA Corporation is strictly prohibited. +// +// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES +// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO +// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT, +// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE. +// +// Information and code furnished is believed to be accurate and reliable. +// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such +// information or for any infringement of patents or other rights of third parties that may +// result from its use. No license is granted by implication or otherwise under any patent +// or patent rights of NVIDIA Corporation. Details are subject to change without notice. +// This code supersedes and replaces all information previously supplied. +// NVIDIA Corporation products are not authorized for use as critical +// components in life support devices or systems without express written approval of +// NVIDIA Corporation. +// +// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved. + +// This file was generated by NvParameterized/scripts/GenParameterized.pl + + +#ifndef HEADER_DestructibleActorParam_0p20_h +#define HEADER_DestructibleActorParam_0p20_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleActorParam_0p20NS +{ + +struct P3FilterData_Type; +struct P3ShapeFlags_Type; +struct P3PairFlag_Type; +struct P3ShapeDescTemplate_Type; +struct P3ActorFlags_Type; +struct P3ActorDescTemplate_Type; +struct P3BodyDescFlags_Type; +struct P3BodyDescTemplate_Type; +struct StructureSettings_Type; +struct BehaviorGroup_Type; +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct DestructibleParameters_Type; +struct DamageSpreadFunction_Type; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct BehaviorGroup_DynamicArray1D_Type +{ + BehaviorGroup_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct P3BodyDescFlags_Type +{ + bool eKINEMATIC; + bool eENABLE_CCD; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; + bool CRUMBLE_VIA_RUNTIME_FRACTURE; +}; +struct P3FilterData_Type +{ + uint32_t word0; + uint32_t word1; + uint32_t word2; + uint32_t word3; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct StructureSettings_Type +{ + bool useStressSolver; + float stressSolverTimeDelay; + float stressSolverMassThreshold; +}; +struct DestructibleParameters_Type +{ + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + float debrisDestructionProbability; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t damageDepthLimit; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; +}; +struct DamageSpreadFunction_Type +{ + float minimumRadius; + float radiusMultiplier; + float falloffExponent; +}; +struct BehaviorGroup_Type +{ + NvParameterized::DummyStringStruct name; + float damageThreshold; + float damageToRadius; + DamageSpreadFunction_Type damageSpread; + DamageSpreadFunction_Type damageColorSpread; + physx::PxVec4 damageColorChange; + float materialStrength; + float density; + float fadeOut; + GroupsMask_Type groupsMask; + uint64_t userData; +}; +struct P3ShapeFlags_Type +{ + bool eSIMULATION_SHAPE; + bool eSCENE_QUERY_SHAPE; + bool eTRIGGER_SHAPE; + bool eVISUALIZATION; + bool ePARTICLE_DRAIN; + bool eDEFORMABLE_DRAIN; +}; +struct P3ShapeDescTemplate_Type +{ + P3ShapeFlags_Type flags; + P3FilterData_Type simulationFilterData; + P3FilterData_Type queryFilterData; + uint64_t material; + float contactOffset; + float restOffset; + uint64_t userData; + uint64_t name; +}; +struct P3ActorFlags_Type +{ + bool eVISUALIZATION; + bool eDISABLE_GRAVITY; + bool eSEND_SLEEP_NOTIFIES; +}; +struct P3BodyDescTemplate_Type +{ + float density; + P3BodyDescFlags_Type flags; + float sleepThreshold; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + uint32_t solverIterationCount; + float contactReportThreshold; + float sleepLinearVelocity; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct P3PairFlag_Type +{ + bool eRESOLVE_CONTACTS; + bool eMODIFY_CONTACTS; + bool eNOTIFY_TOUCH_FOUND; + bool eNOTIFY_TOUCH_PERSISTS; + bool eNOTIFY_TOUCH_LOST; + bool eNOTIFY_THRESHOLD_FORCE_FOUND; + bool eNOTIFY_THRESHOLD_FORCE_PERSISTS; + bool eNOTIFY_THRESHOLD_FORCE_LOST; + bool eNOTIFY_CONTACT_POINTS; + bool eNOTIFY_CONTACT_FORCES; + bool eNOTIFY_CONTACT_FORCE_PER_POINT; + bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT; + bool eCCD_LINEAR; + bool eCONTACT_DEFAULT; + bool eTRIGGER_DEFAULT; +}; +struct P3ActorDescTemplate_Type +{ + P3ActorFlags_Type flags; + uint8_t dominanceGroup; + uint8_t ownerClient; + uint32_t clientBehaviorBits; + P3PairFlag_Type contactReportFlags; + uint64_t userData; + uint64_t name; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + NvParameterized::DummyStringStruct crumbleEmitterName; + float crumbleParticleSpacing; + NvParameterized::DummyStringStruct dustEmitterName; + float dustParticleSpacing; + float globalPose[12]; + physx::PxVec3 scale; + bool dynamic; + uint32_t supportDepth; + bool formExtendedStructures; + bool keepPreviousFrameBoneBuffer; + bool useAssetDefinedSupport; + bool useWorldSupport; + bool renderStaticChunksSeparately; + bool createChunkEvents; + STRING_DynamicArray1D_Type overrideSkinnedMaterialNames; + STRING_DynamicArray1D_Type overrideStaticMaterialNames; + float sleepVelocityFrameDecayConstant; + bool useHardSleeping; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + ShapeDescTemplate_Type shapeDescTemplate; + ActorDescTemplate_Type actorDescTemplate; + BodyDescTemplate_Type bodyDescTemplate; + P3ShapeDescTemplate_Type p3ShapeDescTemplate; + P3ActorDescTemplate_Type p3ActorDescTemplate; + P3BodyDescTemplate_Type p3BodyDescTemplate; + StructureSettings_Type structureSettings; + BehaviorGroup_Type defaultBehaviorGroup; + BehaviorGroup_DynamicArray1D_Type behaviorGroups; + +}; + +static const uint32_t checksum[] = { 0x4228a956, 0x3268533a, 0x5de01909, 0x8c2fbe43, }; + +} // namespace DestructibleActorParam_0p20NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleActorParam_0p20 : public NvParameterized::NvParameters, public DestructibleActorParam_0p20NS::ParametersStruct +{ +public: + DestructibleActorParam_0p20(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleActorParam_0p20(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleActorParam"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)20; + + 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(DestructibleActorParam_0p20NS::checksum); + return DestructibleActorParam_0p20NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleActorParam_0p20NS::ParametersStruct& parameters(void) const + { + DestructibleActorParam_0p20* tmpThis = const_cast<DestructibleActorParam_0p20*>(this); + return *(static_cast<DestructibleActorParam_0p20NS::ParametersStruct*>(tmpThis)); + } + + DestructibleActorParam_0p20NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleActorParam_0p20NS::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 DestructibleActorParam_0p20Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleActorParam_0p20::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p20), DestructibleActorParam_0p20::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p20::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p20"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleActorParam_0p20)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p20)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p20::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p20::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p20"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleActorParam_0p20 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 (DestructibleActorParam_0p20*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleActorParam_0p20::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleActorParam_0p20::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleActorParam_0p20::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleActorParam_0p20::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p21.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p21.h new file mode 100644 index 00000000..dd95fc17 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p21.h @@ -0,0 +1,594 @@ +// 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_DestructibleActorParam_0p21_h +#define HEADER_DestructibleActorParam_0p21_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleActorParam_0p21NS +{ + +struct P3FilterData_Type; +struct P3ShapeFlags_Type; +struct P3PairFlag_Type; +struct P3ShapeDescTemplate_Type; +struct P3ActorFlags_Type; +struct P3ActorDescTemplate_Type; +struct P3BodyDescFlags_Type; +struct P3BodyDescTemplate_Type; +struct StructureSettings_Type; +struct BehaviorGroup_Type; +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct FractureGlass_Type; +struct FractureAttachment_Type; +struct RuntimeFracture_Type; +struct DestructibleParameters_Type; +struct DamageSpreadFunction_Type; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct BehaviorGroup_DynamicArray1D_Type +{ + BehaviorGroup_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct P3BodyDescFlags_Type +{ + bool eKINEMATIC; + bool eENABLE_CCD; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; + bool CRUMBLE_VIA_RUNTIME_FRACTURE; +}; +struct P3FilterData_Type +{ + uint32_t word0; + uint32_t word1; + uint32_t word2; + uint32_t word3; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct StructureSettings_Type +{ + bool useStressSolver; + float stressSolverTimeDelay; + float stressSolverMassThreshold; +}; +struct FractureGlass_Type +{ + uint32_t numSectors; + float sectorRand; + float firstSegmentSize; + float segmentScale; + float segmentRand; +}; +struct DamageSpreadFunction_Type +{ + float minimumRadius; + float radiusMultiplier; + float falloffExponent; +}; +struct BehaviorGroup_Type +{ + NvParameterized::DummyStringStruct name; + float damageThreshold; + float damageToRadius; + DamageSpreadFunction_Type damageSpread; + DamageSpreadFunction_Type damageColorSpread; + physx::PxVec4 damageColorChange; + float materialStrength; + float density; + float fadeOut; + GroupsMask_Type groupsMask; + uint64_t userData; +}; +struct P3ShapeFlags_Type +{ + bool eSIMULATION_SHAPE; + bool eSCENE_QUERY_SHAPE; + bool eTRIGGER_SHAPE; + bool eVISUALIZATION; + bool ePARTICLE_DRAIN; + bool eDEFORMABLE_DRAIN; +}; +struct P3ShapeDescTemplate_Type +{ + P3ShapeFlags_Type flags; + P3FilterData_Type simulationFilterData; + P3FilterData_Type queryFilterData; + uint64_t material; + float contactOffset; + float restOffset; + uint64_t userData; + uint64_t name; +}; +struct P3ActorFlags_Type +{ + bool eVISUALIZATION; + bool eDISABLE_GRAVITY; + bool eSEND_SLEEP_NOTIFIES; +}; +struct P3BodyDescTemplate_Type +{ + float density; + P3BodyDescFlags_Type flags; + float sleepThreshold; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + uint32_t solverIterationCount; + float contactReportThreshold; + float sleepLinearVelocity; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct FractureAttachment_Type +{ + bool posX; + bool negX; + bool posY; + bool negY; + bool posZ; + bool negZ; +}; +struct RuntimeFracture_Type +{ + bool sheetFracture; + uint32_t depthLimit; + bool destroyIfAtDepthLimit; + float minConvexSize; + float impulseScale; + FractureGlass_Type glass; + FractureAttachment_Type attachment; +}; +struct DestructibleParameters_Type +{ + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + float debrisDestructionProbability; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t damageDepthLimit; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; + RuntimeFracture_Type runtimeFracture; +}; +struct P3PairFlag_Type +{ + bool eRESOLVE_CONTACTS; + bool eMODIFY_CONTACTS; + bool eNOTIFY_TOUCH_FOUND; + bool eNOTIFY_TOUCH_PERSISTS; + bool eNOTIFY_TOUCH_LOST; + bool eNOTIFY_THRESHOLD_FORCE_FOUND; + bool eNOTIFY_THRESHOLD_FORCE_PERSISTS; + bool eNOTIFY_THRESHOLD_FORCE_LOST; + bool eNOTIFY_CONTACT_POINTS; + bool eNOTIFY_CONTACT_FORCES; + bool eNOTIFY_CONTACT_FORCE_PER_POINT; + bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT; + bool eCCD_LINEAR; + bool eCONTACT_DEFAULT; + bool eTRIGGER_DEFAULT; +}; +struct P3ActorDescTemplate_Type +{ + P3ActorFlags_Type flags; + uint8_t dominanceGroup; + uint8_t ownerClient; + uint32_t clientBehaviorBits; + P3PairFlag_Type contactReportFlags; + uint64_t userData; + uint64_t name; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + NvParameterized::DummyStringStruct crumbleEmitterName; + float crumbleParticleSpacing; + NvParameterized::DummyStringStruct dustEmitterName; + float dustParticleSpacing; + float globalPose[12]; + physx::PxVec3 scale; + bool dynamic; + uint32_t supportDepth; + bool formExtendedStructures; + bool keepPreviousFrameBoneBuffer; + bool useAssetDefinedSupport; + bool useWorldSupport; + bool renderStaticChunksSeparately; + bool createChunkEvents; + STRING_DynamicArray1D_Type overrideSkinnedMaterialNames; + STRING_DynamicArray1D_Type overrideStaticMaterialNames; + float sleepVelocityFrameDecayConstant; + bool useHardSleeping; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + ShapeDescTemplate_Type shapeDescTemplate; + ActorDescTemplate_Type actorDescTemplate; + BodyDescTemplate_Type bodyDescTemplate; + P3ShapeDescTemplate_Type p3ShapeDescTemplate; + P3ActorDescTemplate_Type p3ActorDescTemplate; + P3BodyDescTemplate_Type p3BodyDescTemplate; + StructureSettings_Type structureSettings; + BehaviorGroup_Type defaultBehaviorGroup; + BehaviorGroup_DynamicArray1D_Type behaviorGroups; + +}; + +static const uint32_t checksum[] = { 0xb123fb7a, 0xec9ad0ae, 0x50f992cf, 0xb7c21c7e, }; + +} // namespace DestructibleActorParam_0p21NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleActorParam_0p21 : public NvParameterized::NvParameters, public DestructibleActorParam_0p21NS::ParametersStruct +{ +public: + DestructibleActorParam_0p21(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleActorParam_0p21(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleActorParam"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)21; + + 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(DestructibleActorParam_0p21NS::checksum); + return DestructibleActorParam_0p21NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleActorParam_0p21NS::ParametersStruct& parameters(void) const + { + DestructibleActorParam_0p21* tmpThis = const_cast<DestructibleActorParam_0p21*>(this); + return *(static_cast<DestructibleActorParam_0p21NS::ParametersStruct*>(tmpThis)); + } + + DestructibleActorParam_0p21NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleActorParam_0p21NS::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 DestructibleActorParam_0p21Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleActorParam_0p21::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p21), DestructibleActorParam_0p21::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p21::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p21"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleActorParam_0p21)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p21)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p21::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p21::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p21"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleActorParam_0p21 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 (DestructibleActorParam_0p21*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleActorParam_0p21::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleActorParam_0p21::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleActorParam_0p21::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleActorParam_0p21::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p22.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p22.h new file mode 100644 index 00000000..aec8634e --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p22.h @@ -0,0 +1,595 @@ +// 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_DestructibleActorParam_0p22_h +#define HEADER_DestructibleActorParam_0p22_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleActorParam_0p22NS +{ + +struct P3FilterData_Type; +struct P3ShapeFlags_Type; +struct P3PairFlag_Type; +struct P3ShapeDescTemplate_Type; +struct P3ActorFlags_Type; +struct P3ActorDescTemplate_Type; +struct P3BodyDescFlags_Type; +struct P3BodyDescTemplate_Type; +struct StructureSettings_Type; +struct BehaviorGroup_Type; +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct FractureGlass_Type; +struct FractureAttachment_Type; +struct RuntimeFracture_Type; +struct DestructibleParameters_Type; +struct DamageSpreadFunction_Type; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct BehaviorGroup_DynamicArray1D_Type +{ + BehaviorGroup_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct P3BodyDescFlags_Type +{ + bool eKINEMATIC; + bool eENABLE_CCD; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; + bool CRUMBLE_VIA_RUNTIME_FRACTURE; +}; +struct P3FilterData_Type +{ + uint32_t word0; + uint32_t word1; + uint32_t word2; + uint32_t word3; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct StructureSettings_Type +{ + bool useStressSolver; + float stressSolverTimeDelay; + float stressSolverMassThreshold; +}; +struct FractureGlass_Type +{ + uint32_t numSectors; + float sectorRand; + float firstSegmentSize; + float segmentScale; + float segmentRand; +}; +struct DamageSpreadFunction_Type +{ + float minimumRadius; + float radiusMultiplier; + float falloffExponent; +}; +struct BehaviorGroup_Type +{ + NvParameterized::DummyStringStruct name; + float damageThreshold; + float damageToRadius; + DamageSpreadFunction_Type damageSpread; + DamageSpreadFunction_Type damageColorSpread; + physx::PxVec4 damageColorChange; + float materialStrength; + float density; + float fadeOut; + GroupsMask_Type groupsMask; + uint64_t userData; +}; +struct P3ShapeFlags_Type +{ + bool eSIMULATION_SHAPE; + bool eSCENE_QUERY_SHAPE; + bool eTRIGGER_SHAPE; + bool eVISUALIZATION; + bool ePARTICLE_DRAIN; + bool eDEFORMABLE_DRAIN; +}; +struct P3ShapeDescTemplate_Type +{ + P3ShapeFlags_Type flags; + P3FilterData_Type simulationFilterData; + P3FilterData_Type queryFilterData; + uint64_t material; + float contactOffset; + float restOffset; + uint64_t userData; + uint64_t name; +}; +struct P3ActorFlags_Type +{ + bool eVISUALIZATION; + bool eDISABLE_GRAVITY; + bool eSEND_SLEEP_NOTIFIES; +}; +struct P3BodyDescTemplate_Type +{ + float density; + P3BodyDescFlags_Type flags; + float sleepThreshold; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + uint32_t solverIterationCount; + float contactReportThreshold; + float sleepLinearVelocity; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct FractureAttachment_Type +{ + bool posX; + bool negX; + bool posY; + bool negY; + bool posZ; + bool negZ; +}; +struct RuntimeFracture_Type +{ + bool sheetFracture; + uint32_t depthLimit; + bool destroyIfAtDepthLimit; + float minConvexSize; + float impulseScale; + FractureGlass_Type glass; + FractureAttachment_Type attachment; +}; +struct DestructibleParameters_Type +{ + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + float debrisDestructionProbability; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t damageDepthLimit; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; + RuntimeFracture_Type runtimeFracture; + float supportStrength; +}; +struct P3PairFlag_Type +{ + bool eRESOLVE_CONTACTS; + bool eMODIFY_CONTACTS; + bool eNOTIFY_TOUCH_FOUND; + bool eNOTIFY_TOUCH_PERSISTS; + bool eNOTIFY_TOUCH_LOST; + bool eNOTIFY_THRESHOLD_FORCE_FOUND; + bool eNOTIFY_THRESHOLD_FORCE_PERSISTS; + bool eNOTIFY_THRESHOLD_FORCE_LOST; + bool eNOTIFY_CONTACT_POINTS; + bool eNOTIFY_CONTACT_FORCES; + bool eNOTIFY_CONTACT_FORCE_PER_POINT; + bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT; + bool eCCD_LINEAR; + bool eCONTACT_DEFAULT; + bool eTRIGGER_DEFAULT; +}; +struct P3ActorDescTemplate_Type +{ + P3ActorFlags_Type flags; + uint8_t dominanceGroup; + uint8_t ownerClient; + uint32_t clientBehaviorBits; + P3PairFlag_Type contactReportFlags; + uint64_t userData; + uint64_t name; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + NvParameterized::DummyStringStruct crumbleEmitterName; + float crumbleParticleSpacing; + NvParameterized::DummyStringStruct dustEmitterName; + float dustParticleSpacing; + float globalPose[12]; + physx::PxVec3 scale; + bool dynamic; + uint32_t supportDepth; + bool formExtendedStructures; + bool keepPreviousFrameBoneBuffer; + bool useAssetDefinedSupport; + bool useWorldSupport; + bool renderStaticChunksSeparately; + bool createChunkEvents; + STRING_DynamicArray1D_Type overrideSkinnedMaterialNames; + STRING_DynamicArray1D_Type overrideStaticMaterialNames; + float sleepVelocityFrameDecayConstant; + bool useHardSleeping; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + ShapeDescTemplate_Type shapeDescTemplate; + ActorDescTemplate_Type actorDescTemplate; + BodyDescTemplate_Type bodyDescTemplate; + P3ShapeDescTemplate_Type p3ShapeDescTemplate; + P3ActorDescTemplate_Type p3ActorDescTemplate; + P3BodyDescTemplate_Type p3BodyDescTemplate; + StructureSettings_Type structureSettings; + BehaviorGroup_Type defaultBehaviorGroup; + BehaviorGroup_DynamicArray1D_Type behaviorGroups; + +}; + +static const uint32_t checksum[] = { 0x5d2a8218, 0x162303c2, 0x230965d3, 0x8f4a9ad3, }; + +} // namespace DestructibleActorParam_0p22NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleActorParam_0p22 : public NvParameterized::NvParameters, public DestructibleActorParam_0p22NS::ParametersStruct +{ +public: + DestructibleActorParam_0p22(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleActorParam_0p22(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleActorParam"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)22; + + 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(DestructibleActorParam_0p22NS::checksum); + return DestructibleActorParam_0p22NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleActorParam_0p22NS::ParametersStruct& parameters(void) const + { + DestructibleActorParam_0p22* tmpThis = const_cast<DestructibleActorParam_0p22*>(this); + return *(static_cast<DestructibleActorParam_0p22NS::ParametersStruct*>(tmpThis)); + } + + DestructibleActorParam_0p22NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleActorParam_0p22NS::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 DestructibleActorParam_0p22Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleActorParam_0p22::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p22), DestructibleActorParam_0p22::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p22::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p22"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleActorParam_0p22)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p22)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p22::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p22::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p22"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleActorParam_0p22 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 (DestructibleActorParam_0p22*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleActorParam_0p22::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleActorParam_0p22::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleActorParam_0p22::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleActorParam_0p22::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p23.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p23.h new file mode 100644 index 00000000..118c6445 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p23.h @@ -0,0 +1,596 @@ +// 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_DestructibleActorParam_0p23_h +#define HEADER_DestructibleActorParam_0p23_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleActorParam_0p23NS +{ + +struct P3FilterData_Type; +struct P3ShapeFlags_Type; +struct P3PairFlag_Type; +struct P3ShapeDescTemplate_Type; +struct P3ActorFlags_Type; +struct P3ActorDescTemplate_Type; +struct P3BodyDescFlags_Type; +struct P3BodyDescTemplate_Type; +struct StructureSettings_Type; +struct BehaviorGroup_Type; +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct FractureGlass_Type; +struct FractureAttachment_Type; +struct RuntimeFracture_Type; +struct DestructibleParameters_Type; +struct DamageSpreadFunction_Type; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct BehaviorGroup_DynamicArray1D_Type +{ + BehaviorGroup_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct P3BodyDescFlags_Type +{ + bool eKINEMATIC; + bool eENABLE_CCD; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; + bool CRUMBLE_VIA_RUNTIME_FRACTURE; +}; +struct P3FilterData_Type +{ + uint32_t word0; + uint32_t word1; + uint32_t word2; + uint32_t word3; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct StructureSettings_Type +{ + bool useStressSolver; + float stressSolverTimeDelay; + float stressSolverMassThreshold; +}; +struct FractureGlass_Type +{ + uint32_t numSectors; + float sectorRand; + float firstSegmentSize; + float segmentScale; + float segmentRand; +}; +struct DamageSpreadFunction_Type +{ + float minimumRadius; + float radiusMultiplier; + float falloffExponent; +}; +struct BehaviorGroup_Type +{ + NvParameterized::DummyStringStruct name; + float damageThreshold; + float damageToRadius; + DamageSpreadFunction_Type damageSpread; + DamageSpreadFunction_Type damageColorSpread; + physx::PxVec4 damageColorChange; + float materialStrength; + float density; + float fadeOut; + GroupsMask_Type groupsMask; + uint64_t userData; +}; +struct P3ShapeFlags_Type +{ + bool eSIMULATION_SHAPE; + bool eSCENE_QUERY_SHAPE; + bool eTRIGGER_SHAPE; + bool eVISUALIZATION; + bool ePARTICLE_DRAIN; + bool eDEFORMABLE_DRAIN; +}; +struct P3ShapeDescTemplate_Type +{ + P3ShapeFlags_Type flags; + P3FilterData_Type simulationFilterData; + P3FilterData_Type queryFilterData; + uint64_t material; + float contactOffset; + float restOffset; + uint64_t userData; + uint64_t name; +}; +struct P3ActorFlags_Type +{ + bool eVISUALIZATION; + bool eDISABLE_GRAVITY; + bool eSEND_SLEEP_NOTIFIES; +}; +struct P3BodyDescTemplate_Type +{ + float density; + P3BodyDescFlags_Type flags; + float sleepThreshold; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + uint32_t solverIterationCount; + float contactReportThreshold; + float sleepLinearVelocity; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct FractureAttachment_Type +{ + bool posX; + bool negX; + bool posY; + bool negY; + bool posZ; + bool negZ; +}; +struct RuntimeFracture_Type +{ + bool sheetFracture; + uint32_t depthLimit; + bool destroyIfAtDepthLimit; + float minConvexSize; + float impulseScale; + FractureGlass_Type glass; + FractureAttachment_Type attachment; +}; +struct DestructibleParameters_Type +{ + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + float debrisDestructionProbability; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t damageDepthLimit; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; + RuntimeFracture_Type runtimeFracture; + float supportStrength; +}; +struct P3PairFlag_Type +{ + bool eRESOLVE_CONTACTS; + bool eMODIFY_CONTACTS; + bool eNOTIFY_TOUCH_FOUND; + bool eNOTIFY_TOUCH_PERSISTS; + bool eNOTIFY_TOUCH_LOST; + bool eNOTIFY_THRESHOLD_FORCE_FOUND; + bool eNOTIFY_THRESHOLD_FORCE_PERSISTS; + bool eNOTIFY_THRESHOLD_FORCE_LOST; + bool eNOTIFY_CONTACT_POINTS; + bool eNOTIFY_CONTACT_FORCES; + bool eNOTIFY_CONTACT_FORCE_PER_POINT; + bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT; + bool eCCD_LINEAR; + bool eCONTACT_DEFAULT; + bool eTRIGGER_DEFAULT; +}; +struct P3ActorDescTemplate_Type +{ + P3ActorFlags_Type flags; + uint8_t dominanceGroup; + uint8_t ownerClient; + uint32_t clientBehaviorBits; + P3PairFlag_Type contactReportFlags; + uint64_t userData; + uint64_t name; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + NvParameterized::DummyStringStruct crumbleEmitterName; + float crumbleParticleSpacing; + NvParameterized::DummyStringStruct dustEmitterName; + float dustParticleSpacing; + float globalPose[12]; + physx::PxVec3 scale; + bool dynamic; + uint32_t supportDepth; + bool formExtendedStructures; + bool keepPreviousFrameBoneBuffer; + bool doNotCreateRenderable; + bool useAssetDefinedSupport; + bool useWorldSupport; + bool renderStaticChunksSeparately; + bool createChunkEvents; + STRING_DynamicArray1D_Type overrideSkinnedMaterialNames; + STRING_DynamicArray1D_Type overrideStaticMaterialNames; + float sleepVelocityFrameDecayConstant; + bool useHardSleeping; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + ShapeDescTemplate_Type shapeDescTemplate; + ActorDescTemplate_Type actorDescTemplate; + BodyDescTemplate_Type bodyDescTemplate; + P3ShapeDescTemplate_Type p3ShapeDescTemplate; + P3ActorDescTemplate_Type p3ActorDescTemplate; + P3BodyDescTemplate_Type p3BodyDescTemplate; + StructureSettings_Type structureSettings; + BehaviorGroup_Type defaultBehaviorGroup; + BehaviorGroup_DynamicArray1D_Type behaviorGroups; + +}; + +static const uint32_t checksum[] = { 0x9dac7baf, 0x68d5975c, 0xd197f8d7, 0x1c865fe2, }; + +} // namespace DestructibleActorParam_0p23NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleActorParam_0p23 : public NvParameterized::NvParameters, public DestructibleActorParam_0p23NS::ParametersStruct +{ +public: + DestructibleActorParam_0p23(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleActorParam_0p23(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleActorParam"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)23; + + 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(DestructibleActorParam_0p23NS::checksum); + return DestructibleActorParam_0p23NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleActorParam_0p23NS::ParametersStruct& parameters(void) const + { + DestructibleActorParam_0p23* tmpThis = const_cast<DestructibleActorParam_0p23*>(this); + return *(static_cast<DestructibleActorParam_0p23NS::ParametersStruct*>(tmpThis)); + } + + DestructibleActorParam_0p23NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleActorParam_0p23NS::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 DestructibleActorParam_0p23Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleActorParam_0p23::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p23), DestructibleActorParam_0p23::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p23::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p23"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleActorParam_0p23)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p23)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p23::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p23::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p23"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleActorParam_0p23 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 (DestructibleActorParam_0p23*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleActorParam_0p23::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleActorParam_0p23::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleActorParam_0p23::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleActorParam_0p23::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p24.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p24.h new file mode 100644 index 00000000..1e8915b2 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p24.h @@ -0,0 +1,597 @@ +// 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_DestructibleActorParam_0p24_h +#define HEADER_DestructibleActorParam_0p24_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleActorParam_0p24NS +{ + +struct P3FilterData_Type; +struct P3ShapeFlags_Type; +struct P3PairFlag_Type; +struct P3ShapeDescTemplate_Type; +struct P3ActorFlags_Type; +struct P3ActorDescTemplate_Type; +struct P3BodyDescFlags_Type; +struct P3BodyDescTemplate_Type; +struct StructureSettings_Type; +struct BehaviorGroup_Type; +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct FractureGlass_Type; +struct FractureAttachment_Type; +struct RuntimeFracture_Type; +struct DestructibleParameters_Type; +struct DamageSpreadFunction_Type; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct BehaviorGroup_DynamicArray1D_Type +{ + BehaviorGroup_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct P3BodyDescFlags_Type +{ + bool eKINEMATIC; + bool eENABLE_CCD; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; + bool CRUMBLE_VIA_RUNTIME_FRACTURE; +}; +struct P3FilterData_Type +{ + uint32_t word0; + uint32_t word1; + uint32_t word2; + uint32_t word3; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct StructureSettings_Type +{ + bool useStressSolver; + float stressSolverTimeDelay; + float stressSolverMassThreshold; +}; +struct FractureGlass_Type +{ + uint32_t numSectors; + float sectorRand; + float firstSegmentSize; + float segmentScale; + float segmentRand; +}; +struct DamageSpreadFunction_Type +{ + float minimumRadius; + float radiusMultiplier; + float falloffExponent; +}; +struct BehaviorGroup_Type +{ + NvParameterized::DummyStringStruct name; + float damageThreshold; + float damageToRadius; + DamageSpreadFunction_Type damageSpread; + DamageSpreadFunction_Type damageColorSpread; + physx::PxVec4 damageColorChange; + float materialStrength; + float density; + float fadeOut; + GroupsMask_Type groupsMask; + uint64_t userData; +}; +struct P3ShapeFlags_Type +{ + bool eSIMULATION_SHAPE; + bool eSCENE_QUERY_SHAPE; + bool eTRIGGER_SHAPE; + bool eVISUALIZATION; + bool ePARTICLE_DRAIN; + bool eDEFORMABLE_DRAIN; +}; +struct P3ShapeDescTemplate_Type +{ + P3ShapeFlags_Type flags; + P3FilterData_Type simulationFilterData; + P3FilterData_Type queryFilterData; + uint64_t material; + float contactOffset; + float restOffset; + uint64_t userData; + uint64_t name; +}; +struct P3ActorFlags_Type +{ + bool eVISUALIZATION; + bool eDISABLE_GRAVITY; + bool eSEND_SLEEP_NOTIFIES; +}; +struct P3BodyDescTemplate_Type +{ + float density; + P3BodyDescFlags_Type flags; + float sleepThreshold; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + uint32_t solverIterationCount; + float contactReportThreshold; + float sleepLinearVelocity; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct FractureAttachment_Type +{ + bool posX; + bool negX; + bool posY; + bool negY; + bool posZ; + bool negZ; +}; +struct RuntimeFracture_Type +{ + bool sheetFracture; + uint32_t depthLimit; + bool destroyIfAtDepthLimit; + float minConvexSize; + float impulseScale; + FractureGlass_Type glass; + FractureAttachment_Type attachment; +}; +struct DestructibleParameters_Type +{ + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + float debrisDestructionProbability; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t damageDepthLimit; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; + RuntimeFracture_Type runtimeFracture; + float supportStrength; +}; +struct P3PairFlag_Type +{ + bool eRESOLVE_CONTACTS; + bool eMODIFY_CONTACTS; + bool eNOTIFY_TOUCH_FOUND; + bool eNOTIFY_TOUCH_PERSISTS; + bool eNOTIFY_TOUCH_LOST; + bool eNOTIFY_THRESHOLD_FORCE_FOUND; + bool eNOTIFY_THRESHOLD_FORCE_PERSISTS; + bool eNOTIFY_THRESHOLD_FORCE_LOST; + bool eNOTIFY_CONTACT_POINTS; + bool eNOTIFY_CONTACT_FORCES; + bool eNOTIFY_CONTACT_FORCE_PER_POINT; + bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT; + bool eCCD_LINEAR; + bool eCONTACT_DEFAULT; + bool eTRIGGER_DEFAULT; +}; +struct P3ActorDescTemplate_Type +{ + P3ActorFlags_Type flags; + uint8_t dominanceGroup; + uint8_t ownerClient; + uint32_t clientBehaviorBits; + P3PairFlag_Type contactReportFlags; + uint64_t userData; + uint64_t name; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + NvParameterized::DummyStringStruct crumbleEmitterName; + float crumbleParticleSpacing; + NvParameterized::DummyStringStruct dustEmitterName; + float dustParticleSpacing; + float globalPose[12]; + physx::PxVec3 scale; + bool dynamic; + uint32_t supportDepth; + bool formExtendedStructures; + bool keepPreviousFrameBoneBuffer; + bool doNotCreateRenderable; + bool useAssetDefinedSupport; + bool useWorldSupport; + bool renderStaticChunksSeparately; + bool keepVisibleBonesPacked; + bool createChunkEvents; + STRING_DynamicArray1D_Type overrideSkinnedMaterialNames; + STRING_DynamicArray1D_Type overrideStaticMaterialNames; + float sleepVelocityFrameDecayConstant; + bool useHardSleeping; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + ShapeDescTemplate_Type shapeDescTemplate; + ActorDescTemplate_Type actorDescTemplate; + BodyDescTemplate_Type bodyDescTemplate; + P3ShapeDescTemplate_Type p3ShapeDescTemplate; + P3ActorDescTemplate_Type p3ActorDescTemplate; + P3BodyDescTemplate_Type p3BodyDescTemplate; + StructureSettings_Type structureSettings; + BehaviorGroup_Type defaultBehaviorGroup; + BehaviorGroup_DynamicArray1D_Type behaviorGroups; + +}; + +static const uint32_t checksum[] = { 0x12f03764, 0x6a055959, 0xdb7782c7, 0xd6f432b2, }; + +} // namespace DestructibleActorParam_0p24NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleActorParam_0p24 : public NvParameterized::NvParameters, public DestructibleActorParam_0p24NS::ParametersStruct +{ +public: + DestructibleActorParam_0p24(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleActorParam_0p24(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleActorParam"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)24; + + 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(DestructibleActorParam_0p24NS::checksum); + return DestructibleActorParam_0p24NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleActorParam_0p24NS::ParametersStruct& parameters(void) const + { + DestructibleActorParam_0p24* tmpThis = const_cast<DestructibleActorParam_0p24*>(this); + return *(static_cast<DestructibleActorParam_0p24NS::ParametersStruct*>(tmpThis)); + } + + DestructibleActorParam_0p24NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleActorParam_0p24NS::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 DestructibleActorParam_0p24Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleActorParam_0p24::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p24), DestructibleActorParam_0p24::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p24::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p24"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleActorParam_0p24)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p24)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p24::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p24::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p24"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleActorParam_0p24 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 (DestructibleActorParam_0p24*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleActorParam_0p24::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleActorParam_0p24::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleActorParam_0p24::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleActorParam_0p24::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p25.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p25.h new file mode 100644 index 00000000..91702188 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p25.h @@ -0,0 +1,607 @@ +// 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_DestructibleActorParam_0p25_h +#define HEADER_DestructibleActorParam_0p25_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleActorParam_0p25NS +{ + +struct P3FilterData_Type; +struct P3ShapeFlags_Type; +struct P3PairFlag_Type; +struct P3ShapeDescTemplate_Type; +struct P3ActorFlags_Type; +struct P3ActorDescTemplate_Type; +struct P3BodyDescFlags_Type; +struct P3BodyDescTemplate_Type; +struct StructureSettings_Type; +struct BehaviorGroup_Type; +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct FractureGlass_Type; +struct FractureVoronoi_Type; +struct FractureAttachment_Type; +struct RuntimeFracture_Type; +struct DestructibleParameters_Type; +struct DamageSpreadFunction_Type; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct BehaviorGroup_DynamicArray1D_Type +{ + BehaviorGroup_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct P3BodyDescFlags_Type +{ + bool eKINEMATIC; + bool eENABLE_CCD; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; + bool CRUMBLE_VIA_RUNTIME_FRACTURE; +}; +struct P3FilterData_Type +{ + uint32_t word0; + uint32_t word1; + uint32_t word2; + uint32_t word3; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct StructureSettings_Type +{ + bool useStressSolver; + float stressSolverTimeDelay; + float stressSolverMassThreshold; +}; +struct FractureGlass_Type +{ + uint32_t numSectors; + float sectorRand; + float firstSegmentSize; + float segmentScale; + float segmentRand; +}; +struct DamageSpreadFunction_Type +{ + float minimumRadius; + float radiusMultiplier; + float falloffExponent; +}; +struct BehaviorGroup_Type +{ + NvParameterized::DummyStringStruct name; + float damageThreshold; + float damageToRadius; + DamageSpreadFunction_Type damageSpread; + DamageSpreadFunction_Type damageColorSpread; + physx::PxVec4 damageColorChange; + float materialStrength; + float density; + float fadeOut; + GroupsMask_Type groupsMask; + uint64_t userData; +}; +struct FractureVoronoi_Type +{ + physx::PxVec3 dimensions; + uint32_t numCells; + float biasExp; + float maxDist; +}; +struct P3ShapeFlags_Type +{ + bool eSIMULATION_SHAPE; + bool eSCENE_QUERY_SHAPE; + bool eTRIGGER_SHAPE; + bool eVISUALIZATION; + bool ePARTICLE_DRAIN; + bool eDEFORMABLE_DRAIN; +}; +struct P3ShapeDescTemplate_Type +{ + P3ShapeFlags_Type flags; + P3FilterData_Type simulationFilterData; + P3FilterData_Type queryFilterData; + uint64_t material; + float contactOffset; + float restOffset; + uint64_t userData; + uint64_t name; +}; +struct P3ActorFlags_Type +{ + bool eVISUALIZATION; + bool eDISABLE_GRAVITY; + bool eSEND_SLEEP_NOTIFIES; +}; +struct P3BodyDescTemplate_Type +{ + float density; + P3BodyDescFlags_Type flags; + float sleepThreshold; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + uint32_t solverIterationCount; + float contactReportThreshold; + float sleepLinearVelocity; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct FractureAttachment_Type +{ + bool posX; + bool negX; + bool posY; + bool negY; + bool posZ; + bool negZ; +}; +struct RuntimeFracture_Type +{ + const char* RuntimeFractureType; + bool sheetFracture; + uint32_t depthLimit; + bool destroyIfAtDepthLimit; + float minConvexSize; + float impulseScale; + FractureGlass_Type glass; + FractureVoronoi_Type voronoi; + FractureAttachment_Type attachment; +}; +struct DestructibleParameters_Type +{ + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + float debrisDestructionProbability; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t damageDepthLimit; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; + RuntimeFracture_Type runtimeFracture; + float supportStrength; +}; +struct P3PairFlag_Type +{ + bool eRESOLVE_CONTACTS; + bool eMODIFY_CONTACTS; + bool eNOTIFY_TOUCH_FOUND; + bool eNOTIFY_TOUCH_PERSISTS; + bool eNOTIFY_TOUCH_LOST; + bool eNOTIFY_THRESHOLD_FORCE_FOUND; + bool eNOTIFY_THRESHOLD_FORCE_PERSISTS; + bool eNOTIFY_THRESHOLD_FORCE_LOST; + bool eNOTIFY_CONTACT_POINTS; + bool eNOTIFY_CONTACT_FORCES; + bool eNOTIFY_CONTACT_FORCE_PER_POINT; + bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT; + bool eCCD_LINEAR; + bool eCONTACT_DEFAULT; + bool eTRIGGER_DEFAULT; +}; +struct P3ActorDescTemplate_Type +{ + P3ActorFlags_Type flags; + uint8_t dominanceGroup; + uint8_t ownerClient; + uint32_t clientBehaviorBits; + P3PairFlag_Type contactReportFlags; + uint64_t userData; + uint64_t name; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + NvParameterized::DummyStringStruct crumbleEmitterName; + float crumbleParticleSpacing; + NvParameterized::DummyStringStruct dustEmitterName; + float dustParticleSpacing; + float globalPose[12]; + physx::PxVec3 scale; + bool dynamic; + uint32_t supportDepth; + bool formExtendedStructures; + bool keepPreviousFrameBoneBuffer; + bool doNotCreateRenderable; + bool useAssetDefinedSupport; + bool useWorldSupport; + bool renderStaticChunksSeparately; + bool keepVisibleBonesPacked; + bool createChunkEvents; + STRING_DynamicArray1D_Type overrideSkinnedMaterialNames; + STRING_DynamicArray1D_Type overrideStaticMaterialNames; + float sleepVelocityFrameDecayConstant; + bool useHardSleeping; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + ShapeDescTemplate_Type shapeDescTemplate; + ActorDescTemplate_Type actorDescTemplate; + BodyDescTemplate_Type bodyDescTemplate; + P3ShapeDescTemplate_Type p3ShapeDescTemplate; + P3ActorDescTemplate_Type p3ActorDescTemplate; + P3BodyDescTemplate_Type p3BodyDescTemplate; + StructureSettings_Type structureSettings; + BehaviorGroup_Type defaultBehaviorGroup; + BehaviorGroup_DynamicArray1D_Type behaviorGroups; + +}; + +static const uint32_t checksum[] = { 0xd9bc5e44, 0x46845bcb, 0x9290fe16, 0x5b7dbd03, }; + +} // namespace DestructibleActorParam_0p25NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleActorParam_0p25 : public NvParameterized::NvParameters, public DestructibleActorParam_0p25NS::ParametersStruct +{ +public: + DestructibleActorParam_0p25(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleActorParam_0p25(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleActorParam"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)25; + + 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(DestructibleActorParam_0p25NS::checksum); + return DestructibleActorParam_0p25NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleActorParam_0p25NS::ParametersStruct& parameters(void) const + { + DestructibleActorParam_0p25* tmpThis = const_cast<DestructibleActorParam_0p25*>(this); + return *(static_cast<DestructibleActorParam_0p25NS::ParametersStruct*>(tmpThis)); + } + + DestructibleActorParam_0p25NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleActorParam_0p25NS::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 DestructibleActorParam_0p25Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleActorParam_0p25::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p25), DestructibleActorParam_0p25::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p25::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p25"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleActorParam_0p25)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p25)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p25::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p25::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p25"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleActorParam_0p25 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 (DestructibleActorParam_0p25*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleActorParam_0p25::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleActorParam_0p25::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleActorParam_0p25::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleActorParam_0p25::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p26.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p26.h new file mode 100644 index 00000000..1f109018 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p26.h @@ -0,0 +1,608 @@ +// 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_DestructibleActorParam_0p26_h +#define HEADER_DestructibleActorParam_0p26_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleActorParam_0p26NS +{ + +struct P3FilterData_Type; +struct P3ShapeFlags_Type; +struct P3PairFlag_Type; +struct P3ShapeDescTemplate_Type; +struct P3ActorFlags_Type; +struct P3ActorDescTemplate_Type; +struct P3BodyDescFlags_Type; +struct P3BodyDescTemplate_Type; +struct StructureSettings_Type; +struct BehaviorGroup_Type; +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct FractureGlass_Type; +struct FractureVoronoi_Type; +struct FractureAttachment_Type; +struct RuntimeFracture_Type; +struct DestructibleParameters_Type; +struct DamageSpreadFunction_Type; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct BehaviorGroup_DynamicArray1D_Type +{ + BehaviorGroup_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct P3BodyDescFlags_Type +{ + bool eKINEMATIC; + bool eENABLE_CCD; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; + bool CRUMBLE_VIA_RUNTIME_FRACTURE; +}; +struct P3FilterData_Type +{ + uint32_t word0; + uint32_t word1; + uint32_t word2; + uint32_t word3; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct StructureSettings_Type +{ + bool useStressSolver; + float stressSolverTimeDelay; + float stressSolverMassThreshold; +}; +struct FractureGlass_Type +{ + uint32_t numSectors; + float sectorRand; + float firstSegmentSize; + float segmentScale; + float segmentRand; +}; +struct DamageSpreadFunction_Type +{ + float minimumRadius; + float radiusMultiplier; + float falloffExponent; +}; +struct BehaviorGroup_Type +{ + NvParameterized::DummyStringStruct name; + float damageThreshold; + float damageToRadius; + DamageSpreadFunction_Type damageSpread; + DamageSpreadFunction_Type damageColorSpread; + physx::PxVec4 damageColorChange; + float materialStrength; + float density; + float fadeOut; + float maxDepenetrationVelocity; + GroupsMask_Type groupsMask; + uint64_t userData; +}; +struct FractureVoronoi_Type +{ + physx::PxVec3 dimensions; + uint32_t numCells; + float biasExp; + float maxDist; +}; +struct P3ShapeFlags_Type +{ + bool eSIMULATION_SHAPE; + bool eSCENE_QUERY_SHAPE; + bool eTRIGGER_SHAPE; + bool eVISUALIZATION; + bool ePARTICLE_DRAIN; + bool eDEFORMABLE_DRAIN; +}; +struct P3ShapeDescTemplate_Type +{ + P3ShapeFlags_Type flags; + P3FilterData_Type simulationFilterData; + P3FilterData_Type queryFilterData; + uint64_t material; + float contactOffset; + float restOffset; + uint64_t userData; + uint64_t name; +}; +struct P3ActorFlags_Type +{ + bool eVISUALIZATION; + bool eDISABLE_GRAVITY; + bool eSEND_SLEEP_NOTIFIES; +}; +struct P3BodyDescTemplate_Type +{ + float density; + P3BodyDescFlags_Type flags; + float sleepThreshold; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + uint32_t solverIterationCount; + float contactReportThreshold; + float sleepLinearVelocity; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct FractureAttachment_Type +{ + bool posX; + bool negX; + bool posY; + bool negY; + bool posZ; + bool negZ; +}; +struct RuntimeFracture_Type +{ + const char* RuntimeFractureType; + bool sheetFracture; + uint32_t depthLimit; + bool destroyIfAtDepthLimit; + float minConvexSize; + float impulseScale; + FractureGlass_Type glass; + FractureVoronoi_Type voronoi; + FractureAttachment_Type attachment; +}; +struct DestructibleParameters_Type +{ + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + float debrisDestructionProbability; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t damageDepthLimit; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; + RuntimeFracture_Type runtimeFracture; + float supportStrength; +}; +struct P3PairFlag_Type +{ + bool eRESOLVE_CONTACTS; + bool eMODIFY_CONTACTS; + bool eNOTIFY_TOUCH_FOUND; + bool eNOTIFY_TOUCH_PERSISTS; + bool eNOTIFY_TOUCH_LOST; + bool eNOTIFY_THRESHOLD_FORCE_FOUND; + bool eNOTIFY_THRESHOLD_FORCE_PERSISTS; + bool eNOTIFY_THRESHOLD_FORCE_LOST; + bool eNOTIFY_CONTACT_POINTS; + bool eNOTIFY_CONTACT_FORCES; + bool eNOTIFY_CONTACT_FORCE_PER_POINT; + bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT; + bool eCCD_LINEAR; + bool eCONTACT_DEFAULT; + bool eTRIGGER_DEFAULT; +}; +struct P3ActorDescTemplate_Type +{ + P3ActorFlags_Type flags; + uint8_t dominanceGroup; + uint8_t ownerClient; + uint32_t clientBehaviorBits; + P3PairFlag_Type contactReportFlags; + uint64_t userData; + uint64_t name; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + NvParameterized::DummyStringStruct crumbleEmitterName; + float crumbleParticleSpacing; + NvParameterized::DummyStringStruct dustEmitterName; + float dustParticleSpacing; + float globalPose[12]; + physx::PxVec3 scale; + bool dynamic; + uint32_t supportDepth; + bool formExtendedStructures; + bool keepPreviousFrameBoneBuffer; + bool doNotCreateRenderable; + bool useAssetDefinedSupport; + bool useWorldSupport; + bool renderStaticChunksSeparately; + bool keepVisibleBonesPacked; + bool createChunkEvents; + STRING_DynamicArray1D_Type overrideSkinnedMaterialNames; + STRING_DynamicArray1D_Type overrideStaticMaterialNames; + float sleepVelocityFrameDecayConstant; + bool useHardSleeping; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + ShapeDescTemplate_Type shapeDescTemplate; + ActorDescTemplate_Type actorDescTemplate; + BodyDescTemplate_Type bodyDescTemplate; + P3ShapeDescTemplate_Type p3ShapeDescTemplate; + P3ActorDescTemplate_Type p3ActorDescTemplate; + P3BodyDescTemplate_Type p3BodyDescTemplate; + StructureSettings_Type structureSettings; + BehaviorGroup_Type defaultBehaviorGroup; + BehaviorGroup_DynamicArray1D_Type behaviorGroups; + +}; + +static const uint32_t checksum[] = { 0xf37099cc, 0xf6c52cc1, 0x25c08d5f, 0x60700856, }; + +} // namespace DestructibleActorParam_0p26NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleActorParam_0p26 : public NvParameterized::NvParameters, public DestructibleActorParam_0p26NS::ParametersStruct +{ +public: + DestructibleActorParam_0p26(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleActorParam_0p26(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleActorParam"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)26; + + 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(DestructibleActorParam_0p26NS::checksum); + return DestructibleActorParam_0p26NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleActorParam_0p26NS::ParametersStruct& parameters(void) const + { + DestructibleActorParam_0p26* tmpThis = const_cast<DestructibleActorParam_0p26*>(this); + return *(static_cast<DestructibleActorParam_0p26NS::ParametersStruct*>(tmpThis)); + } + + DestructibleActorParam_0p26NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleActorParam_0p26NS::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 DestructibleActorParam_0p26Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleActorParam_0p26::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p26), DestructibleActorParam_0p26::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p26::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p26"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleActorParam_0p26)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p26)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p26::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p26::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p26"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleActorParam_0p26 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 (DestructibleActorParam_0p26*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleActorParam_0p26::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleActorParam_0p26::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleActorParam_0p26::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleActorParam_0p26::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p27.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p27.h new file mode 100644 index 00000000..b77cff2f --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p27.h @@ -0,0 +1,611 @@ +// 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_DestructibleActorParam_0p27_h +#define HEADER_DestructibleActorParam_0p27_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleActorParam_0p27NS +{ + +struct P3FilterData_Type; +struct P3ShapeFlags_Type; +struct P3PairFlag_Type; +struct P3ShapeDescTemplate_Type; +struct P3ActorFlags_Type; +struct P3ActorDescTemplate_Type; +struct P3BodyDescFlags_Type; +struct P3BodyDescTemplate_Type; +struct StructureSettings_Type; +struct BehaviorGroup_Type; +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct FractureGlass_Type; +struct FractureVoronoi_Type; +struct FractureAttachment_Type; +struct RuntimeFracture_Type; +struct DestructibleParameters_Type; +struct DamageSpreadFunction_Type; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct BehaviorGroup_DynamicArray1D_Type +{ + BehaviorGroup_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct P3BodyDescFlags_Type +{ + bool eKINEMATIC; + bool eENABLE_CCD; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; + bool CRUMBLE_VIA_RUNTIME_FRACTURE; +}; +struct P3FilterData_Type +{ + uint32_t word0; + uint32_t word1; + uint32_t word2; + uint32_t word3; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct StructureSettings_Type +{ + bool useStressSolver; + float stressSolverTimeDelay; + float stressSolverMassThreshold; +}; +struct FractureGlass_Type +{ + uint32_t numSectors; + float sectorRand; + float firstSegmentSize; + float segmentScale; + float segmentRand; +}; +struct DamageSpreadFunction_Type +{ + float minimumRadius; + float radiusMultiplier; + float falloffExponent; +}; +struct BehaviorGroup_Type +{ + NvParameterized::DummyStringStruct name; + float damageThreshold; + float damageToRadius; + DamageSpreadFunction_Type damageSpread; + DamageSpreadFunction_Type damageColorSpread; + physx::PxVec4 damageColorChange; + float materialStrength; + float density; + float fadeOut; + float maxDepenetrationVelocity; + GroupsMask_Type groupsMask; + uint64_t userData; +}; +struct FractureVoronoi_Type +{ + physx::PxVec3 dimensions; + uint32_t numCells; + float biasExp; + float maxDist; +}; +struct P3ShapeFlags_Type +{ + bool eSIMULATION_SHAPE; + bool eSCENE_QUERY_SHAPE; + bool eTRIGGER_SHAPE; + bool eVISUALIZATION; + bool ePARTICLE_DRAIN; + bool eDEFORMABLE_DRAIN; +}; +struct P3ShapeDescTemplate_Type +{ + P3ShapeFlags_Type flags; + P3FilterData_Type simulationFilterData; + P3FilterData_Type queryFilterData; + uint64_t material; + float contactOffset; + float restOffset; + uint64_t userData; + uint64_t name; +}; +struct P3ActorFlags_Type +{ + bool eVISUALIZATION; + bool eDISABLE_GRAVITY; + bool eSEND_SLEEP_NOTIFIES; +}; +struct P3BodyDescTemplate_Type +{ + float density; + P3BodyDescFlags_Type flags; + float sleepThreshold; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + uint32_t solverIterationCount; + uint32_t velocityIterationCount; + float contactReportThreshold; + float sleepLinearVelocity; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct FractureAttachment_Type +{ + bool posX; + bool negX; + bool posY; + bool negY; + bool posZ; + bool negZ; +}; +struct RuntimeFracture_Type +{ + const char* RuntimeFractureType; + bool sheetFracture; + uint32_t depthLimit; + bool destroyIfAtDepthLimit; + float minConvexSize; + float impulseScale; + FractureGlass_Type glass; + FractureVoronoi_Type voronoi; + FractureAttachment_Type attachment; +}; +struct DestructibleParameters_Type +{ + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + float debrisDestructionProbability; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t damageDepthLimit; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; + RuntimeFracture_Type runtimeFracture; + float supportStrength; +}; +struct P3PairFlag_Type +{ + bool eRESOLVE_CONTACTS; + bool eMODIFY_CONTACTS; + bool eNOTIFY_TOUCH_FOUND; + bool eNOTIFY_TOUCH_PERSISTS; + bool eNOTIFY_TOUCH_LOST; + bool eNOTIFY_THRESHOLD_FORCE_FOUND; + bool eNOTIFY_THRESHOLD_FORCE_PERSISTS; + bool eNOTIFY_THRESHOLD_FORCE_LOST; + bool eNOTIFY_CONTACT_POINTS; + bool eNOTIFY_CONTACT_FORCES; + bool eNOTIFY_CONTACT_FORCE_PER_POINT; + bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT; + bool eCCD_LINEAR; + bool eCONTACT_DEFAULT; + bool eTRIGGER_DEFAULT; +}; +struct P3ActorDescTemplate_Type +{ + P3ActorFlags_Type flags; + uint8_t dominanceGroup; + uint8_t ownerClient; + uint32_t clientBehaviorBits; + P3PairFlag_Type contactReportFlags; + uint64_t userData; + uint64_t name; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + NvParameterized::DummyStringStruct crumbleEmitterName; + float crumbleParticleSpacing; + NvParameterized::DummyStringStruct dustEmitterName; + float dustParticleSpacing; + float globalPose[12]; + physx::PxVec3 scale; + bool dynamic; + uint32_t supportDepth; + bool formExtendedStructures; + bool keepPreviousFrameBoneBuffer; + bool doNotCreateRenderable; + bool useAssetDefinedSupport; + bool useWorldSupport; + bool renderStaticChunksSeparately; + bool keepVisibleBonesPacked; + bool createChunkEvents; + STRING_DynamicArray1D_Type overrideSkinnedMaterialNames; + STRING_DynamicArray1D_Type overrideStaticMaterialNames; + float sleepVelocityFrameDecayConstant; + bool useHardSleeping; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + ShapeDescTemplate_Type shapeDescTemplate; + ActorDescTemplate_Type actorDescTemplate; + BodyDescTemplate_Type bodyDescTemplate; + P3ShapeDescTemplate_Type p3ShapeDescTemplate; + P3ActorDescTemplate_Type p3ActorDescTemplate; + P3BodyDescTemplate_Type p3BodyDescTemplate; + StructureSettings_Type structureSettings; + BehaviorGroup_Type defaultBehaviorGroup; + BehaviorGroup_DynamicArray1D_Type behaviorGroups; + bool deleteChunksLeavingUserDefinedBB; + bool deleteChunksEnteringUserDefinedBB; + +}; + +static const uint32_t checksum[] = { 0x1401008a, 0x584084b6, 0x4a58beff, 0xbf4018ea, }; + +} // namespace DestructibleActorParam_0p27NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleActorParam_0p27 : public NvParameterized::NvParameters, public DestructibleActorParam_0p27NS::ParametersStruct +{ +public: + DestructibleActorParam_0p27(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleActorParam_0p27(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleActorParam"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)27; + + 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(DestructibleActorParam_0p27NS::checksum); + return DestructibleActorParam_0p27NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleActorParam_0p27NS::ParametersStruct& parameters(void) const + { + DestructibleActorParam_0p27* tmpThis = const_cast<DestructibleActorParam_0p27*>(this); + return *(static_cast<DestructibleActorParam_0p27NS::ParametersStruct*>(tmpThis)); + } + + DestructibleActorParam_0p27NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleActorParam_0p27NS::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 DestructibleActorParam_0p27Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleActorParam_0p27::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p27), DestructibleActorParam_0p27::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p27::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p27"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleActorParam_0p27)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p27)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p27::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p27::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p27"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleActorParam_0p27 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 (DestructibleActorParam_0p27*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleActorParam_0p27::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleActorParam_0p27::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleActorParam_0p27::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleActorParam_0p27::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p28.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p28.h new file mode 100644 index 00000000..efbf2f5c --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p28.h @@ -0,0 +1,613 @@ +// 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_DestructibleActorParam_0p28_h +#define HEADER_DestructibleActorParam_0p28_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleActorParam_0p28NS +{ + +struct P3FilterData_Type; +struct P3ShapeFlags_Type; +struct P3PairFlag_Type; +struct P3ShapeDescTemplate_Type; +struct P3ActorFlags_Type; +struct P3ActorDescTemplate_Type; +struct P3BodyDescFlags_Type; +struct P3BodyDescTemplate_Type; +struct StructureSettings_Type; +struct BehaviorGroup_Type; +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct FractureGlass_Type; +struct FractureVoronoi_Type; +struct FractureAttachment_Type; +struct RuntimeFracture_Type; +struct DestructibleParameters_Type; +struct DamageSpreadFunction_Type; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct BehaviorGroup_DynamicArray1D_Type +{ + BehaviorGroup_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct P3BodyDescFlags_Type +{ + bool eKINEMATIC; + bool eENABLE_CCD; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; + bool CRUMBLE_VIA_RUNTIME_FRACTURE; +}; +struct P3FilterData_Type +{ + uint32_t word0; + uint32_t word1; + uint32_t word2; + uint32_t word3; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct StructureSettings_Type +{ + bool useStressSolver; + float stressSolverTimeDelay; + float stressSolverMassThreshold; +}; +struct FractureGlass_Type +{ + uint32_t numSectors; + float sectorRand; + float firstSegmentSize; + float segmentScale; + float segmentRand; +}; +struct DamageSpreadFunction_Type +{ + float minimumRadius; + float radiusMultiplier; + float falloffExponent; +}; +struct BehaviorGroup_Type +{ + NvParameterized::DummyStringStruct name; + float damageThreshold; + float damageToRadius; + DamageSpreadFunction_Type damageSpread; + DamageSpreadFunction_Type damageColorSpread; + physx::PxVec4 damageColorChange; + float materialStrength; + float density; + float fadeOut; + float maxDepenetrationVelocity; + GroupsMask_Type groupsMask; + uint64_t userData; +}; +struct FractureVoronoi_Type +{ + physx::PxVec3 dimensions; + uint32_t numCells; + float biasExp; + float maxDist; +}; +struct P3ShapeFlags_Type +{ + bool eSIMULATION_SHAPE; + bool eSCENE_QUERY_SHAPE; + bool eTRIGGER_SHAPE; + bool eVISUALIZATION; + bool ePARTICLE_DRAIN; + bool eDEFORMABLE_DRAIN; +}; +struct P3ShapeDescTemplate_Type +{ + P3ShapeFlags_Type flags; + P3FilterData_Type simulationFilterData; + P3FilterData_Type queryFilterData; + uint64_t material; + float contactOffset; + float restOffset; + uint64_t userData; + uint64_t name; +}; +struct P3ActorFlags_Type +{ + bool eVISUALIZATION; + bool eDISABLE_GRAVITY; + bool eSEND_SLEEP_NOTIFIES; +}; +struct P3BodyDescTemplate_Type +{ + float density; + P3BodyDescFlags_Type flags; + float sleepThreshold; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + uint32_t solverIterationCount; + uint32_t velocityIterationCount; + float contactReportThreshold; + float sleepLinearVelocity; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct FractureAttachment_Type +{ + bool posX; + bool negX; + bool posY; + bool negY; + bool posZ; + bool negZ; +}; +struct RuntimeFracture_Type +{ + const char* RuntimeFractureType; + bool sheetFracture; + uint32_t depthLimit; + bool destroyIfAtDepthLimit; + float minConvexSize; + float impulseScale; + FractureGlass_Type glass; + FractureVoronoi_Type voronoi; + FractureAttachment_Type attachment; +}; +struct DestructibleParameters_Type +{ + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + float debrisDestructionProbability; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t damageDepthLimit; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; + RuntimeFracture_Type runtimeFracture; + float supportStrength; + int8_t legacyChunkBoundsTestSetting; + int8_t legacyDamageRadiusSpreadSetting; +}; +struct P3PairFlag_Type +{ + bool eRESOLVE_CONTACTS; + bool eMODIFY_CONTACTS; + bool eNOTIFY_TOUCH_FOUND; + bool eNOTIFY_TOUCH_PERSISTS; + bool eNOTIFY_TOUCH_LOST; + bool eNOTIFY_THRESHOLD_FORCE_FOUND; + bool eNOTIFY_THRESHOLD_FORCE_PERSISTS; + bool eNOTIFY_THRESHOLD_FORCE_LOST; + bool eNOTIFY_CONTACT_POINTS; + bool eNOTIFY_CONTACT_FORCES; + bool eNOTIFY_CONTACT_FORCE_PER_POINT; + bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT; + bool eCCD_LINEAR; + bool eCONTACT_DEFAULT; + bool eTRIGGER_DEFAULT; +}; +struct P3ActorDescTemplate_Type +{ + P3ActorFlags_Type flags; + uint8_t dominanceGroup; + uint8_t ownerClient; + uint32_t clientBehaviorBits; + P3PairFlag_Type contactReportFlags; + uint64_t userData; + uint64_t name; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + NvParameterized::DummyStringStruct crumbleEmitterName; + float crumbleParticleSpacing; + NvParameterized::DummyStringStruct dustEmitterName; + float dustParticleSpacing; + float globalPose[12]; + physx::PxVec3 scale; + bool dynamic; + uint32_t supportDepth; + bool formExtendedStructures; + bool keepPreviousFrameBoneBuffer; + bool doNotCreateRenderable; + bool useAssetDefinedSupport; + bool useWorldSupport; + bool renderStaticChunksSeparately; + bool keepVisibleBonesPacked; + bool createChunkEvents; + STRING_DynamicArray1D_Type overrideSkinnedMaterialNames; + STRING_DynamicArray1D_Type overrideStaticMaterialNames; + float sleepVelocityFrameDecayConstant; + bool useHardSleeping; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + ShapeDescTemplate_Type shapeDescTemplate; + ActorDescTemplate_Type actorDescTemplate; + BodyDescTemplate_Type bodyDescTemplate; + P3ShapeDescTemplate_Type p3ShapeDescTemplate; + P3ActorDescTemplate_Type p3ActorDescTemplate; + P3BodyDescTemplate_Type p3BodyDescTemplate; + StructureSettings_Type structureSettings; + BehaviorGroup_Type defaultBehaviorGroup; + BehaviorGroup_DynamicArray1D_Type behaviorGroups; + bool deleteChunksLeavingUserDefinedBB; + bool deleteChunksEnteringUserDefinedBB; + +}; + +static const uint32_t checksum[] = { 0x05dc3ae5, 0x2af4434c, 0xf48d05ee, 0x0a67215b, }; + +} // namespace DestructibleActorParam_0p28NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleActorParam_0p28 : public NvParameterized::NvParameters, public DestructibleActorParam_0p28NS::ParametersStruct +{ +public: + DestructibleActorParam_0p28(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleActorParam_0p28(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleActorParam"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)28; + + 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(DestructibleActorParam_0p28NS::checksum); + return DestructibleActorParam_0p28NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleActorParam_0p28NS::ParametersStruct& parameters(void) const + { + DestructibleActorParam_0p28* tmpThis = const_cast<DestructibleActorParam_0p28*>(this); + return *(static_cast<DestructibleActorParam_0p28NS::ParametersStruct*>(tmpThis)); + } + + DestructibleActorParam_0p28NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleActorParam_0p28NS::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 DestructibleActorParam_0p28Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleActorParam_0p28::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p28), DestructibleActorParam_0p28::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p28::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p28"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleActorParam_0p28)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p28)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p28::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p28::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p28"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleActorParam_0p28 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 (DestructibleActorParam_0p28*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleActorParam_0p28::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleActorParam_0p28::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleActorParam_0p28::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleActorParam_0p28::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p29.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p29.h new file mode 100644 index 00000000..d35564a3 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p29.h @@ -0,0 +1,614 @@ +// 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_DestructibleActorParam_0p29_h +#define HEADER_DestructibleActorParam_0p29_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleActorParam_0p29NS +{ + +struct P3FilterData_Type; +struct P3ShapeFlags_Type; +struct P3PairFlag_Type; +struct P3ShapeDescTemplate_Type; +struct P3ActorFlags_Type; +struct P3ActorDescTemplate_Type; +struct P3BodyDescFlags_Type; +struct P3BodyDescTemplate_Type; +struct StructureSettings_Type; +struct BehaviorGroup_Type; +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct FractureGlass_Type; +struct FractureVoronoi_Type; +struct FractureAttachment_Type; +struct RuntimeFracture_Type; +struct DestructibleParameters_Type; +struct DamageSpreadFunction_Type; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct BehaviorGroup_DynamicArray1D_Type +{ + BehaviorGroup_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct P3BodyDescFlags_Type +{ + bool eKINEMATIC; + bool eENABLE_CCD; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; + bool CRUMBLE_VIA_RUNTIME_FRACTURE; +}; +struct P3FilterData_Type +{ + uint32_t word0; + uint32_t word1; + uint32_t word2; + uint32_t word3; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct StructureSettings_Type +{ + bool useStressSolver; + float stressSolverTimeDelay; + float stressSolverMassThreshold; +}; +struct FractureGlass_Type +{ + uint32_t numSectors; + float sectorRand; + float firstSegmentSize; + float segmentScale; + float segmentRand; +}; +struct DamageSpreadFunction_Type +{ + float minimumRadius; + float radiusMultiplier; + float falloffExponent; +}; +struct BehaviorGroup_Type +{ + NvParameterized::DummyStringStruct name; + float damageThreshold; + float damageToRadius; + DamageSpreadFunction_Type damageSpread; + DamageSpreadFunction_Type damageColorSpread; + physx::PxVec4 damageColorChange; + float materialStrength; + float density; + float fadeOut; + float maxDepenetrationVelocity; + GroupsMask_Type groupsMask; + uint64_t userData; +}; +struct FractureVoronoi_Type +{ + physx::PxVec3 dimensions; + uint32_t numCells; + float biasExp; + float maxDist; +}; +struct P3ShapeFlags_Type +{ + bool eSIMULATION_SHAPE; + bool eSCENE_QUERY_SHAPE; + bool eTRIGGER_SHAPE; + bool eVISUALIZATION; + bool ePARTICLE_DRAIN; + bool eDEFORMABLE_DRAIN; +}; +struct P3ShapeDescTemplate_Type +{ + P3ShapeFlags_Type flags; + P3FilterData_Type simulationFilterData; + P3FilterData_Type queryFilterData; + uint64_t material; + float contactOffset; + float restOffset; + uint64_t userData; + uint64_t name; +}; +struct P3ActorFlags_Type +{ + bool eVISUALIZATION; + bool eDISABLE_GRAVITY; + bool eSEND_SLEEP_NOTIFIES; +}; +struct P3BodyDescTemplate_Type +{ + float density; + P3BodyDescFlags_Type flags; + float sleepThreshold; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + uint32_t solverIterationCount; + uint32_t velocityIterationCount; + float contactReportThreshold; + float sleepLinearVelocity; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct FractureAttachment_Type +{ + bool posX; + bool negX; + bool posY; + bool negY; + bool posZ; + bool negZ; +}; +struct RuntimeFracture_Type +{ + const char* RuntimeFractureType; + bool sheetFracture; + uint32_t depthLimit; + bool destroyIfAtDepthLimit; + float minConvexSize; + float impulseScale; + FractureGlass_Type glass; + FractureVoronoi_Type voronoi; + FractureAttachment_Type attachment; +}; +struct DestructibleParameters_Type +{ + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + float debrisDestructionProbability; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t damageDepthLimit; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; + RuntimeFracture_Type runtimeFracture; + float supportStrength; + int8_t legacyChunkBoundsTestSetting; + int8_t legacyDamageRadiusSpreadSetting; +}; +struct P3PairFlag_Type +{ + bool eRESOLVE_CONTACTS; + bool eMODIFY_CONTACTS; + bool eNOTIFY_TOUCH_FOUND; + bool eNOTIFY_TOUCH_PERSISTS; + bool eNOTIFY_TOUCH_LOST; + bool eNOTIFY_THRESHOLD_FORCE_FOUND; + bool eNOTIFY_THRESHOLD_FORCE_PERSISTS; + bool eNOTIFY_THRESHOLD_FORCE_LOST; + bool eNOTIFY_CONTACT_POINTS; + bool eNOTIFY_CONTACT_FORCES; + bool eNOTIFY_CONTACT_FORCE_PER_POINT; + bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT; + bool eCCD_LINEAR; + bool eCONTACT_DEFAULT; + bool eTRIGGER_DEFAULT; +}; +struct P3ActorDescTemplate_Type +{ + P3ActorFlags_Type flags; + uint8_t dominanceGroup; + uint8_t ownerClient; + uint32_t clientBehaviorBits; + P3PairFlag_Type contactReportFlags; + uint64_t userData; + uint64_t name; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + NvParameterized::DummyStringStruct crumbleEmitterName; + float crumbleParticleSpacing; + NvParameterized::DummyStringStruct dustEmitterName; + float dustParticleSpacing; + float globalPose[12]; + physx::PxVec3 scale; + bool dynamic; + uint32_t supportDepth; + bool formExtendedStructures; + bool performDetailedOverlapTestForExtendedStructures; + bool keepPreviousFrameBoneBuffer; + bool doNotCreateRenderable; + bool useAssetDefinedSupport; + bool useWorldSupport; + bool renderStaticChunksSeparately; + bool keepVisibleBonesPacked; + bool createChunkEvents; + STRING_DynamicArray1D_Type overrideSkinnedMaterialNames; + STRING_DynamicArray1D_Type overrideStaticMaterialNames; + float sleepVelocityFrameDecayConstant; + bool useHardSleeping; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + ShapeDescTemplate_Type shapeDescTemplate; + ActorDescTemplate_Type actorDescTemplate; + BodyDescTemplate_Type bodyDescTemplate; + P3ShapeDescTemplate_Type p3ShapeDescTemplate; + P3ActorDescTemplate_Type p3ActorDescTemplate; + P3BodyDescTemplate_Type p3BodyDescTemplate; + StructureSettings_Type structureSettings; + BehaviorGroup_Type defaultBehaviorGroup; + BehaviorGroup_DynamicArray1D_Type behaviorGroups; + bool deleteChunksLeavingUserDefinedBB; + bool deleteChunksEnteringUserDefinedBB; + +}; + +static const uint32_t checksum[] = { 0xe5587c94, 0x690bed50, 0x7ac92918, 0xa6fd441e, }; + +} // namespace DestructibleActorParam_0p29NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleActorParam_0p29 : public NvParameterized::NvParameters, public DestructibleActorParam_0p29NS::ParametersStruct +{ +public: + DestructibleActorParam_0p29(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleActorParam_0p29(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleActorParam"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)29; + + 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(DestructibleActorParam_0p29NS::checksum); + return DestructibleActorParam_0p29NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleActorParam_0p29NS::ParametersStruct& parameters(void) const + { + DestructibleActorParam_0p29* tmpThis = const_cast<DestructibleActorParam_0p29*>(this); + return *(static_cast<DestructibleActorParam_0p29NS::ParametersStruct*>(tmpThis)); + } + + DestructibleActorParam_0p29NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleActorParam_0p29NS::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 DestructibleActorParam_0p29Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleActorParam_0p29::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p29), DestructibleActorParam_0p29::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p29::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p29"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleActorParam_0p29)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p29)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p29::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p29::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p29"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleActorParam_0p29 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 (DestructibleActorParam_0p29*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleActorParam_0p29::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleActorParam_0p29::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleActorParam_0p29::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleActorParam_0p29::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p3.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p3.h new file mode 100644 index 00000000..349fa4a7 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p3.h @@ -0,0 +1,428 @@ +// 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_DestructibleActorParam_0p3_h +#define HEADER_DestructibleActorParam_0p3_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleActorParam_0p3NS +{ + +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct DestructibleParameters_Type; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool TAKE_IMPACT_DAMAGE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct DestructibleParameters_Type +{ + float damageThreshold; + float damageToRadius; + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + float materialStrength; + float damageToPercentDeformation; + float deformationPercentLimit; + uint32_t minimumFractureDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + NvParameterized::DummyStringStruct crumbleEmitterName; + NvParameterized::DummyStringStruct dustEmitterName; + float globalPose[12]; + physx::PxVec3 scale; + bool dynamic; + uint32_t supportDepth; + bool formExtendedStructures; + bool useAssetDefinedSupport; + bool useWorldSupport; + float massScaleExponent; + bool renderStaticChunksSeparately; + STRING_DynamicArray1D_Type overrideSkinnedMaterialNames; + STRING_DynamicArray1D_Type overrideStaticMaterialNames; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + ShapeDescTemplate_Type shapeDescTemplate; + ActorDescTemplate_Type actorDescTemplate; + BodyDescTemplate_Type bodyDescTemplate; + +}; + +static const uint32_t checksum[] = { 0xf78aa4ca, 0x62e8ff0b, 0x6b3dcc04, 0xe44d2726, }; + +} // namespace DestructibleActorParam_0p3NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleActorParam_0p3 : public NvParameterized::NvParameters, public DestructibleActorParam_0p3NS::ParametersStruct +{ +public: + DestructibleActorParam_0p3(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleActorParam_0p3(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleActorParam"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)3; + + 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(DestructibleActorParam_0p3NS::checksum); + return DestructibleActorParam_0p3NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleActorParam_0p3NS::ParametersStruct& parameters(void) const + { + DestructibleActorParam_0p3* tmpThis = const_cast<DestructibleActorParam_0p3*>(this); + return *(static_cast<DestructibleActorParam_0p3NS::ParametersStruct*>(tmpThis)); + } + + DestructibleActorParam_0p3NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleActorParam_0p3NS::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 DestructibleActorParam_0p3Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleActorParam_0p3::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p3), DestructibleActorParam_0p3::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p3::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p3"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleActorParam_0p3)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p3)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p3::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p3::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p3"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleActorParam_0p3 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 (DestructibleActorParam_0p3*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleActorParam_0p3::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleActorParam_0p3::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleActorParam_0p3::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleActorParam_0p3::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p30.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p30.h new file mode 100644 index 00000000..ccce04d3 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p30.h @@ -0,0 +1,614 @@ +// 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_DestructibleActorParam_0p30_h +#define HEADER_DestructibleActorParam_0p30_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleActorParam_0p30NS +{ + +struct P3FilterData_Type; +struct P3ShapeFlags_Type; +struct P3PairFlag_Type; +struct P3ShapeDescTemplate_Type; +struct P3ActorFlags_Type; +struct P3ActorDescTemplate_Type; +struct P3BodyDescFlags_Type; +struct P3BodyDescTemplate_Type; +struct StructureSettings_Type; +struct BehaviorGroup_Type; +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct FractureGlass_Type; +struct FractureVoronoi_Type; +struct FractureAttachment_Type; +struct RuntimeFracture_Type; +struct DestructibleParameters_Type; +struct DamageSpreadFunction_Type; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct BehaviorGroup_DynamicArray1D_Type +{ + BehaviorGroup_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct P3BodyDescFlags_Type +{ + bool eKINEMATIC; + bool eENABLE_CCD; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; + bool CRUMBLE_VIA_RUNTIME_FRACTURE; +}; +struct P3FilterData_Type +{ + uint32_t word0; + uint32_t word1; + uint32_t word2; + uint32_t word3; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct StructureSettings_Type +{ + bool useStressSolver; + float stressSolverTimeDelay; + float stressSolverMassThreshold; +}; +struct FractureGlass_Type +{ + uint32_t numSectors; + float sectorRand; + float firstSegmentSize; + float segmentScale; + float segmentRand; +}; +struct DamageSpreadFunction_Type +{ + float minimumRadius; + float radiusMultiplier; + float falloffExponent; +}; +struct BehaviorGroup_Type +{ + NvParameterized::DummyStringStruct name; + float damageThreshold; + float damageToRadius; + DamageSpreadFunction_Type damageSpread; + DamageSpreadFunction_Type damageColorSpread; + physx::PxVec4 damageColorChange; + float materialStrength; + float density; + float fadeOut; + float maxDepenetrationVelocity; + GroupsMask_Type groupsMask; + uint64_t userData; +}; +struct FractureVoronoi_Type +{ + physx::PxVec3 dimensions; + uint32_t numCells; + float biasExp; + float maxDist; +}; +struct P3ShapeFlags_Type +{ + bool eSIMULATION_SHAPE; + bool eSCENE_QUERY_SHAPE; + bool eTRIGGER_SHAPE; + bool eVISUALIZATION; + bool ePARTICLE_DRAIN; + bool eDEFORMABLE_DRAIN; +}; +struct P3ShapeDescTemplate_Type +{ + P3ShapeFlags_Type flags; + P3FilterData_Type simulationFilterData; + P3FilterData_Type queryFilterData; + uint64_t material; + float contactOffset; + float restOffset; + uint64_t userData; + uint64_t name; +}; +struct P3ActorFlags_Type +{ + bool eVISUALIZATION; + bool eDISABLE_GRAVITY; + bool eSEND_SLEEP_NOTIFIES; +}; +struct P3BodyDescTemplate_Type +{ + float density; + P3BodyDescFlags_Type flags; + float sleepThreshold; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + uint32_t solverIterationCount; + uint32_t velocityIterationCount; + float contactReportThreshold; + float sleepLinearVelocity; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct FractureAttachment_Type +{ + bool posX; + bool negX; + bool posY; + bool negY; + bool posZ; + bool negZ; +}; +struct RuntimeFracture_Type +{ + const char* RuntimeFractureType; + bool sheetFracture; + uint32_t depthLimit; + bool destroyIfAtDepthLimit; + float minConvexSize; + float impulseScale; + FractureGlass_Type glass; + FractureVoronoi_Type voronoi; + FractureAttachment_Type attachment; +}; +struct DestructibleParameters_Type +{ + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + float debrisDestructionProbability; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t damageDepthLimit; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; + RuntimeFracture_Type runtimeFracture; + float supportStrength; + int8_t legacyChunkBoundsTestSetting; + int8_t legacyDamageRadiusSpreadSetting; +}; +struct P3PairFlag_Type +{ + bool eSOLVE_CONTACT; + bool eMODIFY_CONTACTS; + bool eNOTIFY_TOUCH_FOUND; + bool eNOTIFY_TOUCH_PERSISTS; + bool eNOTIFY_TOUCH_LOST; + bool eNOTIFY_THRESHOLD_FORCE_FOUND; + bool eNOTIFY_THRESHOLD_FORCE_PERSISTS; + bool eNOTIFY_THRESHOLD_FORCE_LOST; + bool eNOTIFY_CONTACT_POINTS; + bool eNOTIFY_CONTACT_FORCES; + bool eNOTIFY_CONTACT_FORCE_PER_POINT; + bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT; + bool eDETECT_CCD_CONTACT; + bool eCONTACT_DEFAULT; + bool eTRIGGER_DEFAULT; +}; +struct P3ActorDescTemplate_Type +{ + P3ActorFlags_Type flags; + uint8_t dominanceGroup; + uint8_t ownerClient; + uint32_t clientBehaviorBits; + P3PairFlag_Type contactReportFlags; + uint64_t userData; + uint64_t name; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + NvParameterized::DummyStringStruct crumbleEmitterName; + float crumbleParticleSpacing; + NvParameterized::DummyStringStruct dustEmitterName; + float dustParticleSpacing; + float globalPose[12]; + physx::PxVec3 scale; + bool dynamic; + uint32_t supportDepth; + bool formExtendedStructures; + bool performDetailedOverlapTestForExtendedStructures; + bool keepPreviousFrameBoneBuffer; + bool doNotCreateRenderable; + bool useAssetDefinedSupport; + bool useWorldSupport; + bool renderStaticChunksSeparately; + bool keepVisibleBonesPacked; + bool createChunkEvents; + STRING_DynamicArray1D_Type overrideSkinnedMaterialNames; + STRING_DynamicArray1D_Type overrideStaticMaterialNames; + float sleepVelocityFrameDecayConstant; + bool useHardSleeping; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + ShapeDescTemplate_Type shapeDescTemplate; + ActorDescTemplate_Type actorDescTemplate; + BodyDescTemplate_Type bodyDescTemplate; + P3ShapeDescTemplate_Type p3ShapeDescTemplate; + P3ActorDescTemplate_Type p3ActorDescTemplate; + P3BodyDescTemplate_Type p3BodyDescTemplate; + StructureSettings_Type structureSettings; + BehaviorGroup_Type defaultBehaviorGroup; + BehaviorGroup_DynamicArray1D_Type behaviorGroups; + bool deleteChunksLeavingUserDefinedBB; + bool deleteChunksEnteringUserDefinedBB; + +}; + +static const uint32_t checksum[] = { 0x57ae1ad0, 0xccc3c9a4, 0xa3716200, 0xfd2df802, }; + +} // namespace DestructibleActorParam_0p30NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleActorParam_0p30 : public NvParameterized::NvParameters, public DestructibleActorParam_0p30NS::ParametersStruct +{ +public: + DestructibleActorParam_0p30(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleActorParam_0p30(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleActorParam"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)30; + + 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(DestructibleActorParam_0p30NS::checksum); + return DestructibleActorParam_0p30NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleActorParam_0p30NS::ParametersStruct& parameters(void) const + { + DestructibleActorParam_0p30* tmpThis = const_cast<DestructibleActorParam_0p30*>(this); + return *(static_cast<DestructibleActorParam_0p30NS::ParametersStruct*>(tmpThis)); + } + + DestructibleActorParam_0p30NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleActorParam_0p30NS::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 DestructibleActorParam_0p30Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleActorParam_0p30::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p30), DestructibleActorParam_0p30::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p30::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p30"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleActorParam_0p30)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p30)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p30::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p30::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p30"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleActorParam_0p30 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 (DestructibleActorParam_0p30*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleActorParam_0p30::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleActorParam_0p30::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleActorParam_0p30::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleActorParam_0p30::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p31.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p31.h new file mode 100644 index 00000000..2b23b847 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p31.h @@ -0,0 +1,605 @@ +// 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_DestructibleActorParam_0p31_h +#define HEADER_DestructibleActorParam_0p31_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleActorParam_0p31NS +{ + +struct P3FilterData_Type; +struct P3ShapeFlags_Type; +struct P3PairFlag_Type; +struct P3ShapeDescTemplate_Type; +struct P3ActorFlags_Type; +struct P3ActorDescTemplate_Type; +struct P3BodyDescFlags_Type; +struct P3BodyDescTemplate_Type; +struct StructureSettings_Type; +struct BehaviorGroup_Type; +struct GroupsMask_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct FractureGlass_Type; +struct FractureVoronoi_Type; +struct FractureAttachment_Type; +struct RuntimeFracture_Type; +struct DestructibleParameters_Type; +struct DamageSpreadFunction_Type; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct BehaviorGroup_DynamicArray1D_Type +{ + BehaviorGroup_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct P3BodyDescFlags_Type +{ + bool eKINEMATIC; + bool eENABLE_CCD; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; + bool CRUMBLE_VIA_RUNTIME_FRACTURE; +}; +struct P3FilterData_Type +{ + uint32_t word0; + uint32_t word1; + uint32_t word2; + uint32_t word3; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct StructureSettings_Type +{ + bool useStressSolver; + float stressSolverTimeDelay; + float stressSolverMassThreshold; +}; +struct FractureGlass_Type +{ + uint32_t numSectors; + float sectorRand; + float firstSegmentSize; + float segmentScale; + float segmentRand; +}; +struct DamageSpreadFunction_Type +{ + float minimumRadius; + float radiusMultiplier; + float falloffExponent; +}; +struct BehaviorGroup_Type +{ + NvParameterized::DummyStringStruct name; + float damageThreshold; + float damageToRadius; + DamageSpreadFunction_Type damageSpread; + DamageSpreadFunction_Type damageColorSpread; + physx::PxVec4 damageColorChange; + float materialStrength; + float density; + float fadeOut; + float maxDepenetrationVelocity; + GroupsMask_Type groupsMask; + uint64_t userData; +}; +struct FractureVoronoi_Type +{ + physx::PxVec3 dimensions; + uint32_t numCells; + float biasExp; + float maxDist; +}; +struct P3ShapeFlags_Type +{ + bool eSIMULATION_SHAPE; + bool eSCENE_QUERY_SHAPE; + bool eTRIGGER_SHAPE; + bool eVISUALIZATION; + bool ePARTICLE_DRAIN; + bool eDEFORMABLE_DRAIN; +}; +struct P3ShapeDescTemplate_Type +{ + P3ShapeFlags_Type flags; + P3FilterData_Type simulationFilterData; + P3FilterData_Type queryFilterData; + uint64_t material; + float contactOffset; + float restOffset; + uint64_t userData; + uint64_t name; +}; +struct P3ActorFlags_Type +{ + bool eVISUALIZATION; + bool eDISABLE_GRAVITY; + bool eSEND_SLEEP_NOTIFIES; +}; +struct P3BodyDescTemplate_Type +{ + float density; + P3BodyDescFlags_Type flags; + float sleepThreshold; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + uint32_t solverIterationCount; + uint32_t velocityIterationCount; + float contactReportThreshold; + float sleepLinearVelocity; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct FractureAttachment_Type +{ + bool posX; + bool negX; + bool posY; + bool negY; + bool posZ; + bool negZ; +}; +struct RuntimeFracture_Type +{ + const char* RuntimeFractureType; + bool sheetFracture; + uint32_t depthLimit; + bool destroyIfAtDepthLimit; + float minConvexSize; + float impulseScale; + FractureGlass_Type glass; + FractureVoronoi_Type voronoi; + FractureAttachment_Type attachment; +}; +struct DestructibleParameters_Type +{ + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + float debrisDestructionProbability; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t damageDepthLimit; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; + RuntimeFracture_Type runtimeFracture; + float supportStrength; + int8_t legacyChunkBoundsTestSetting; + int8_t legacyDamageRadiusSpreadSetting; +}; +struct P3PairFlag_Type +{ + bool eSOLVE_CONTACT; + bool eMODIFY_CONTACTS; + bool eNOTIFY_TOUCH_FOUND; + bool eNOTIFY_TOUCH_PERSISTS; + bool eNOTIFY_TOUCH_LOST; + bool eNOTIFY_THRESHOLD_FORCE_FOUND; + bool eNOTIFY_THRESHOLD_FORCE_PERSISTS; + bool eNOTIFY_THRESHOLD_FORCE_LOST; + bool eNOTIFY_CONTACT_POINTS; + bool eNOTIFY_CONTACT_FORCES; + bool eNOTIFY_CONTACT_FORCE_PER_POINT; + bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT; + bool eDETECT_CCD_CONTACT; + bool eCONTACT_DEFAULT; + bool eTRIGGER_DEFAULT; +}; +struct P3ActorDescTemplate_Type +{ + P3ActorFlags_Type flags; + uint8_t dominanceGroup; + uint8_t ownerClient; + uint32_t clientBehaviorBits; + P3PairFlag_Type contactReportFlags; + uint64_t userData; + uint64_t name; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + NvParameterized::DummyStringStruct crumbleEmitterName; + float crumbleParticleSpacing; + NvParameterized::DummyStringStruct dustEmitterName; + float dustParticleSpacing; + physx::PxTransform globalPose; + physx::PxVec3 scale; + bool dynamic; + uint32_t supportDepth; + bool formExtendedStructures; + bool performDetailedOverlapTestForExtendedStructures; + bool keepPreviousFrameBoneBuffer; + bool doNotCreateRenderable; + bool useAssetDefinedSupport; + bool useWorldSupport; + bool renderStaticChunksSeparately; + bool keepVisibleBonesPacked; + bool createChunkEvents; + STRING_DynamicArray1D_Type overrideSkinnedMaterialNames; + STRING_DynamicArray1D_Type overrideStaticMaterialNames; + float sleepVelocityFrameDecayConstant; + bool useHardSleeping; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + ShapeDescTemplate_Type shapeDescTemplate; + ActorDescTemplate_Type actorDescTemplate; + BodyDescTemplate_Type bodyDescTemplate; + P3ShapeDescTemplate_Type p3ShapeDescTemplate; + P3ActorDescTemplate_Type p3ActorDescTemplate; + P3BodyDescTemplate_Type p3BodyDescTemplate; + StructureSettings_Type structureSettings; + BehaviorGroup_Type defaultBehaviorGroup; + BehaviorGroup_DynamicArray1D_Type behaviorGroups; + bool deleteChunksLeavingUserDefinedBB; + bool deleteChunksEnteringUserDefinedBB; + +}; + +static const uint32_t checksum[] = { 0x9e384538, 0x727aa67c, 0x615607a8, 0xa85c37fb, }; + +} // namespace DestructibleActorParam_0p31NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleActorParam_0p31 : public NvParameterized::NvParameters, public DestructibleActorParam_0p31NS::ParametersStruct +{ +public: + DestructibleActorParam_0p31(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleActorParam_0p31(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleActorParam"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)31; + + 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(DestructibleActorParam_0p31NS::checksum); + return DestructibleActorParam_0p31NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleActorParam_0p31NS::ParametersStruct& parameters(void) const + { + DestructibleActorParam_0p31* tmpThis = const_cast<DestructibleActorParam_0p31*>(this); + return *(static_cast<DestructibleActorParam_0p31NS::ParametersStruct*>(tmpThis)); + } + + DestructibleActorParam_0p31NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleActorParam_0p31NS::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 DestructibleActorParam_0p31Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleActorParam_0p31::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p31), DestructibleActorParam_0p31::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p31::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p31"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleActorParam_0p31)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p31)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p31::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p31::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p31"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleActorParam_0p31 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 (DestructibleActorParam_0p31*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleActorParam_0p31::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleActorParam_0p31::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleActorParam_0p31::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleActorParam_0p31::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p32.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p32.h new file mode 100644 index 00000000..713ff719 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p32.h @@ -0,0 +1,606 @@ +// 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_DestructibleActorParam_0p32_h +#define HEADER_DestructibleActorParam_0p32_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleActorParam_0p32NS +{ + +struct GroupsMask_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct FractureGlass_Type; +struct FractureVoronoi_Type; +struct FractureAttachment_Type; +struct RuntimeFracture_Type; +struct DestructibleParameters_Type; +struct DamageSpreadFunction_Type; +struct P3FilterData_Type; +struct P3ShapeFlags_Type; +struct P3PairFlag_Type; +struct P3ShapeDescTemplate_Type; +struct P3ActorFlags_Type; +struct P3ActorDescTemplate_Type; +struct P3BodyDescFlags_Type; +struct P3BodyDescTemplate_Type; +struct StructureSettings_Type; +struct BehaviorGroup_Type; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct BehaviorGroup_DynamicArray1D_Type +{ + BehaviorGroup_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct P3BodyDescFlags_Type +{ + bool eKINEMATIC; + bool eENABLE_CCD; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; + bool CRUMBLE_VIA_RUNTIME_FRACTURE; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct P3FilterData_Type +{ + uint32_t word0; + uint32_t word1; + uint32_t word2; + uint32_t word3; +}; +struct StructureSettings_Type +{ + bool useStressSolver; + float stressSolverTimeDelay; + float stressSolverMassThreshold; +}; +struct FractureGlass_Type +{ + uint32_t numSectors; + float sectorRand; + float firstSegmentSize; + float segmentScale; + float segmentRand; +}; +struct DamageSpreadFunction_Type +{ + float minimumRadius; + float radiusMultiplier; + float falloffExponent; +}; +struct FractureVoronoi_Type +{ + physx::PxVec3 dimensions; + uint32_t numCells; + float biasExp; + float maxDist; +}; +struct BehaviorGroup_Type +{ + NvParameterized::DummyStringStruct name; + float damageThreshold; + float damageToRadius; + DamageSpreadFunction_Type damageSpread; + DamageSpreadFunction_Type damageColorSpread; + physx::PxVec4 damageColorChange; + float materialStrength; + float density; + float fadeOut; + float maxDepenetrationVelocity; + GroupsMask_Type groupsMask; + uint64_t userData; +}; +struct P3ShapeFlags_Type +{ + bool eSIMULATION_SHAPE; + bool eSCENE_QUERY_SHAPE; + bool eTRIGGER_SHAPE; + bool eVISUALIZATION; + bool ePARTICLE_DRAIN; + bool eDEFORMABLE_DRAIN; +}; +struct P3ShapeDescTemplate_Type +{ + P3ShapeFlags_Type flags; + P3FilterData_Type simulationFilterData; + P3FilterData_Type queryFilterData; + uint64_t material; + float contactOffset; + float restOffset; + uint64_t userData; + uint64_t name; +}; +struct P3ActorFlags_Type +{ + bool eVISUALIZATION; + bool eDISABLE_GRAVITY; + bool eSEND_SLEEP_NOTIFIES; +}; +struct P3BodyDescTemplate_Type +{ + float density; + P3BodyDescFlags_Type flags; + float sleepThreshold; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + uint32_t solverIterationCount; + uint32_t velocityIterationCount; + float contactReportThreshold; + float sleepLinearVelocity; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct FractureAttachment_Type +{ + bool posX; + bool negX; + bool posY; + bool negY; + bool posZ; + bool negZ; +}; +struct RuntimeFracture_Type +{ + const char* RuntimeFractureType; + bool sheetFracture; + uint32_t depthLimit; + bool destroyIfAtDepthLimit; + float minConvexSize; + float impulseScale; + FractureGlass_Type glass; + FractureVoronoi_Type voronoi; + FractureAttachment_Type attachment; +}; +struct DestructibleParameters_Type +{ + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + float debrisDestructionProbability; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t damageDepthLimit; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; + RuntimeFracture_Type runtimeFracture; + float supportStrength; + int8_t legacyChunkBoundsTestSetting; + int8_t legacyDamageRadiusSpreadSetting; + bool alwaysDrawScatterMesh; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; +struct P3PairFlag_Type +{ + bool eSOLVE_CONTACT; + bool eMODIFY_CONTACTS; + bool eNOTIFY_TOUCH_FOUND; + bool eNOTIFY_TOUCH_PERSISTS; + bool eNOTIFY_TOUCH_LOST; + bool eNOTIFY_THRESHOLD_FORCE_FOUND; + bool eNOTIFY_THRESHOLD_FORCE_PERSISTS; + bool eNOTIFY_THRESHOLD_FORCE_LOST; + bool eNOTIFY_CONTACT_POINTS; + bool eNOTIFY_CONTACT_FORCES; + bool eNOTIFY_CONTACT_FORCE_PER_POINT; + bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT; + bool eDETECT_CCD_CONTACT; + bool eCONTACT_DEFAULT; + bool eTRIGGER_DEFAULT; +}; +struct P3ActorDescTemplate_Type +{ + P3ActorFlags_Type flags; + uint8_t dominanceGroup; + uint8_t ownerClient; + uint32_t clientBehaviorBits; + P3PairFlag_Type contactReportFlags; + uint64_t userData; + uint64_t name; +}; + +struct ParametersStruct +{ + + NvParameterized::DummyStringStruct crumbleEmitterName; + float crumbleParticleSpacing; + NvParameterized::DummyStringStruct dustEmitterName; + float dustParticleSpacing; + physx::PxTransform globalPose; + physx::PxVec3 scale; + bool dynamic; + uint32_t supportDepth; + bool formExtendedStructures; + bool performDetailedOverlapTestForExtendedStructures; + bool keepPreviousFrameBoneBuffer; + bool doNotCreateRenderable; + bool useAssetDefinedSupport; + bool useWorldSupport; + bool renderStaticChunksSeparately; + bool keepVisibleBonesPacked; + bool createChunkEvents; + STRING_DynamicArray1D_Type overrideSkinnedMaterialNames; + STRING_DynamicArray1D_Type overrideStaticMaterialNames; + float sleepVelocityFrameDecayConstant; + bool useHardSleeping; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + ShapeDescTemplate_Type shapeDescTemplate; + ActorDescTemplate_Type actorDescTemplate; + BodyDescTemplate_Type bodyDescTemplate; + P3ShapeDescTemplate_Type p3ShapeDescTemplate; + P3ActorDescTemplate_Type p3ActorDescTemplate; + P3BodyDescTemplate_Type p3BodyDescTemplate; + StructureSettings_Type structureSettings; + BehaviorGroup_Type defaultBehaviorGroup; + BehaviorGroup_DynamicArray1D_Type behaviorGroups; + bool deleteChunksLeavingUserDefinedBB; + bool deleteChunksEnteringUserDefinedBB; + +}; + +static const uint32_t checksum[] = { 0x2f148a8b, 0x0ef80948, 0x34293f31, 0x363a5ff0, }; + +} // namespace DestructibleActorParam_0p32NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleActorParam_0p32 : public NvParameterized::NvParameters, public DestructibleActorParam_0p32NS::ParametersStruct +{ +public: + DestructibleActorParam_0p32(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleActorParam_0p32(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleActorParam"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)32; + + 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(DestructibleActorParam_0p32NS::checksum); + return DestructibleActorParam_0p32NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleActorParam_0p32NS::ParametersStruct& parameters(void) const + { + DestructibleActorParam_0p32* tmpThis = const_cast<DestructibleActorParam_0p32*>(this); + return *(static_cast<DestructibleActorParam_0p32NS::ParametersStruct*>(tmpThis)); + } + + DestructibleActorParam_0p32NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleActorParam_0p32NS::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 DestructibleActorParam_0p32Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleActorParam_0p32::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p32), DestructibleActorParam_0p32::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p32::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p32"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleActorParam_0p32)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p32)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p32::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p32::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p32"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleActorParam_0p32 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 (DestructibleActorParam_0p32*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleActorParam_0p32::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleActorParam_0p32::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleActorParam_0p32::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleActorParam_0p32::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p4.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p4.h new file mode 100644 index 00000000..a58e01bd --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p4.h @@ -0,0 +1,520 @@ +// 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_DestructibleActorParam_0p4_h +#define HEADER_DestructibleActorParam_0p4_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleActorParam_0p4NS +{ + +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct DestructibleParameters_Type; +struct P3FilterData_Type; +struct P3ShapeFlags_Type; +struct P3PairFlag_Type; +struct P3ShapeDescTemplate_Type; +struct P3ActorFlags_Type; +struct P3ActorDescTemplate_Type; +struct P3BodyDescFlags_Type; +struct P3BodyDescTemplate_Type; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool TAKE_IMPACT_DAMAGE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct P3BodyDescFlags_Type +{ + bool eKINEMATIC; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct P3FilterData_Type +{ + uint32_t word0; + uint32_t word1; + uint32_t word2; + uint32_t word3; +}; +struct DestructibleParameters_Type +{ + float damageThreshold; + float damageToRadius; + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + float materialStrength; + float damageToPercentDeformation; + float deformationPercentLimit; + uint32_t minimumFractureDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; +}; +struct P3ShapeFlags_Type +{ + bool eSIMULATION_SHAPE; + bool eSCENE_QUERY_SHAPE; + bool eTRIGGER_SHAPE; + bool eVISUALIZATION; + bool ePARTICLE_DRAIN; + bool eDEFORMABLE_DRAIN; + bool eUSE_SWEPT_BOUNDS; +}; +struct P3ShapeDescTemplate_Type +{ + P3ShapeFlags_Type flags; + P3FilterData_Type simulationFilterData; + P3FilterData_Type queryFilterData; + uint16_t materialIndex; + float contactOffset; + float restOffset; + uint64_t userData; + uint64_t name; +}; +struct P3ActorFlags_Type +{ + bool eVISUALIZATION; + bool eDISABLE_GRAVITY; + bool eSEND_SLEEP_NOTIFIES; +}; +struct P3BodyDescTemplate_Type +{ + float density; + P3BodyDescFlags_Type flags; + float sleepThreshold; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + uint32_t solverIterationCount; + float contactReportThreshold; + float sleepLinearVelocity; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; +struct P3PairFlag_Type +{ + bool eRESOLVE_CONTACTS; + bool eMODIFY_CONTACTS; + bool eNOTIFY_TOUCH_FOUND; + bool eNOTIFY_TOUCH_PERSISTS; + bool eNOTIFY_TOUCH_LOST; + bool eNOTIFY_THRESHOLD_FORCE_FOUND; + bool eNOTIFY_THRESHOLD_FORCE_PERSISTS; + bool eNOTIFY_THRESHOLD_FORCE_LOST; + bool eNOTIFY_CONTACT_POINTS; + bool eNOTIFY_CONTACT_FORCES; + bool eNOTIFY_CONTACT_FORCE_PER_POINT; + bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT; + bool eSWEPT_CONTACT_GENERATION; + bool eSWEPT_INTEGRATION_LINEAR; + bool eSWEPT_INTEGRATION_FULL; + bool eCONTACT_DEFAULT; + bool eTRIGGER_DEFAULT; +}; +struct P3ActorDescTemplate_Type +{ + P3ActorFlags_Type flags; + uint8_t dominanceGroup; + uint8_t ownerClient; + uint32_t clientBehaviorBits; + P3PairFlag_Type contactReportFlags; + uint64_t userData; + uint64_t name; +}; + +struct ParametersStruct +{ + + NvParameterized::DummyStringStruct crumbleEmitterName; + NvParameterized::DummyStringStruct dustEmitterName; + float globalPose[12]; + physx::PxVec3 scale; + bool dynamic; + uint32_t supportDepth; + bool formExtendedStructures; + bool useAssetDefinedSupport; + bool useWorldSupport; + float massScaleExponent; + bool renderStaticChunksSeparately; + STRING_DynamicArray1D_Type overrideSkinnedMaterialNames; + STRING_DynamicArray1D_Type overrideStaticMaterialNames; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + ShapeDescTemplate_Type shapeDescTemplate; + ActorDescTemplate_Type actorDescTemplate; + BodyDescTemplate_Type bodyDescTemplate; + P3ShapeDescTemplate_Type p3ShapeDescTemplate; + P3ActorDescTemplate_Type p3ActorDescTemplate; + P3BodyDescTemplate_Type p3BodyDescTemplate; + +}; + +static const uint32_t checksum[] = { 0x9a70837f, 0xfa71b6aa, 0x939a9985, 0xb53b11ec, }; + +} // namespace DestructibleActorParam_0p4NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleActorParam_0p4 : public NvParameterized::NvParameters, public DestructibleActorParam_0p4NS::ParametersStruct +{ +public: + DestructibleActorParam_0p4(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleActorParam_0p4(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleActorParam"); + } + + 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(DestructibleActorParam_0p4NS::checksum); + return DestructibleActorParam_0p4NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleActorParam_0p4NS::ParametersStruct& parameters(void) const + { + DestructibleActorParam_0p4* tmpThis = const_cast<DestructibleActorParam_0p4*>(this); + return *(static_cast<DestructibleActorParam_0p4NS::ParametersStruct*>(tmpThis)); + } + + DestructibleActorParam_0p4NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleActorParam_0p4NS::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 DestructibleActorParam_0p4Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleActorParam_0p4::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p4), DestructibleActorParam_0p4::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p4::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p4"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleActorParam_0p4)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p4)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p4::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p4::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p4"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleActorParam_0p4 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 (DestructibleActorParam_0p4*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleActorParam_0p4::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleActorParam_0p4::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleActorParam_0p4::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleActorParam_0p4::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p5.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p5.h new file mode 100644 index 00000000..5ae7e5d6 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p5.h @@ -0,0 +1,519 @@ +// 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_DestructibleActorParam_0p5_h +#define HEADER_DestructibleActorParam_0p5_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleActorParam_0p5NS +{ + +struct P3FilterData_Type; +struct P3ShapeFlags_Type; +struct P3PairFlag_Type; +struct P3ShapeDescTemplate_Type; +struct P3ActorFlags_Type; +struct P3ActorDescTemplate_Type; +struct P3BodyDescFlags_Type; +struct P3BodyDescTemplate_Type; +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct DestructibleParameters_Type; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct P3BodyDescFlags_Type +{ + bool eKINEMATIC; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; +}; +struct P3FilterData_Type +{ + uint32_t word0; + uint32_t word1; + uint32_t word2; + uint32_t word3; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct DestructibleParameters_Type +{ + float damageThreshold; + float damageToRadius; + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + float materialStrength; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; +}; +struct P3ShapeFlags_Type +{ + bool eSIMULATION_SHAPE; + bool eSCENE_QUERY_SHAPE; + bool eTRIGGER_SHAPE; + bool eVISUALIZATION; + bool ePARTICLE_DRAIN; + bool eDEFORMABLE_DRAIN; + bool eUSE_SWEPT_BOUNDS; +}; +struct P3ShapeDescTemplate_Type +{ + P3ShapeFlags_Type flags; + P3FilterData_Type simulationFilterData; + P3FilterData_Type queryFilterData; + uint16_t materialIndex; + float contactOffset; + float restOffset; + uint64_t userData; + uint64_t name; +}; +struct P3ActorFlags_Type +{ + bool eVISUALIZATION; + bool eDISABLE_GRAVITY; + bool eSEND_SLEEP_NOTIFIES; +}; +struct P3BodyDescTemplate_Type +{ + float density; + P3BodyDescFlags_Type flags; + float sleepThreshold; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + uint32_t solverIterationCount; + float contactReportThreshold; + float sleepLinearVelocity; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct P3PairFlag_Type +{ + bool eRESOLVE_CONTACTS; + bool eMODIFY_CONTACTS; + bool eNOTIFY_TOUCH_FOUND; + bool eNOTIFY_TOUCH_PERSISTS; + bool eNOTIFY_TOUCH_LOST; + bool eNOTIFY_THRESHOLD_FORCE_FOUND; + bool eNOTIFY_THRESHOLD_FORCE_PERSISTS; + bool eNOTIFY_THRESHOLD_FORCE_LOST; + bool eNOTIFY_CONTACT_POINTS; + bool eNOTIFY_CONTACT_FORCES; + bool eNOTIFY_CONTACT_FORCE_PER_POINT; + bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT; + bool eSWEPT_CONTACT_GENERATION; + bool eSWEPT_INTEGRATION_LINEAR; + bool eSWEPT_INTEGRATION_FULL; + bool eCONTACT_DEFAULT; + bool eTRIGGER_DEFAULT; +}; +struct P3ActorDescTemplate_Type +{ + P3ActorFlags_Type flags; + uint8_t dominanceGroup; + uint8_t ownerClient; + uint32_t clientBehaviorBits; + P3PairFlag_Type contactReportFlags; + uint64_t userData; + uint64_t name; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + NvParameterized::DummyStringStruct crumbleEmitterName; + NvParameterized::DummyStringStruct dustEmitterName; + float globalPose[12]; + physx::PxVec3 scale; + bool dynamic; + uint32_t supportDepth; + bool formExtendedStructures; + bool useAssetDefinedSupport; + bool useWorldSupport; + bool renderStaticChunksSeparately; + STRING_DynamicArray1D_Type overrideSkinnedMaterialNames; + STRING_DynamicArray1D_Type overrideStaticMaterialNames; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + ShapeDescTemplate_Type shapeDescTemplate; + ActorDescTemplate_Type actorDescTemplate; + BodyDescTemplate_Type bodyDescTemplate; + P3ShapeDescTemplate_Type p3ShapeDescTemplate; + P3ActorDescTemplate_Type p3ActorDescTemplate; + P3BodyDescTemplate_Type p3BodyDescTemplate; + +}; + +static const uint32_t checksum[] = { 0xea43d0c2, 0x556da192, 0xc5fcf833, 0x9c928995, }; + +} // namespace DestructibleActorParam_0p5NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleActorParam_0p5 : public NvParameterized::NvParameters, public DestructibleActorParam_0p5NS::ParametersStruct +{ +public: + DestructibleActorParam_0p5(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleActorParam_0p5(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleActorParam"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)5; + + 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(DestructibleActorParam_0p5NS::checksum); + return DestructibleActorParam_0p5NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleActorParam_0p5NS::ParametersStruct& parameters(void) const + { + DestructibleActorParam_0p5* tmpThis = const_cast<DestructibleActorParam_0p5*>(this); + return *(static_cast<DestructibleActorParam_0p5NS::ParametersStruct*>(tmpThis)); + } + + DestructibleActorParam_0p5NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleActorParam_0p5NS::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 DestructibleActorParam_0p5Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleActorParam_0p5::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p5), DestructibleActorParam_0p5::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p5::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p5"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleActorParam_0p5)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p5)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p5::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p5::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p5"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleActorParam_0p5 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 (DestructibleActorParam_0p5*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleActorParam_0p5::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleActorParam_0p5::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleActorParam_0p5::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleActorParam_0p5::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p6.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p6.h new file mode 100644 index 00000000..9c5f0551 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p6.h @@ -0,0 +1,519 @@ +// 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_DestructibleActorParam_0p6_h +#define HEADER_DestructibleActorParam_0p6_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleActorParam_0p6NS +{ + +struct P3FilterData_Type; +struct P3ShapeFlags_Type; +struct P3PairFlag_Type; +struct P3ShapeDescTemplate_Type; +struct P3ActorFlags_Type; +struct P3ActorDescTemplate_Type; +struct P3BodyDescFlags_Type; +struct P3BodyDescTemplate_Type; +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct DestructibleParameters_Type; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct P3BodyDescFlags_Type +{ + bool eKINEMATIC; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; +}; +struct P3FilterData_Type +{ + uint32_t word0; + uint32_t word1; + uint32_t word2; + uint32_t word3; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct DestructibleParameters_Type +{ + float damageThreshold; + float damageToRadius; + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + float materialStrength; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; +}; +struct P3ShapeFlags_Type +{ + bool eSIMULATION_SHAPE; + bool eSCENE_QUERY_SHAPE; + bool eTRIGGER_SHAPE; + bool eVISUALIZATION; + bool ePARTICLE_DRAIN; + bool eDEFORMABLE_DRAIN; + bool eUSE_SWEPT_BOUNDS; +}; +struct P3ShapeDescTemplate_Type +{ + P3ShapeFlags_Type flags; + P3FilterData_Type simulationFilterData; + P3FilterData_Type queryFilterData; + uint64_t material; + float contactOffset; + float restOffset; + uint64_t userData; + uint64_t name; +}; +struct P3ActorFlags_Type +{ + bool eVISUALIZATION; + bool eDISABLE_GRAVITY; + bool eSEND_SLEEP_NOTIFIES; +}; +struct P3BodyDescTemplate_Type +{ + float density; + P3BodyDescFlags_Type flags; + float sleepThreshold; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + uint32_t solverIterationCount; + float contactReportThreshold; + float sleepLinearVelocity; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct P3PairFlag_Type +{ + bool eRESOLVE_CONTACTS; + bool eMODIFY_CONTACTS; + bool eNOTIFY_TOUCH_FOUND; + bool eNOTIFY_TOUCH_PERSISTS; + bool eNOTIFY_TOUCH_LOST; + bool eNOTIFY_THRESHOLD_FORCE_FOUND; + bool eNOTIFY_THRESHOLD_FORCE_PERSISTS; + bool eNOTIFY_THRESHOLD_FORCE_LOST; + bool eNOTIFY_CONTACT_POINTS; + bool eNOTIFY_CONTACT_FORCES; + bool eNOTIFY_CONTACT_FORCE_PER_POINT; + bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT; + bool eSWEPT_CONTACT_GENERATION; + bool eSWEPT_INTEGRATION_LINEAR; + bool eSWEPT_INTEGRATION_FULL; + bool eCONTACT_DEFAULT; + bool eTRIGGER_DEFAULT; +}; +struct P3ActorDescTemplate_Type +{ + P3ActorFlags_Type flags; + uint8_t dominanceGroup; + uint8_t ownerClient; + uint32_t clientBehaviorBits; + P3PairFlag_Type contactReportFlags; + uint64_t userData; + uint64_t name; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + NvParameterized::DummyStringStruct crumbleEmitterName; + NvParameterized::DummyStringStruct dustEmitterName; + float globalPose[12]; + physx::PxVec3 scale; + bool dynamic; + uint32_t supportDepth; + bool formExtendedStructures; + bool useAssetDefinedSupport; + bool useWorldSupport; + bool renderStaticChunksSeparately; + STRING_DynamicArray1D_Type overrideSkinnedMaterialNames; + STRING_DynamicArray1D_Type overrideStaticMaterialNames; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + ShapeDescTemplate_Type shapeDescTemplate; + ActorDescTemplate_Type actorDescTemplate; + BodyDescTemplate_Type bodyDescTemplate; + P3ShapeDescTemplate_Type p3ShapeDescTemplate; + P3ActorDescTemplate_Type p3ActorDescTemplate; + P3BodyDescTemplate_Type p3BodyDescTemplate; + +}; + +static const uint32_t checksum[] = { 0x66bd8343, 0xed0adc83, 0x8728cbf8, 0xf6c36870, }; + +} // namespace DestructibleActorParam_0p6NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleActorParam_0p6 : public NvParameterized::NvParameters, public DestructibleActorParam_0p6NS::ParametersStruct +{ +public: + DestructibleActorParam_0p6(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleActorParam_0p6(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleActorParam"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)6; + + 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(DestructibleActorParam_0p6NS::checksum); + return DestructibleActorParam_0p6NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleActorParam_0p6NS::ParametersStruct& parameters(void) const + { + DestructibleActorParam_0p6* tmpThis = const_cast<DestructibleActorParam_0p6*>(this); + return *(static_cast<DestructibleActorParam_0p6NS::ParametersStruct*>(tmpThis)); + } + + DestructibleActorParam_0p6NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleActorParam_0p6NS::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 DestructibleActorParam_0p6Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleActorParam_0p6::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p6), DestructibleActorParam_0p6::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p6::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p6"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleActorParam_0p6)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p6)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p6::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p6::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p6"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleActorParam_0p6 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 (DestructibleActorParam_0p6*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleActorParam_0p6::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleActorParam_0p6::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleActorParam_0p6::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleActorParam_0p6::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p7.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p7.h new file mode 100644 index 00000000..6cb88911 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p7.h @@ -0,0 +1,521 @@ +// 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_DestructibleActorParam_0p7_h +#define HEADER_DestructibleActorParam_0p7_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleActorParam_0p7NS +{ + +struct P3FilterData_Type; +struct P3ShapeFlags_Type; +struct P3PairFlag_Type; +struct P3ShapeDescTemplate_Type; +struct P3ActorFlags_Type; +struct P3ActorDescTemplate_Type; +struct P3BodyDescFlags_Type; +struct P3BodyDescTemplate_Type; +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct DestructibleParameters_Type; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct P3BodyDescFlags_Type +{ + bool eKINEMATIC; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; +}; +struct P3FilterData_Type +{ + uint32_t word0; + uint32_t word1; + uint32_t word2; + uint32_t word3; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct DestructibleParameters_Type +{ + float damageThreshold; + float damageToRadius; + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + float materialStrength; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; +}; +struct P3ShapeFlags_Type +{ + bool eSIMULATION_SHAPE; + bool eSCENE_QUERY_SHAPE; + bool eTRIGGER_SHAPE; + bool eVISUALIZATION; + bool ePARTICLE_DRAIN; + bool eDEFORMABLE_DRAIN; + bool eUSE_SWEPT_BOUNDS; +}; +struct P3ShapeDescTemplate_Type +{ + P3ShapeFlags_Type flags; + P3FilterData_Type simulationFilterData; + P3FilterData_Type queryFilterData; + uint64_t material; + float contactOffset; + float restOffset; + uint64_t userData; + uint64_t name; +}; +struct P3ActorFlags_Type +{ + bool eVISUALIZATION; + bool eDISABLE_GRAVITY; + bool eSEND_SLEEP_NOTIFIES; +}; +struct P3BodyDescTemplate_Type +{ + float density; + P3BodyDescFlags_Type flags; + float sleepThreshold; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + uint32_t solverIterationCount; + float contactReportThreshold; + float sleepLinearVelocity; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct P3PairFlag_Type +{ + bool eRESOLVE_CONTACTS; + bool eMODIFY_CONTACTS; + bool eNOTIFY_TOUCH_FOUND; + bool eNOTIFY_TOUCH_PERSISTS; + bool eNOTIFY_TOUCH_LOST; + bool eNOTIFY_THRESHOLD_FORCE_FOUND; + bool eNOTIFY_THRESHOLD_FORCE_PERSISTS; + bool eNOTIFY_THRESHOLD_FORCE_LOST; + bool eNOTIFY_CONTACT_POINTS; + bool eNOTIFY_CONTACT_FORCES; + bool eNOTIFY_CONTACT_FORCE_PER_POINT; + bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT; + bool eSWEPT_CONTACT_GENERATION; + bool eSWEPT_INTEGRATION_LINEAR; + bool eSWEPT_INTEGRATION_FULL; + bool eCONTACT_DEFAULT; + bool eTRIGGER_DEFAULT; +}; +struct P3ActorDescTemplate_Type +{ + P3ActorFlags_Type flags; + uint8_t dominanceGroup; + uint8_t ownerClient; + uint32_t clientBehaviorBits; + P3PairFlag_Type contactReportFlags; + uint64_t userData; + uint64_t name; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + NvParameterized::DummyStringStruct crumbleEmitterName; + float crumbleParticleSpacing; + NvParameterized::DummyStringStruct dustEmitterName; + float dustParticleSpacing; + float globalPose[12]; + physx::PxVec3 scale; + bool dynamic; + uint32_t supportDepth; + bool formExtendedStructures; + bool useAssetDefinedSupport; + bool useWorldSupport; + bool renderStaticChunksSeparately; + STRING_DynamicArray1D_Type overrideSkinnedMaterialNames; + STRING_DynamicArray1D_Type overrideStaticMaterialNames; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + ShapeDescTemplate_Type shapeDescTemplate; + ActorDescTemplate_Type actorDescTemplate; + BodyDescTemplate_Type bodyDescTemplate; + P3ShapeDescTemplate_Type p3ShapeDescTemplate; + P3ActorDescTemplate_Type p3ActorDescTemplate; + P3BodyDescTemplate_Type p3BodyDescTemplate; + +}; + +static const uint32_t checksum[] = { 0x2fe5029f, 0x623d909d, 0x15f47121, 0xae5f8420, }; + +} // namespace DestructibleActorParam_0p7NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleActorParam_0p7 : public NvParameterized::NvParameters, public DestructibleActorParam_0p7NS::ParametersStruct +{ +public: + DestructibleActorParam_0p7(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleActorParam_0p7(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleActorParam"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)7; + + 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(DestructibleActorParam_0p7NS::checksum); + return DestructibleActorParam_0p7NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleActorParam_0p7NS::ParametersStruct& parameters(void) const + { + DestructibleActorParam_0p7* tmpThis = const_cast<DestructibleActorParam_0p7*>(this); + return *(static_cast<DestructibleActorParam_0p7NS::ParametersStruct*>(tmpThis)); + } + + DestructibleActorParam_0p7NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleActorParam_0p7NS::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 DestructibleActorParam_0p7Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleActorParam_0p7::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p7), DestructibleActorParam_0p7::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p7::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p7"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleActorParam_0p7)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p7)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p7::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p7::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p7"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleActorParam_0p7 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 (DestructibleActorParam_0p7*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleActorParam_0p7::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleActorParam_0p7::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleActorParam_0p7::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleActorParam_0p7::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p8.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p8.h new file mode 100644 index 00000000..2ff2e5ce --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p8.h @@ -0,0 +1,523 @@ +// 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_DestructibleActorParam_0p8_h +#define HEADER_DestructibleActorParam_0p8_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleActorParam_0p8NS +{ + +struct P3FilterData_Type; +struct P3ShapeFlags_Type; +struct P3PairFlag_Type; +struct P3ShapeDescTemplate_Type; +struct P3ActorFlags_Type; +struct P3ActorDescTemplate_Type; +struct P3BodyDescFlags_Type; +struct P3BodyDescTemplate_Type; +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct DestructibleParameters_Type; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct P3BodyDescFlags_Type +{ + bool eKINEMATIC; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; +}; +struct P3FilterData_Type +{ + uint32_t word0; + uint32_t word1; + uint32_t word2; + uint32_t word3; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct DestructibleParameters_Type +{ + float damageThreshold; + float damageToRadius; + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + float materialStrength; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; +}; +struct P3ShapeFlags_Type +{ + bool eSIMULATION_SHAPE; + bool eSCENE_QUERY_SHAPE; + bool eTRIGGER_SHAPE; + bool eVISUALIZATION; + bool ePARTICLE_DRAIN; + bool eDEFORMABLE_DRAIN; + bool eUSE_SWEPT_BOUNDS; +}; +struct P3ShapeDescTemplate_Type +{ + P3ShapeFlags_Type flags; + P3FilterData_Type simulationFilterData; + P3FilterData_Type queryFilterData; + uint64_t material; + float contactOffset; + float restOffset; + uint64_t userData; + uint64_t name; +}; +struct P3ActorFlags_Type +{ + bool eVISUALIZATION; + bool eDISABLE_GRAVITY; + bool eSEND_SLEEP_NOTIFIES; +}; +struct P3BodyDescTemplate_Type +{ + float density; + P3BodyDescFlags_Type flags; + float sleepThreshold; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + uint32_t solverIterationCount; + float contactReportThreshold; + float sleepLinearVelocity; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct P3PairFlag_Type +{ + bool eRESOLVE_CONTACTS; + bool eMODIFY_CONTACTS; + bool eNOTIFY_TOUCH_FOUND; + bool eNOTIFY_TOUCH_PERSISTS; + bool eNOTIFY_TOUCH_LOST; + bool eNOTIFY_THRESHOLD_FORCE_FOUND; + bool eNOTIFY_THRESHOLD_FORCE_PERSISTS; + bool eNOTIFY_THRESHOLD_FORCE_LOST; + bool eNOTIFY_CONTACT_POINTS; + bool eNOTIFY_CONTACT_FORCES; + bool eNOTIFY_CONTACT_FORCE_PER_POINT; + bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT; + bool eSWEPT_CONTACT_GENERATION; + bool eSWEPT_INTEGRATION_LINEAR; + bool eSWEPT_INTEGRATION_FULL; + bool eCONTACT_DEFAULT; + bool eTRIGGER_DEFAULT; +}; +struct P3ActorDescTemplate_Type +{ + P3ActorFlags_Type flags; + uint8_t dominanceGroup; + uint8_t ownerClient; + uint32_t clientBehaviorBits; + P3PairFlag_Type contactReportFlags; + uint64_t userData; + uint64_t name; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + NvParameterized::DummyStringStruct crumbleEmitterName; + float crumbleParticleSpacing; + NvParameterized::DummyStringStruct dustEmitterName; + float dustParticleSpacing; + float globalPose[12]; + physx::PxVec3 scale; + bool dynamic; + uint32_t supportDepth; + bool formExtendedStructures; + bool keepPreviousFrameBoneBuffer; + bool useAssetDefinedSupport; + bool useWorldSupport; + bool renderStaticChunksSeparately; + bool createChunkEvents; + STRING_DynamicArray1D_Type overrideSkinnedMaterialNames; + STRING_DynamicArray1D_Type overrideStaticMaterialNames; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + ShapeDescTemplate_Type shapeDescTemplate; + ActorDescTemplate_Type actorDescTemplate; + BodyDescTemplate_Type bodyDescTemplate; + P3ShapeDescTemplate_Type p3ShapeDescTemplate; + P3ActorDescTemplate_Type p3ActorDescTemplate; + P3BodyDescTemplate_Type p3BodyDescTemplate; + +}; + +static const uint32_t checksum[] = { 0xd51fd85d, 0x75255e3b, 0x5caf5452, 0x7cc72a14, }; + +} // namespace DestructibleActorParam_0p8NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleActorParam_0p8 : public NvParameterized::NvParameters, public DestructibleActorParam_0p8NS::ParametersStruct +{ +public: + DestructibleActorParam_0p8(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleActorParam_0p8(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleActorParam"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)8; + + 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(DestructibleActorParam_0p8NS::checksum); + return DestructibleActorParam_0p8NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleActorParam_0p8NS::ParametersStruct& parameters(void) const + { + DestructibleActorParam_0p8* tmpThis = const_cast<DestructibleActorParam_0p8*>(this); + return *(static_cast<DestructibleActorParam_0p8NS::ParametersStruct*>(tmpThis)); + } + + DestructibleActorParam_0p8NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleActorParam_0p8NS::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 DestructibleActorParam_0p8Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleActorParam_0p8::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p8), DestructibleActorParam_0p8::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p8::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p8"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleActorParam_0p8)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p8)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p8::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p8::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p8"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleActorParam_0p8 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 (DestructibleActorParam_0p8*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleActorParam_0p8::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleActorParam_0p8::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleActorParam_0p8::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleActorParam_0p8::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p9.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p9.h new file mode 100644 index 00000000..3c227a53 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorParam_0p9.h @@ -0,0 +1,523 @@ +// 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_DestructibleActorParam_0p9_h +#define HEADER_DestructibleActorParam_0p9_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleActorParam_0p9NS +{ + +struct P3FilterData_Type; +struct P3ShapeFlags_Type; +struct P3PairFlag_Type; +struct P3ShapeDescTemplate_Type; +struct P3ActorFlags_Type; +struct P3ActorDescTemplate_Type; +struct P3BodyDescFlags_Type; +struct P3BodyDescTemplate_Type; +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct DestructibleParameters_Type; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct P3BodyDescFlags_Type +{ + bool eKINEMATIC; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; +}; +struct P3FilterData_Type +{ + uint32_t word0; + uint32_t word1; + uint32_t word2; + uint32_t word3; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct DestructibleParameters_Type +{ + float damageThreshold; + float damageToRadius; + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + float materialStrength; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; +}; +struct P3ShapeFlags_Type +{ + bool eSIMULATION_SHAPE; + bool eSCENE_QUERY_SHAPE; + bool eTRIGGER_SHAPE; + bool eVISUALIZATION; + bool ePARTICLE_DRAIN; + bool eDEFORMABLE_DRAIN; + bool eUSE_SWEPT_BOUNDS; +}; +struct P3ShapeDescTemplate_Type +{ + P3ShapeFlags_Type flags; + P3FilterData_Type simulationFilterData; + P3FilterData_Type queryFilterData; + uint64_t material; + float contactOffset; + float restOffset; + uint64_t userData; + uint64_t name; +}; +struct P3ActorFlags_Type +{ + bool eVISUALIZATION; + bool eDISABLE_GRAVITY; + bool eSEND_SLEEP_NOTIFIES; +}; +struct P3BodyDescTemplate_Type +{ + float density; + P3BodyDescFlags_Type flags; + float sleepThreshold; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + uint32_t solverIterationCount; + float contactReportThreshold; + float sleepLinearVelocity; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct P3PairFlag_Type +{ + bool eRESOLVE_CONTACTS; + bool eMODIFY_CONTACTS; + bool eNOTIFY_TOUCH_FOUND; + bool eNOTIFY_TOUCH_PERSISTS; + bool eNOTIFY_TOUCH_LOST; + bool eNOTIFY_THRESHOLD_FORCE_FOUND; + bool eNOTIFY_THRESHOLD_FORCE_PERSISTS; + bool eNOTIFY_THRESHOLD_FORCE_LOST; + bool eNOTIFY_CONTACT_POINTS; + bool eNOTIFY_CONTACT_FORCES; + bool eNOTIFY_CONTACT_FORCE_PER_POINT; + bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT; + bool eSWEPT_CONTACT_GENERATION; + bool eSWEPT_INTEGRATION_LINEAR; + bool eSWEPT_INTEGRATION_FULL; + bool eCONTACT_DEFAULT; + bool eTRIGGER_DEFAULT; +}; +struct P3ActorDescTemplate_Type +{ + P3ActorFlags_Type flags; + uint8_t dominanceGroup; + uint8_t ownerClient; + uint32_t clientBehaviorBits; + P3PairFlag_Type contactReportFlags; + uint64_t userData; + uint64_t name; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + NvParameterized::DummyStringStruct crumbleEmitterName; + float crumbleParticleSpacing; + NvParameterized::DummyStringStruct dustEmitterName; + float dustParticleSpacing; + float globalPose[12]; + physx::PxVec3 scale; + bool dynamic; + uint32_t supportDepth; + bool formExtendedStructures; + bool keepPreviousFrameBoneBuffer; + bool useAssetDefinedSupport; + bool useWorldSupport; + bool renderStaticChunksSeparately; + bool createChunkEvents; + STRING_DynamicArray1D_Type overrideSkinnedMaterialNames; + STRING_DynamicArray1D_Type overrideStaticMaterialNames; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + ShapeDescTemplate_Type shapeDescTemplate; + ActorDescTemplate_Type actorDescTemplate; + BodyDescTemplate_Type bodyDescTemplate; + P3ShapeDescTemplate_Type p3ShapeDescTemplate; + P3ActorDescTemplate_Type p3ActorDescTemplate; + P3BodyDescTemplate_Type p3BodyDescTemplate; + +}; + +static const uint32_t checksum[] = { 0xa5173bb5, 0xce9e156c, 0x762125a2, 0x20d5f8a4, }; + +} // namespace DestructibleActorParam_0p9NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleActorParam_0p9 : public NvParameterized::NvParameters, public DestructibleActorParam_0p9NS::ParametersStruct +{ +public: + DestructibleActorParam_0p9(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleActorParam_0p9(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleActorParam"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)9; + + 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(DestructibleActorParam_0p9NS::checksum); + return DestructibleActorParam_0p9NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleActorParam_0p9NS::ParametersStruct& parameters(void) const + { + DestructibleActorParam_0p9* tmpThis = const_cast<DestructibleActorParam_0p9*>(this); + return *(static_cast<DestructibleActorParam_0p9NS::ParametersStruct*>(tmpThis)); + } + + DestructibleActorParam_0p9NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleActorParam_0p9NS::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 DestructibleActorParam_0p9Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleActorParam_0p9::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleActorParam_0p9), DestructibleActorParam_0p9::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleActorParam_0p9::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p9"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleActorParam_0p9)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorParam_0p9)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleActorParam_0p9::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleActorParam_0p9::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorParam_0p9"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleActorParam_0p9 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 (DestructibleActorParam_0p9*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleActorParam_0p9::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleActorParam_0p9::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleActorParam_0p9::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleActorParam_0p9::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorState_0p0.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorState_0p0.h new file mode 100644 index 00000000..11991c44 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorState_0p0.h @@ -0,0 +1,404 @@ +// 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_DestructibleActorState_0p0_h +#define HEADER_DestructibleActorState_0p0_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleActorState_0p0NS +{ + +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct DestructibleParameters_Type; + +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct DestructibleParameters_Type +{ + float damageThreshold; + float damageToRadius; + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + float materialStrength; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + float debrisDestructionProbability; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + bool enableCrumbleEmitter; + bool enableDustEmitter; + LODWeights_Type internalLODWeights; + uint32_t lod; + bool forceLod; + DestructibleParameters_Type destructibleParameters; + uint64_t userData; + NvParameterized::Interface* actorParameters; + NvParameterized::Interface* actorChunks; + +}; + +static const uint32_t checksum[] = { 0x531aca30, 0xee1057d7, 0x30a2ad2f, 0xae006f8e, }; + +} // namespace DestructibleActorState_0p0NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleActorState_0p0 : public NvParameterized::NvParameters, public DestructibleActorState_0p0NS::ParametersStruct +{ +public: + DestructibleActorState_0p0(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleActorState_0p0(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleActorState"); + } + + 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(DestructibleActorState_0p0NS::checksum); + return DestructibleActorState_0p0NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleActorState_0p0NS::ParametersStruct& parameters(void) const + { + DestructibleActorState_0p0* tmpThis = const_cast<DestructibleActorState_0p0*>(this); + return *(static_cast<DestructibleActorState_0p0NS::ParametersStruct*>(tmpThis)); + } + + DestructibleActorState_0p0NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleActorState_0p0NS::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 DestructibleActorState_0p0Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleActorState_0p0::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleActorState_0p0), DestructibleActorState_0p0::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleActorState_0p0::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorState_0p0"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleActorState_0p0)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorState_0p0)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleActorState_0p0::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleActorState_0p0::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorState_0p0"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleActorState_0p0 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 (DestructibleActorState_0p0*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleActorState_0p0::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleActorState_0p0::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleActorState_0p0::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleActorState_0p0::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorState_0p1.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorState_0p1.h new file mode 100644 index 00000000..c54f131e --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorState_0p1.h @@ -0,0 +1,405 @@ +// 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_DestructibleActorState_0p1_h +#define HEADER_DestructibleActorState_0p1_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleActorState_0p1NS +{ + +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct DestructibleParameters_Type; + +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; + bool CRUMBLE_VIA_RUNTIME_FRACTURE; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct DestructibleParameters_Type +{ + float damageThreshold; + float damageToRadius; + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + float materialStrength; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + float debrisDestructionProbability; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + bool enableCrumbleEmitter; + bool enableDustEmitter; + LODWeights_Type internalLODWeights; + uint32_t lod; + bool forceLod; + DestructibleParameters_Type destructibleParameters; + uint64_t userData; + NvParameterized::Interface* actorParameters; + NvParameterized::Interface* actorChunks; + +}; + +static const uint32_t checksum[] = { 0x64de21dd, 0xb73211a9, 0xdd3d2115, 0x95b40a2f, }; + +} // namespace DestructibleActorState_0p1NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleActorState_0p1 : public NvParameterized::NvParameters, public DestructibleActorState_0p1NS::ParametersStruct +{ +public: + DestructibleActorState_0p1(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleActorState_0p1(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleActorState"); + } + + 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(DestructibleActorState_0p1NS::checksum); + return DestructibleActorState_0p1NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleActorState_0p1NS::ParametersStruct& parameters(void) const + { + DestructibleActorState_0p1* tmpThis = const_cast<DestructibleActorState_0p1*>(this); + return *(static_cast<DestructibleActorState_0p1NS::ParametersStruct*>(tmpThis)); + } + + DestructibleActorState_0p1NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleActorState_0p1NS::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 DestructibleActorState_0p1Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleActorState_0p1::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleActorState_0p1), DestructibleActorState_0p1::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleActorState_0p1::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorState_0p1"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleActorState_0p1)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorState_0p1)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleActorState_0p1::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleActorState_0p1::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorState_0p1"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleActorState_0p1 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 (DestructibleActorState_0p1*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleActorState_0p1::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleActorState_0p1::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleActorState_0p1::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleActorState_0p1::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorState_0p2.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorState_0p2.h new file mode 100644 index 00000000..50166998 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorState_0p2.h @@ -0,0 +1,454 @@ +// This code contains NVIDIA Confidential Information and is disclosed to you +// under a form of NVIDIA software license agreement provided separately to you. +// +// Notice +// NVIDIA Corporation and its licensors retain all intellectual property and +// proprietary rights in and to this software and related documentation and +// any modifications thereto. Any use, reproduction, disclosure, or +// distribution of this software and related documentation without an express +// license agreement from NVIDIA Corporation is strictly prohibited. +// +// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES +// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO +// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT, +// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE. +// +// Information and code furnished is believed to be accurate and reliable. +// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such +// information or for any infringement of patents or other rights of third parties that may +// result from its use. No license is granted by implication or otherwise under any patent +// or patent rights of NVIDIA Corporation. Details are subject to change without notice. +// This code supersedes and replaces all information previously supplied. +// NVIDIA Corporation products are not authorized for use as critical +// components in life support devices or systems without express written approval of +// NVIDIA Corporation. +// +// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved. + +// This file was generated by NvParameterized/scripts/GenParameterized.pl + + +#ifndef HEADER_DestructibleActorState_0p2_h +#define HEADER_DestructibleActorState_0p2_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleActorState_0p2NS +{ + +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct FractureGlass_Type; +struct FractureVoronoi_Type; +struct FractureAttachment_Type; +struct RuntimeFracture_Type; +struct DestructibleParameters_Type; +struct DamageSpreadFunction_Type; + +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; + bool CRUMBLE_VIA_RUNTIME_FRACTURE; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct FractureGlass_Type +{ + uint32_t numSectors; + float sectorRand; + float firstSegmentSize; + float segmentScale; + float segmentRand; +}; +struct DamageSpreadFunction_Type +{ + float minimumRadius; + float radiusMultiplier; + float falloffExponent; +}; +struct FractureVoronoi_Type +{ + physx::PxVec3 dimensions; + uint32_t numCells; + float biasExp; + float maxDist; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct FractureAttachment_Type +{ + bool posX; + bool negX; + bool posY; + bool negY; + bool posZ; + bool negZ; +}; +struct RuntimeFracture_Type +{ + const char* RuntimeFractureType; + bool sheetFracture; + uint32_t depthLimit; + bool destroyIfAtDepthLimit; + float minConvexSize; + float impulseScale; + FractureGlass_Type glass; + FractureVoronoi_Type voronoi; + FractureAttachment_Type attachment; +}; +struct DestructibleParameters_Type +{ + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + float debrisDestructionProbability; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t damageDepthLimit; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; + RuntimeFracture_Type runtimeFracture; + float supportStrength; + int8_t legacyChunkBoundsTestSetting; + int8_t legacyDamageRadiusSpreadSetting; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + bool enableCrumbleEmitter; + bool enableDustEmitter; + LODWeights_Type internalLODWeights; + uint32_t lod; + bool forceLod; + DestructibleParameters_Type destructibleParameters; + uint64_t userData; + NvParameterized::Interface* actorParameters; + NvParameterized::Interface* actorChunks; + +}; + +static const uint32_t checksum[] = { 0x6e71d0c6, 0x94af2f1d, 0x37ac87d3, 0xc9970214, }; + +} // namespace DestructibleActorState_0p2NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleActorState_0p2 : public NvParameterized::NvParameters, public DestructibleActorState_0p2NS::ParametersStruct +{ +public: + DestructibleActorState_0p2(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleActorState_0p2(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleActorState"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)2; + + 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(DestructibleActorState_0p2NS::checksum); + return DestructibleActorState_0p2NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleActorState_0p2NS::ParametersStruct& parameters(void) const + { + DestructibleActorState_0p2* tmpThis = const_cast<DestructibleActorState_0p2*>(this); + return *(static_cast<DestructibleActorState_0p2NS::ParametersStruct*>(tmpThis)); + } + + DestructibleActorState_0p2NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleActorState_0p2NS::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 DestructibleActorState_0p2Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleActorState_0p2::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleActorState_0p2), DestructibleActorState_0p2::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleActorState_0p2::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorState_0p2"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleActorState_0p2)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorState_0p2)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleActorState_0p2::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleActorState_0p2::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorState_0p2"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleActorState_0p2 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 (DestructibleActorState_0p2*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleActorState_0p2::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleActorState_0p2::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleActorState_0p2::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleActorState_0p2::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorState_0p3.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorState_0p3.h new file mode 100644 index 00000000..efb31292 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorState_0p3.h @@ -0,0 +1,444 @@ +// 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_DestructibleActorState_0p3_h +#define HEADER_DestructibleActorState_0p3_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleActorState_0p3NS +{ + +struct GroupsMask_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct FractureGlass_Type; +struct FractureVoronoi_Type; +struct FractureAttachment_Type; +struct RuntimeFracture_Type; +struct DestructibleParameters_Type; +struct DamageSpreadFunction_Type; + +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; + bool CRUMBLE_VIA_RUNTIME_FRACTURE; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct FractureGlass_Type +{ + uint32_t numSectors; + float sectorRand; + float firstSegmentSize; + float segmentScale; + float segmentRand; +}; +struct DamageSpreadFunction_Type +{ + float minimumRadius; + float radiusMultiplier; + float falloffExponent; +}; +struct FractureVoronoi_Type +{ + physx::PxVec3 dimensions; + uint32_t numCells; + float biasExp; + float maxDist; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct FractureAttachment_Type +{ + bool posX; + bool negX; + bool posY; + bool negY; + bool posZ; + bool negZ; +}; +struct RuntimeFracture_Type +{ + const char* RuntimeFractureType; + bool sheetFracture; + uint32_t depthLimit; + bool destroyIfAtDepthLimit; + float minConvexSize; + float impulseScale; + FractureGlass_Type glass; + FractureVoronoi_Type voronoi; + FractureAttachment_Type attachment; +}; +struct DestructibleParameters_Type +{ + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + float debrisDestructionProbability; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t damageDepthLimit; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; + RuntimeFracture_Type runtimeFracture; + float supportStrength; + int8_t legacyChunkBoundsTestSetting; + int8_t legacyDamageRadiusSpreadSetting; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + bool enableCrumbleEmitter; + bool enableDustEmitter; + uint32_t lod; + bool forceLod; + DestructibleParameters_Type destructibleParameters; + uint64_t userData; + NvParameterized::Interface* actorParameters; + NvParameterized::Interface* actorChunks; + +}; + +static const uint32_t checksum[] = { 0xfe120409, 0x2396ff11, 0xe58c3cca, 0x0568c142, }; + +} // namespace DestructibleActorState_0p3NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleActorState_0p3 : public NvParameterized::NvParameters, public DestructibleActorState_0p3NS::ParametersStruct +{ +public: + DestructibleActorState_0p3(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleActorState_0p3(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleActorState"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)3; + + 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(DestructibleActorState_0p3NS::checksum); + return DestructibleActorState_0p3NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleActorState_0p3NS::ParametersStruct& parameters(void) const + { + DestructibleActorState_0p3* tmpThis = const_cast<DestructibleActorState_0p3*>(this); + return *(static_cast<DestructibleActorState_0p3NS::ParametersStruct*>(tmpThis)); + } + + DestructibleActorState_0p3NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleActorState_0p3NS::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 DestructibleActorState_0p3Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleActorState_0p3::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleActorState_0p3), DestructibleActorState_0p3::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleActorState_0p3::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorState_0p3"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleActorState_0p3)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorState_0p3)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleActorState_0p3::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleActorState_0p3::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorState_0p3"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleActorState_0p3 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 (DestructibleActorState_0p3*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleActorState_0p3::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleActorState_0p3::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleActorState_0p3::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleActorState_0p3::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorState_0p4.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorState_0p4.h new file mode 100644 index 00000000..04248a0d --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleActorState_0p4.h @@ -0,0 +1,445 @@ +// 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_DestructibleActorState_0p4_h +#define HEADER_DestructibleActorState_0p4_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleActorState_0p4NS +{ + +struct GroupsMask_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct FractureGlass_Type; +struct FractureVoronoi_Type; +struct FractureAttachment_Type; +struct RuntimeFracture_Type; +struct DestructibleParameters_Type; +struct DamageSpreadFunction_Type; + +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; + bool CRUMBLE_VIA_RUNTIME_FRACTURE; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct FractureGlass_Type +{ + uint32_t numSectors; + float sectorRand; + float firstSegmentSize; + float segmentScale; + float segmentRand; +}; +struct DamageSpreadFunction_Type +{ + float minimumRadius; + float radiusMultiplier; + float falloffExponent; +}; +struct FractureVoronoi_Type +{ + physx::PxVec3 dimensions; + uint32_t numCells; + float biasExp; + float maxDist; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct FractureAttachment_Type +{ + bool posX; + bool negX; + bool posY; + bool negY; + bool posZ; + bool negZ; +}; +struct RuntimeFracture_Type +{ + const char* RuntimeFractureType; + bool sheetFracture; + uint32_t depthLimit; + bool destroyIfAtDepthLimit; + float minConvexSize; + float impulseScale; + FractureGlass_Type glass; + FractureVoronoi_Type voronoi; + FractureAttachment_Type attachment; +}; +struct DestructibleParameters_Type +{ + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + float debrisDestructionProbability; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t damageDepthLimit; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; + RuntimeFracture_Type runtimeFracture; + float supportStrength; + int8_t legacyChunkBoundsTestSetting; + int8_t legacyDamageRadiusSpreadSetting; + bool alwaysDrawScatterMesh; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + bool enableCrumbleEmitter; + bool enableDustEmitter; + uint32_t lod; + bool forceLod; + DestructibleParameters_Type destructibleParameters; + uint64_t userData; + NvParameterized::Interface* actorParameters; + NvParameterized::Interface* actorChunks; + +}; + +static const uint32_t checksum[] = { 0xc6984ee8, 0x0dae2202, 0x4f638ad1, 0x24536329, }; + +} // namespace DestructibleActorState_0p4NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleActorState_0p4 : public NvParameterized::NvParameters, public DestructibleActorState_0p4NS::ParametersStruct +{ +public: + DestructibleActorState_0p4(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleActorState_0p4(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleActorState"); + } + + 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(DestructibleActorState_0p4NS::checksum); + return DestructibleActorState_0p4NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleActorState_0p4NS::ParametersStruct& parameters(void) const + { + DestructibleActorState_0p4* tmpThis = const_cast<DestructibleActorState_0p4*>(this); + return *(static_cast<DestructibleActorState_0p4NS::ParametersStruct*>(tmpThis)); + } + + DestructibleActorState_0p4NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleActorState_0p4NS::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 DestructibleActorState_0p4Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleActorState_0p4::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleActorState_0p4), DestructibleActorState_0p4::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleActorState_0p4::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorState_0p4"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleActorState_0p4)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleActorState_0p4)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleActorState_0p4::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleActorState_0p4::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleActorState_0p4"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleActorState_0p4 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 (DestructibleActorState_0p4*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleActorState_0p4::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleActorState_0p4::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleActorState_0p4::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleActorState_0p4::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetCollisionDataSet_0p0.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetCollisionDataSet_0p0.h new file mode 100644 index 00000000..0053e5cd --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetCollisionDataSet_0p0.h @@ -0,0 +1,250 @@ +// 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_DestructibleAssetCollisionDataSet_0p0_h +#define HEADER_DestructibleAssetCollisionDataSet_0p0_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleAssetCollisionDataSet_0p0NS +{ + + +struct VEC3_DynamicArray1D_Type +{ + physx::PxVec3* 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 ParametersStruct +{ + + NvParameterized::DummyStringStruct assetName; + uint32_t cookingPlatform; + uint32_t cookingVersionNum; + VEC3_DynamicArray1D_Type scales; + REF_DynamicArray1D_Type meshCookedCollisionStreamsAtScale; + +}; + +static const uint32_t checksum[] = { 0x716db49d, 0xccc81ef4, 0x85f3752e, 0x9cf18dc6, }; + +} // namespace DestructibleAssetCollisionDataSet_0p0NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleAssetCollisionDataSet_0p0 : public NvParameterized::NvParameters, public DestructibleAssetCollisionDataSet_0p0NS::ParametersStruct +{ +public: + DestructibleAssetCollisionDataSet_0p0(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleAssetCollisionDataSet_0p0(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleAssetCollisionDataSet"); + } + + 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(DestructibleAssetCollisionDataSet_0p0NS::checksum); + return DestructibleAssetCollisionDataSet_0p0NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleAssetCollisionDataSet_0p0NS::ParametersStruct& parameters(void) const + { + DestructibleAssetCollisionDataSet_0p0* tmpThis = const_cast<DestructibleAssetCollisionDataSet_0p0*>(this); + return *(static_cast<DestructibleAssetCollisionDataSet_0p0NS::ParametersStruct*>(tmpThis)); + } + + DestructibleAssetCollisionDataSet_0p0NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleAssetCollisionDataSet_0p0NS::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 DestructibleAssetCollisionDataSet_0p0Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleAssetCollisionDataSet_0p0::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetCollisionDataSet_0p0), DestructibleAssetCollisionDataSet_0p0::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleAssetCollisionDataSet_0p0::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetCollisionDataSet_0p0"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleAssetCollisionDataSet_0p0)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetCollisionDataSet_0p0)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleAssetCollisionDataSet_0p0::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleAssetCollisionDataSet_0p0::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetCollisionDataSet_0p0"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleAssetCollisionDataSet_0p0 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 (DestructibleAssetCollisionDataSet_0p0*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleAssetCollisionDataSet_0p0::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleAssetCollisionDataSet_0p0::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleAssetCollisionDataSet_0p0::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleAssetCollisionDataSet_0p0::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p0.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p0.h new file mode 100644 index 00000000..5bfe59b1 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p0.h @@ -0,0 +1,465 @@ +// 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_DestructibleAssetParameters_0p0_h +#define HEADER_DestructibleAssetParameters_0p0_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleAssetParameters_0p0NS +{ + +struct Chunk_Type; +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct DestructibleParameters_Type; +struct Plane_Type; + +struct Chunk_DynamicArray1D_Type +{ + Chunk_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 DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct U32_DynamicArray1D_Type +{ + uint32_t* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool TAKE_IMPACT_DAMAGE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool ASSET_DEFINED_SUPPORT; + bool WORLD_SUPPORT; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct Plane_Type +{ + physx::PxVec3 normal; + float d; +}; +struct DestructibleParameters_Type +{ + float damageThreshold; + float damageToRadius; + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + float materialStrength; + float damageToPercentDeformation; + float deformationPercentLimit; + uint32_t formExtendedStructures; + uint32_t supportDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + float massScaleExponent; + DestructibleParametersFlag_Type flags; + float grbVolumeLimit; + float grbParticleSpacing; + float fractureImpulseScale; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float bias; + float benefitsBias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct Chunk_Type +{ + uint16_t depth; + uint16_t parentIndex; + uint16_t firstChildIndex; + uint16_t numChildren; + uint16_t meshPartIndex; + uint16_t flags; + physx::PxBounds3 bounds; + physx::PxVec3 surfaceNormal; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + uint32_t depthCount; + uint32_t originalDepthCount; + physx::PxBounds3 bounds; + Chunk_DynamicArray1D_Type chunks; + REF_DynamicArray1D_Type chunkConvexHulls; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + NvParameterized::DummyStringStruct crumbleEmitterName; + NvParameterized::DummyStringStruct dustEmitterName; + NvParameterized::Interface* collisionData; + REF_DynamicArray1D_Type surfaceTraceSets; + NvParameterized::Interface* renderMeshAsset; + int32_t interiorSubmeshIndex; + float neighborPadding; + REF_DynamicArray1D_Type overlapsAtDepth; + U32_DynamicArray1D_Type firstChunkAtDepth; + +}; + +static const uint32_t checksum[] = { 0x8dd3639d, 0xa4f1cfe4, 0xbbf71ce0, 0x6876fafb, }; + +} // namespace DestructibleAssetParameters_0p0NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleAssetParameters_0p0 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p0NS::ParametersStruct +{ +public: + DestructibleAssetParameters_0p0(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleAssetParameters_0p0(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleAssetParameters"); + } + + 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(DestructibleAssetParameters_0p0NS::checksum); + return DestructibleAssetParameters_0p0NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleAssetParameters_0p0NS::ParametersStruct& parameters(void) const + { + DestructibleAssetParameters_0p0* tmpThis = const_cast<DestructibleAssetParameters_0p0*>(this); + return *(static_cast<DestructibleAssetParameters_0p0NS::ParametersStruct*>(tmpThis)); + } + + DestructibleAssetParameters_0p0NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleAssetParameters_0p0NS::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 DestructibleAssetParameters_0p0Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleAssetParameters_0p0::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p0), DestructibleAssetParameters_0p0::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p0::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p0"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p0)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p0)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p0::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p0::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p0"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleAssetParameters_0p0 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 (DestructibleAssetParameters_0p0*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleAssetParameters_0p0::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleAssetParameters_0p0::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleAssetParameters_0p0::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleAssetParameters_0p0::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p1.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p1.h new file mode 100644 index 00000000..387dbd55 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p1.h @@ -0,0 +1,474 @@ +// 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_DestructibleAssetParameters_0p1_h +#define HEADER_DestructibleAssetParameters_0p1_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleAssetParameters_0p1NS +{ + +struct Chunk_Type; +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct DestructibleParameters_Type; +struct Plane_Type; + +struct Chunk_DynamicArray1D_Type +{ + Chunk_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 DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct U32_DynamicArray1D_Type +{ + uint32_t* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool TAKE_IMPACT_DAMAGE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool ASSET_DEFINED_SUPPORT; + bool WORLD_SUPPORT; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct Plane_Type +{ + physx::PxVec3 normal; + float d; +}; +struct DestructibleParameters_Type +{ + float damageThreshold; + float damageToRadius; + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + float materialStrength; + float damageToPercentDeformation; + float deformationPercentLimit; + uint32_t formExtendedStructures; + uint32_t supportDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + float massScaleExponent; + DestructibleParametersFlag_Type flags; + float grbVolumeLimit; + float grbParticleSpacing; + float fractureImpulseScale; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float bias; + float benefitsBias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct Chunk_Type +{ + uint16_t depth; + uint16_t parentIndex; + uint16_t firstChildIndex; + uint16_t numChildren; + uint16_t meshPartIndex; + uint16_t flags; + physx::PxBounds3 bounds; + physx::PxVec3 surfaceNormal; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + uint32_t depthCount; + uint32_t originalDepthCount; + physx::PxBounds3 bounds; + Chunk_DynamicArray1D_Type chunks; + REF_DynamicArray1D_Type chunkConvexHulls; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + NvParameterized::DummyStringStruct crumbleEmitterName; + NvParameterized::DummyStringStruct dustEmitterName; + NvParameterized::Interface* collisionData; + REF_DynamicArray1D_Type surfaceTraceSets; + NvParameterized::Interface* renderMeshAsset; + int32_t interiorSubmeshIndex; + STRING_DynamicArray1D_Type staticMaterialNames; + float neighborPadding; + REF_DynamicArray1D_Type overlapsAtDepth; + U32_DynamicArray1D_Type firstChunkAtDepth; + +}; + +static const uint32_t checksum[] = { 0x2486dde1, 0x2298a3d7, 0x0ce27ce1, 0x2c97bc7d, }; + +} // namespace DestructibleAssetParameters_0p1NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleAssetParameters_0p1 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p1NS::ParametersStruct +{ +public: + DestructibleAssetParameters_0p1(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleAssetParameters_0p1(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleAssetParameters"); + } + + 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(DestructibleAssetParameters_0p1NS::checksum); + return DestructibleAssetParameters_0p1NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleAssetParameters_0p1NS::ParametersStruct& parameters(void) const + { + DestructibleAssetParameters_0p1* tmpThis = const_cast<DestructibleAssetParameters_0p1*>(this); + return *(static_cast<DestructibleAssetParameters_0p1NS::ParametersStruct*>(tmpThis)); + } + + DestructibleAssetParameters_0p1NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleAssetParameters_0p1NS::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 DestructibleAssetParameters_0p1Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleAssetParameters_0p1::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p1), DestructibleAssetParameters_0p1::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p1::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p1"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p1)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p1)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p1::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p1::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p1"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleAssetParameters_0p1 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 (DestructibleAssetParameters_0p1*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleAssetParameters_0p1::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleAssetParameters_0p1::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleAssetParameters_0p1::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleAssetParameters_0p1::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p10.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p10.h new file mode 100644 index 00000000..06014b59 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p10.h @@ -0,0 +1,500 @@ +// This code contains NVIDIA Confidential Information and is disclosed to you +// under a form of NVIDIA software license agreement provided separately to you. +// +// Notice +// NVIDIA Corporation and its licensors retain all intellectual property and +// proprietary rights in and to this software and related documentation and +// any modifications thereto. Any use, reproduction, disclosure, or +// distribution of this software and related documentation without an express +// license agreement from NVIDIA Corporation is strictly prohibited. +// +// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES +// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO +// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT, +// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE. +// +// Information and code furnished is believed to be accurate and reliable. +// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such +// information or for any infringement of patents or other rights of third parties that may +// result from its use. No license is granted by implication or otherwise under any patent +// or patent rights of NVIDIA Corporation. Details are subject to change without notice. +// This code supersedes and replaces all information previously supplied. +// NVIDIA Corporation products are not authorized for use as critical +// components in life support devices or systems without express written approval of +// NVIDIA Corporation. +// +// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved. + +// This file was generated by NvParameterized/scripts/GenParameterized.pl + + +#ifndef HEADER_DestructibleAssetParameters_0p10_h +#define HEADER_DestructibleAssetParameters_0p10_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleAssetParameters_0p10NS +{ + +struct Chunk_Type; +struct InstanceInfo_Type; +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct DestructibleParameters_Type; +struct Plane_Type; + +struct Chunk_DynamicArray1D_Type +{ + Chunk_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 U32_DynamicArray1D_Type +{ + uint32_t* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct InstanceInfo_DynamicArray1D_Type +{ + InstanceInfo_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct MAT44_DynamicArray1D_Type +{ + physx::PxMat44* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct InstanceInfo_Type +{ + uint16_t partIndex; + physx::PxVec3 chunkPositionOffset; + physx::PxVec2 chunkUVOffset; +}; +struct Plane_Type +{ + physx::PxVec3 normal; + float d; +}; +struct DestructibleParameters_Type +{ + float damageThreshold; + float damageToRadius; + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + float materialStrength; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct Chunk_Type +{ + uint16_t depth; + uint16_t parentIndex; + uint16_t firstChildIndex; + uint16_t numChildren; + uint16_t meshPartIndex; + uint16_t flags; + physx::PxVec3 surfaceNormal; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + NvParameterized::DummyStringStruct comments; + uint32_t depthCount; + uint32_t originalDepthCount; + physx::PxBounds3 bounds; + Chunk_DynamicArray1D_Type chunks; + REF_DynamicArray1D_Type chunkConvexHulls; + U32_DynamicArray1D_Type chunkConvexHullStartIndices; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + NvParameterized::DummyStringStruct crumbleEmitterName; + NvParameterized::DummyStringStruct dustEmitterName; + NvParameterized::Interface* collisionData; + REF_DynamicArray1D_Type surfaceTraceSets; + NvParameterized::Interface* renderMeshAsset; + uint32_t initialDestructibleActorAllowanceForInstancing; + InstanceInfo_DynamicArray1D_Type chunkInstanceInfo; + int32_t interiorSubmeshIndex; + STRING_DynamicArray1D_Type staticMaterialNames; + float neighborPadding; + REF_DynamicArray1D_Type overlapsAtDepth; + U32_DynamicArray1D_Type firstChunkAtDepth; + uint32_t supportDepth; + bool formExtendedStructures; + bool useAssetDefinedSupport; + bool useWorldSupport; + MAT44_DynamicArray1D_Type actorTransforms; + +}; + +static const uint32_t checksum[] = { 0xed9b0702, 0x552412c3, 0x3dffc236, 0xde7cd7c8, }; + +} // namespace DestructibleAssetParameters_0p10NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleAssetParameters_0p10 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p10NS::ParametersStruct +{ +public: + DestructibleAssetParameters_0p10(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleAssetParameters_0p10(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleAssetParameters"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)10; + + 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(DestructibleAssetParameters_0p10NS::checksum); + return DestructibleAssetParameters_0p10NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleAssetParameters_0p10NS::ParametersStruct& parameters(void) const + { + DestructibleAssetParameters_0p10* tmpThis = const_cast<DestructibleAssetParameters_0p10*>(this); + return *(static_cast<DestructibleAssetParameters_0p10NS::ParametersStruct*>(tmpThis)); + } + + DestructibleAssetParameters_0p10NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleAssetParameters_0p10NS::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 DestructibleAssetParameters_0p10Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleAssetParameters_0p10::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p10), DestructibleAssetParameters_0p10::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p10::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p10"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p10)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p10)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p10::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p10::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p10"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleAssetParameters_0p10 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 (DestructibleAssetParameters_0p10*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleAssetParameters_0p10::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleAssetParameters_0p10::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleAssetParameters_0p10::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleAssetParameters_0p10::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p11.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p11.h new file mode 100644 index 00000000..cd3d0965 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p11.h @@ -0,0 +1,501 @@ +// 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_DestructibleAssetParameters_0p11_h +#define HEADER_DestructibleAssetParameters_0p11_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleAssetParameters_0p11NS +{ + +struct Chunk_Type; +struct InstanceInfo_Type; +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct DestructibleParameters_Type; +struct Plane_Type; + +struct Chunk_DynamicArray1D_Type +{ + Chunk_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 U32_DynamicArray1D_Type +{ + uint32_t* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct InstanceInfo_DynamicArray1D_Type +{ + InstanceInfo_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct MAT44_DynamicArray1D_Type +{ + physx::PxMat44* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct InstanceInfo_Type +{ + uint16_t partIndex; + physx::PxVec3 chunkPositionOffset; + physx::PxVec2 chunkUVOffset; +}; +struct Plane_Type +{ + physx::PxVec3 normal; + float d; +}; +struct DestructibleParameters_Type +{ + float damageThreshold; + float damageToRadius; + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + float materialStrength; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + float debrisDestructionProbability; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct Chunk_Type +{ + uint16_t depth; + uint16_t parentIndex; + uint16_t firstChildIndex; + uint16_t numChildren; + uint16_t meshPartIndex; + uint16_t flags; + physx::PxVec3 surfaceNormal; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + NvParameterized::DummyStringStruct comments; + uint32_t depthCount; + uint32_t originalDepthCount; + physx::PxBounds3 bounds; + Chunk_DynamicArray1D_Type chunks; + REF_DynamicArray1D_Type chunkConvexHulls; + U32_DynamicArray1D_Type chunkConvexHullStartIndices; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + NvParameterized::DummyStringStruct crumbleEmitterName; + NvParameterized::DummyStringStruct dustEmitterName; + NvParameterized::Interface* collisionData; + REF_DynamicArray1D_Type surfaceTraceSets; + NvParameterized::Interface* renderMeshAsset; + uint32_t initialDestructibleActorAllowanceForInstancing; + InstanceInfo_DynamicArray1D_Type chunkInstanceInfo; + int32_t interiorSubmeshIndex; + STRING_DynamicArray1D_Type staticMaterialNames; + float neighborPadding; + REF_DynamicArray1D_Type overlapsAtDepth; + U32_DynamicArray1D_Type firstChunkAtDepth; + uint32_t supportDepth; + bool formExtendedStructures; + bool useAssetDefinedSupport; + bool useWorldSupport; + MAT44_DynamicArray1D_Type actorTransforms; + +}; + +static const uint32_t checksum[] = { 0x71b03c11, 0x44ff53cb, 0xe355f2f6, 0xbba1e381, }; + +} // namespace DestructibleAssetParameters_0p11NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleAssetParameters_0p11 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p11NS::ParametersStruct +{ +public: + DestructibleAssetParameters_0p11(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleAssetParameters_0p11(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleAssetParameters"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)11; + + 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(DestructibleAssetParameters_0p11NS::checksum); + return DestructibleAssetParameters_0p11NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleAssetParameters_0p11NS::ParametersStruct& parameters(void) const + { + DestructibleAssetParameters_0p11* tmpThis = const_cast<DestructibleAssetParameters_0p11*>(this); + return *(static_cast<DestructibleAssetParameters_0p11NS::ParametersStruct*>(tmpThis)); + } + + DestructibleAssetParameters_0p11NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleAssetParameters_0p11NS::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 DestructibleAssetParameters_0p11Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleAssetParameters_0p11::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p11), DestructibleAssetParameters_0p11::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p11::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p11"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p11)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p11)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p11::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p11::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p11"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleAssetParameters_0p11 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 (DestructibleAssetParameters_0p11*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleAssetParameters_0p11::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleAssetParameters_0p11::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleAssetParameters_0p11::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleAssetParameters_0p11::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p12.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p12.h new file mode 100644 index 00000000..81b47d73 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p12.h @@ -0,0 +1,499 @@ +// 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_DestructibleAssetParameters_0p12_h +#define HEADER_DestructibleAssetParameters_0p12_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleAssetParameters_0p12NS +{ + +struct Chunk_Type; +struct InstanceInfo_Type; +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct DestructibleParameters_Type; +struct Plane_Type; + +struct Chunk_DynamicArray1D_Type +{ + Chunk_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 U32_DynamicArray1D_Type +{ + uint32_t* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct InstanceInfo_DynamicArray1D_Type +{ + InstanceInfo_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct MAT44_DynamicArray1D_Type +{ + physx::PxMat44* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct InstanceInfo_Type +{ + uint16_t partIndex; + physx::PxVec3 chunkPositionOffset; + physx::PxVec2 chunkUVOffset; +}; +struct Plane_Type +{ + physx::PxVec3 normal; + float d; +}; +struct DestructibleParameters_Type +{ + float damageThreshold; + float damageToRadius; + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + float materialStrength; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + float debrisDestructionProbability; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct Chunk_Type +{ + uint16_t depth; + uint16_t parentIndex; + uint16_t firstChildIndex; + uint16_t numChildren; + uint16_t meshPartIndex; + uint16_t flags; + physx::PxVec3 surfaceNormal; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + NvParameterized::DummyStringStruct comments; + uint32_t depthCount; + uint32_t originalDepthCount; + physx::PxBounds3 bounds; + Chunk_DynamicArray1D_Type chunks; + REF_DynamicArray1D_Type chunkConvexHulls; + U32_DynamicArray1D_Type chunkConvexHullStartIndices; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + NvParameterized::DummyStringStruct crumbleEmitterName; + NvParameterized::DummyStringStruct dustEmitterName; + NvParameterized::Interface* collisionData; + NvParameterized::Interface* renderMeshAsset; + uint32_t initialDestructibleActorAllowanceForInstancing; + InstanceInfo_DynamicArray1D_Type chunkInstanceInfo; + STRING_DynamicArray1D_Type staticMaterialNames; + float neighborPadding; + REF_DynamicArray1D_Type overlapsAtDepth; + U32_DynamicArray1D_Type firstChunkAtDepth; + uint32_t supportDepth; + bool formExtendedStructures; + bool useAssetDefinedSupport; + bool useWorldSupport; + MAT44_DynamicArray1D_Type actorTransforms; + +}; + +static const uint32_t checksum[] = { 0x36c5ea74, 0xcb9978af, 0x9d359418, 0x408ce916, }; + +} // namespace DestructibleAssetParameters_0p12NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleAssetParameters_0p12 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p12NS::ParametersStruct +{ +public: + DestructibleAssetParameters_0p12(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleAssetParameters_0p12(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleAssetParameters"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)12; + + 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(DestructibleAssetParameters_0p12NS::checksum); + return DestructibleAssetParameters_0p12NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleAssetParameters_0p12NS::ParametersStruct& parameters(void) const + { + DestructibleAssetParameters_0p12* tmpThis = const_cast<DestructibleAssetParameters_0p12*>(this); + return *(static_cast<DestructibleAssetParameters_0p12NS::ParametersStruct*>(tmpThis)); + } + + DestructibleAssetParameters_0p12NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleAssetParameters_0p12NS::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 DestructibleAssetParameters_0p12Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleAssetParameters_0p12::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p12), DestructibleAssetParameters_0p12::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p12::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p12"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p12)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p12)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p12::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p12::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p12"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleAssetParameters_0p12 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 (DestructibleAssetParameters_0p12*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleAssetParameters_0p12::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleAssetParameters_0p12::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleAssetParameters_0p12::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleAssetParameters_0p12::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p13.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p13.h new file mode 100644 index 00000000..31664367 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p13.h @@ -0,0 +1,500 @@ +// This code contains NVIDIA Confidential Information and is disclosed to you +// under a form of NVIDIA software license agreement provided separately to you. +// +// Notice +// NVIDIA Corporation and its licensors retain all intellectual property and +// proprietary rights in and to this software and related documentation and +// any modifications thereto. Any use, reproduction, disclosure, or +// distribution of this software and related documentation without an express +// license agreement from NVIDIA Corporation is strictly prohibited. +// +// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES +// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO +// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT, +// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE. +// +// Information and code furnished is believed to be accurate and reliable. +// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such +// information or for any infringement of patents or other rights of third parties that may +// result from its use. No license is granted by implication or otherwise under any patent +// or patent rights of NVIDIA Corporation. Details are subject to change without notice. +// This code supersedes and replaces all information previously supplied. +// NVIDIA Corporation products are not authorized for use as critical +// components in life support devices or systems without express written approval of +// NVIDIA Corporation. +// +// Copyright (c) 2008-2015 NVIDIA Corporation. All rights reserved. + +// This file was generated by NvParameterized/scripts/GenParameterized.pl + + +#ifndef HEADER_DestructibleAssetParameters_0p13_h +#define HEADER_DestructibleAssetParameters_0p13_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleAssetParameters_0p13NS +{ + +struct Chunk_Type; +struct InstanceInfo_Type; +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct DestructibleParameters_Type; +struct Plane_Type; + +struct Chunk_DynamicArray1D_Type +{ + Chunk_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 U32_DynamicArray1D_Type +{ + uint32_t* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct InstanceInfo_DynamicArray1D_Type +{ + InstanceInfo_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct MAT44_DynamicArray1D_Type +{ + physx::PxMat44* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; + bool CRUMBLE_VIA_RUNTIME_FRACTURE; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct InstanceInfo_Type +{ + uint16_t partIndex; + physx::PxVec3 chunkPositionOffset; + physx::PxVec2 chunkUVOffset; +}; +struct Plane_Type +{ + physx::PxVec3 normal; + float d; +}; +struct DestructibleParameters_Type +{ + float damageThreshold; + float damageToRadius; + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + float materialStrength; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + float debrisDestructionProbability; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct Chunk_Type +{ + uint16_t depth; + uint16_t parentIndex; + uint16_t firstChildIndex; + uint16_t numChildren; + uint16_t meshPartIndex; + uint16_t flags; + physx::PxVec3 surfaceNormal; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + NvParameterized::DummyStringStruct comments; + uint32_t depthCount; + uint32_t originalDepthCount; + physx::PxBounds3 bounds; + Chunk_DynamicArray1D_Type chunks; + REF_DynamicArray1D_Type chunkConvexHulls; + U32_DynamicArray1D_Type chunkConvexHullStartIndices; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + NvParameterized::DummyStringStruct crumbleEmitterName; + NvParameterized::DummyStringStruct dustEmitterName; + NvParameterized::Interface* collisionData; + NvParameterized::Interface* renderMeshAsset; + uint32_t initialDestructibleActorAllowanceForInstancing; + InstanceInfo_DynamicArray1D_Type chunkInstanceInfo; + STRING_DynamicArray1D_Type staticMaterialNames; + float neighborPadding; + REF_DynamicArray1D_Type overlapsAtDepth; + U32_DynamicArray1D_Type firstChunkAtDepth; + uint32_t supportDepth; + bool formExtendedStructures; + bool useAssetDefinedSupport; + bool useWorldSupport; + MAT44_DynamicArray1D_Type actorTransforms; + +}; + +static const uint32_t checksum[] = { 0xf6cfcb55, 0x7ca1003a, 0x9133ce4f, 0x3268033e, }; + +} // namespace DestructibleAssetParameters_0p13NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleAssetParameters_0p13 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p13NS::ParametersStruct +{ +public: + DestructibleAssetParameters_0p13(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleAssetParameters_0p13(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleAssetParameters"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)13; + + 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(DestructibleAssetParameters_0p13NS::checksum); + return DestructibleAssetParameters_0p13NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleAssetParameters_0p13NS::ParametersStruct& parameters(void) const + { + DestructibleAssetParameters_0p13* tmpThis = const_cast<DestructibleAssetParameters_0p13*>(this); + return *(static_cast<DestructibleAssetParameters_0p13NS::ParametersStruct*>(tmpThis)); + } + + DestructibleAssetParameters_0p13NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleAssetParameters_0p13NS::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 DestructibleAssetParameters_0p13Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleAssetParameters_0p13::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p13), DestructibleAssetParameters_0p13::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p13::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p13"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p13)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p13)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p13::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p13::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p13"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleAssetParameters_0p13 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 (DestructibleAssetParameters_0p13*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleAssetParameters_0p13::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleAssetParameters_0p13::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleAssetParameters_0p13::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleAssetParameters_0p13::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p14.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p14.h new file mode 100644 index 00000000..d6ad74da --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p14.h @@ -0,0 +1,519 @@ +// 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_DestructibleAssetParameters_0p14_h +#define HEADER_DestructibleAssetParameters_0p14_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleAssetParameters_0p14NS +{ + +struct BehaviorGroup_Type; +struct Chunk_Type; +struct InstanceInfo_Type; +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct DestructibleParameters_Type; +struct Plane_Type; + +struct BehaviorGroup_DynamicArray1D_Type +{ + BehaviorGroup_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct Chunk_DynamicArray1D_Type +{ + Chunk_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 U32_DynamicArray1D_Type +{ + uint32_t* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct InstanceInfo_DynamicArray1D_Type +{ + InstanceInfo_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct MAT44_DynamicArray1D_Type +{ + physx::PxMat44* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; + bool CRUMBLE_VIA_RUNTIME_FRACTURE; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct InstanceInfo_Type +{ + uint16_t partIndex; + physx::PxVec3 chunkPositionOffset; + physx::PxVec2 chunkUVOffset; +}; +struct Plane_Type +{ + physx::PxVec3 normal; + float d; +}; +struct DestructibleParameters_Type +{ + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + float debrisDestructionProbability; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; +}; +struct BehaviorGroup_Type +{ + NvParameterized::DummyStringStruct name; + float damageThreshold; + float damageToRadius; + float materialStrength; + float density; + float fadeOut; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct Chunk_Type +{ + uint16_t depth; + uint16_t parentIndex; + uint16_t firstChildIndex; + uint16_t numChildren; + uint16_t meshPartIndex; + uint16_t flags; + physx::PxVec3 surfaceNormal; + int8_t behaviorGroupIndex; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + NvParameterized::DummyStringStruct comments; + uint32_t depthCount; + uint32_t originalDepthCount; + physx::PxBounds3 bounds; + BehaviorGroup_Type defaultBehaviorGroup; + BehaviorGroup_DynamicArray1D_Type behaviorGroups; + int8_t RTFractureBehaviorGroup; + Chunk_DynamicArray1D_Type chunks; + REF_DynamicArray1D_Type chunkConvexHulls; + U32_DynamicArray1D_Type chunkConvexHullStartIndices; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + NvParameterized::DummyStringStruct crumbleEmitterName; + NvParameterized::DummyStringStruct dustEmitterName; + NvParameterized::Interface* collisionData; + NvParameterized::Interface* renderMeshAsset; + uint32_t initialDestructibleActorAllowanceForInstancing; + InstanceInfo_DynamicArray1D_Type chunkInstanceInfo; + STRING_DynamicArray1D_Type staticMaterialNames; + float neighborPadding; + REF_DynamicArray1D_Type overlapsAtDepth; + U32_DynamicArray1D_Type firstChunkAtDepth; + uint32_t supportDepth; + bool formExtendedStructures; + bool useAssetDefinedSupport; + bool useWorldSupport; + MAT44_DynamicArray1D_Type actorTransforms; + +}; + +static const uint32_t checksum[] = { 0x0b98015c, 0x926d82d2, 0x34a14a73, 0x19363b21, }; + +} // namespace DestructibleAssetParameters_0p14NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleAssetParameters_0p14 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p14NS::ParametersStruct +{ +public: + DestructibleAssetParameters_0p14(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleAssetParameters_0p14(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleAssetParameters"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)14; + + 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(DestructibleAssetParameters_0p14NS::checksum); + return DestructibleAssetParameters_0p14NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleAssetParameters_0p14NS::ParametersStruct& parameters(void) const + { + DestructibleAssetParameters_0p14* tmpThis = const_cast<DestructibleAssetParameters_0p14*>(this); + return *(static_cast<DestructibleAssetParameters_0p14NS::ParametersStruct*>(tmpThis)); + } + + DestructibleAssetParameters_0p14NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleAssetParameters_0p14NS::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 DestructibleAssetParameters_0p14Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleAssetParameters_0p14::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p14), DestructibleAssetParameters_0p14::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p14::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p14"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p14)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p14)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p14::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p14::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p14"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleAssetParameters_0p14 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 (DestructibleAssetParameters_0p14*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleAssetParameters_0p14::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleAssetParameters_0p14::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleAssetParameters_0p14::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleAssetParameters_0p14::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p15.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p15.h new file mode 100644 index 00000000..404456f7 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p15.h @@ -0,0 +1,522 @@ +// 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_DestructibleAssetParameters_0p15_h +#define HEADER_DestructibleAssetParameters_0p15_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleAssetParameters_0p15NS +{ + +struct BehaviorGroup_Type; +struct Chunk_Type; +struct InstanceInfo_Type; +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct DestructibleParameters_Type; +struct Plane_Type; + +struct BehaviorGroup_DynamicArray1D_Type +{ + BehaviorGroup_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct Chunk_DynamicArray1D_Type +{ + Chunk_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 U32_DynamicArray1D_Type +{ + uint32_t* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct InstanceInfo_DynamicArray1D_Type +{ + InstanceInfo_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct MAT44_DynamicArray1D_Type +{ + physx::PxMat44* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; + bool CRUMBLE_VIA_RUNTIME_FRACTURE; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct InstanceInfo_Type +{ + uint16_t partIndex; + physx::PxVec3 chunkPositionOffset; + physx::PxVec2 chunkUVOffset; +}; +struct Plane_Type +{ + physx::PxVec3 normal; + float d; +}; +struct DestructibleParameters_Type +{ + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + float debrisDestructionProbability; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; +}; +struct BehaviorGroup_Type +{ + NvParameterized::DummyStringStruct name; + float damageThreshold; + float damageToRadius; + float minimumDamageRadius; + float damageRadiusMultiplier; + float damageFalloffExponent; + float materialStrength; + float density; + float fadeOut; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct Chunk_Type +{ + uint16_t depth; + uint16_t parentIndex; + uint16_t firstChildIndex; + uint16_t numChildren; + uint16_t meshPartIndex; + uint16_t flags; + physx::PxVec3 surfaceNormal; + int8_t behaviorGroupIndex; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + NvParameterized::DummyStringStruct comments; + uint32_t depthCount; + uint32_t originalDepthCount; + physx::PxBounds3 bounds; + BehaviorGroup_Type defaultBehaviorGroup; + BehaviorGroup_DynamicArray1D_Type behaviorGroups; + int8_t RTFractureBehaviorGroup; + Chunk_DynamicArray1D_Type chunks; + REF_DynamicArray1D_Type chunkConvexHulls; + U32_DynamicArray1D_Type chunkConvexHullStartIndices; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + NvParameterized::DummyStringStruct crumbleEmitterName; + NvParameterized::DummyStringStruct dustEmitterName; + NvParameterized::Interface* collisionData; + NvParameterized::Interface* renderMeshAsset; + uint32_t initialDestructibleActorAllowanceForInstancing; + InstanceInfo_DynamicArray1D_Type chunkInstanceInfo; + STRING_DynamicArray1D_Type staticMaterialNames; + float neighborPadding; + REF_DynamicArray1D_Type overlapsAtDepth; + U32_DynamicArray1D_Type firstChunkAtDepth; + uint32_t supportDepth; + bool formExtendedStructures; + bool useAssetDefinedSupport; + bool useWorldSupport; + MAT44_DynamicArray1D_Type actorTransforms; + +}; + +static const uint32_t checksum[] = { 0x6ed3c943, 0x51e5ef25, 0xb38b4cf4, 0x4f8e506e, }; + +} // namespace DestructibleAssetParameters_0p15NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleAssetParameters_0p15 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p15NS::ParametersStruct +{ +public: + DestructibleAssetParameters_0p15(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleAssetParameters_0p15(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleAssetParameters"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)15; + + 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(DestructibleAssetParameters_0p15NS::checksum); + return DestructibleAssetParameters_0p15NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleAssetParameters_0p15NS::ParametersStruct& parameters(void) const + { + DestructibleAssetParameters_0p15* tmpThis = const_cast<DestructibleAssetParameters_0p15*>(this); + return *(static_cast<DestructibleAssetParameters_0p15NS::ParametersStruct*>(tmpThis)); + } + + DestructibleAssetParameters_0p15NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleAssetParameters_0p15NS::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 DestructibleAssetParameters_0p15Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleAssetParameters_0p15::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p15), DestructibleAssetParameters_0p15::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p15::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p15"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p15)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p15)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p15::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p15::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p15"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleAssetParameters_0p15 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 (DestructibleAssetParameters_0p15*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleAssetParameters_0p15::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleAssetParameters_0p15::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleAssetParameters_0p15::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleAssetParameters_0p15::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p16.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p16.h new file mode 100644 index 00000000..d2340f63 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p16.h @@ -0,0 +1,529 @@ +// 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_DestructibleAssetParameters_0p16_h +#define HEADER_DestructibleAssetParameters_0p16_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleAssetParameters_0p16NS +{ + +struct BehaviorGroup_Type; +struct Chunk_Type; +struct InstanceInfo_Type; +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct DestructibleParameters_Type; +struct DamageSpreadFunction_Type; +struct Plane_Type; + +struct BehaviorGroup_DynamicArray1D_Type +{ + BehaviorGroup_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct Chunk_DynamicArray1D_Type +{ + Chunk_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 U32_DynamicArray1D_Type +{ + uint32_t* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct InstanceInfo_DynamicArray1D_Type +{ + InstanceInfo_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct MAT44_DynamicArray1D_Type +{ + physx::PxMat44* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; + bool CRUMBLE_VIA_RUNTIME_FRACTURE; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct InstanceInfo_Type +{ + uint16_t partIndex; + physx::PxVec3 chunkPositionOffset; + physx::PxVec2 chunkUVOffset; +}; +struct Plane_Type +{ + physx::PxVec3 normal; + float d; +}; +struct DestructibleParameters_Type +{ + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + float debrisDestructionProbability; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; +}; +struct DamageSpreadFunction_Type +{ + float minimumRadius; + float radiusMultiplier; + float falloffExponent; +}; +struct BehaviorGroup_Type +{ + NvParameterized::DummyStringStruct name; + float damageThreshold; + float damageToRadius; + DamageSpreadFunction_Type damageSpread; + DamageSpreadFunction_Type damageColorSpread; + physx::PxVec4 damageColorChange; + float materialStrength; + float density; + float fadeOut; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct Chunk_Type +{ + uint16_t depth; + uint16_t parentIndex; + uint16_t firstChildIndex; + uint16_t numChildren; + uint16_t meshPartIndex; + uint16_t flags; + physx::PxVec3 surfaceNormal; + int8_t behaviorGroupIndex; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + NvParameterized::DummyStringStruct comments; + uint32_t depthCount; + uint32_t originalDepthCount; + physx::PxBounds3 bounds; + BehaviorGroup_Type defaultBehaviorGroup; + BehaviorGroup_DynamicArray1D_Type behaviorGroups; + int8_t RTFractureBehaviorGroup; + Chunk_DynamicArray1D_Type chunks; + REF_DynamicArray1D_Type chunkConvexHulls; + U32_DynamicArray1D_Type chunkConvexHullStartIndices; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + NvParameterized::DummyStringStruct crumbleEmitterName; + NvParameterized::DummyStringStruct dustEmitterName; + NvParameterized::Interface* collisionData; + NvParameterized::Interface* renderMeshAsset; + uint32_t initialDestructibleActorAllowanceForInstancing; + InstanceInfo_DynamicArray1D_Type chunkInstanceInfo; + STRING_DynamicArray1D_Type staticMaterialNames; + float neighborPadding; + REF_DynamicArray1D_Type overlapsAtDepth; + U32_DynamicArray1D_Type firstChunkAtDepth; + uint32_t supportDepth; + bool formExtendedStructures; + bool useAssetDefinedSupport; + bool useWorldSupport; + MAT44_DynamicArray1D_Type actorTransforms; + +}; + +static const uint32_t checksum[] = { 0x7d2f4aa0, 0x7e3defee, 0x73740a94, 0xe00adcb3, }; + +} // namespace DestructibleAssetParameters_0p16NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleAssetParameters_0p16 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p16NS::ParametersStruct +{ +public: + DestructibleAssetParameters_0p16(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleAssetParameters_0p16(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleAssetParameters"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)16; + + 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(DestructibleAssetParameters_0p16NS::checksum); + return DestructibleAssetParameters_0p16NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleAssetParameters_0p16NS::ParametersStruct& parameters(void) const + { + DestructibleAssetParameters_0p16* tmpThis = const_cast<DestructibleAssetParameters_0p16*>(this); + return *(static_cast<DestructibleAssetParameters_0p16NS::ParametersStruct*>(tmpThis)); + } + + DestructibleAssetParameters_0p16NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleAssetParameters_0p16NS::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 DestructibleAssetParameters_0p16Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleAssetParameters_0p16::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p16), DestructibleAssetParameters_0p16::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p16::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p16"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p16)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p16)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p16::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p16::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p16"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleAssetParameters_0p16 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 (DestructibleAssetParameters_0p16*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleAssetParameters_0p16::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleAssetParameters_0p16::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleAssetParameters_0p16::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleAssetParameters_0p16::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p17.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p17.h new file mode 100644 index 00000000..a5038119 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p17.h @@ -0,0 +1,530 @@ +// 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_DestructibleAssetParameters_0p17_h +#define HEADER_DestructibleAssetParameters_0p17_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleAssetParameters_0p17NS +{ + +struct BehaviorGroup_Type; +struct Chunk_Type; +struct InstanceInfo_Type; +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct DestructibleParameters_Type; +struct DamageSpreadFunction_Type; +struct Plane_Type; + +struct BehaviorGroup_DynamicArray1D_Type +{ + BehaviorGroup_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct Chunk_DynamicArray1D_Type +{ + Chunk_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 U32_DynamicArray1D_Type +{ + uint32_t* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct InstanceInfo_DynamicArray1D_Type +{ + InstanceInfo_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct MAT44_DynamicArray1D_Type +{ + physx::PxMat44* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; + bool CRUMBLE_VIA_RUNTIME_FRACTURE; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct InstanceInfo_Type +{ + uint16_t partIndex; + physx::PxVec3 chunkPositionOffset; + physx::PxVec2 chunkUVOffset; +}; +struct Plane_Type +{ + physx::PxVec3 normal; + float d; +}; +struct DestructibleParameters_Type +{ + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + float debrisDestructionProbability; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t damageDepthLimit; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; +}; +struct DamageSpreadFunction_Type +{ + float minimumRadius; + float radiusMultiplier; + float falloffExponent; +}; +struct BehaviorGroup_Type +{ + NvParameterized::DummyStringStruct name; + float damageThreshold; + float damageToRadius; + DamageSpreadFunction_Type damageSpread; + DamageSpreadFunction_Type damageColorSpread; + physx::PxVec4 damageColorChange; + float materialStrength; + float density; + float fadeOut; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct Chunk_Type +{ + uint16_t depth; + uint16_t parentIndex; + uint16_t firstChildIndex; + uint16_t numChildren; + uint16_t meshPartIndex; + uint16_t flags; + physx::PxVec3 surfaceNormal; + int8_t behaviorGroupIndex; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + NvParameterized::DummyStringStruct comments; + uint32_t depthCount; + uint32_t originalDepthCount; + physx::PxBounds3 bounds; + BehaviorGroup_Type defaultBehaviorGroup; + BehaviorGroup_DynamicArray1D_Type behaviorGroups; + int8_t RTFractureBehaviorGroup; + Chunk_DynamicArray1D_Type chunks; + REF_DynamicArray1D_Type chunkConvexHulls; + U32_DynamicArray1D_Type chunkConvexHullStartIndices; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + NvParameterized::DummyStringStruct crumbleEmitterName; + NvParameterized::DummyStringStruct dustEmitterName; + NvParameterized::Interface* collisionData; + NvParameterized::Interface* renderMeshAsset; + uint32_t initialDestructibleActorAllowanceForInstancing; + InstanceInfo_DynamicArray1D_Type chunkInstanceInfo; + STRING_DynamicArray1D_Type staticMaterialNames; + float neighborPadding; + REF_DynamicArray1D_Type overlapsAtDepth; + U32_DynamicArray1D_Type firstChunkAtDepth; + uint32_t supportDepth; + bool formExtendedStructures; + bool useAssetDefinedSupport; + bool useWorldSupport; + MAT44_DynamicArray1D_Type actorTransforms; + +}; + +static const uint32_t checksum[] = { 0xba335223, 0x3f1fce17, 0x52b089db, 0x03236282, }; + +} // namespace DestructibleAssetParameters_0p17NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleAssetParameters_0p17 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p17NS::ParametersStruct +{ +public: + DestructibleAssetParameters_0p17(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleAssetParameters_0p17(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleAssetParameters"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)17; + + 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(DestructibleAssetParameters_0p17NS::checksum); + return DestructibleAssetParameters_0p17NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleAssetParameters_0p17NS::ParametersStruct& parameters(void) const + { + DestructibleAssetParameters_0p17* tmpThis = const_cast<DestructibleAssetParameters_0p17*>(this); + return *(static_cast<DestructibleAssetParameters_0p17NS::ParametersStruct*>(tmpThis)); + } + + DestructibleAssetParameters_0p17NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleAssetParameters_0p17NS::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 DestructibleAssetParameters_0p17Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleAssetParameters_0p17::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p17), DestructibleAssetParameters_0p17::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p17::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p17"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p17)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p17)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p17::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p17::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p17"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleAssetParameters_0p17 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 (DestructibleAssetParameters_0p17*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleAssetParameters_0p17::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleAssetParameters_0p17::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleAssetParameters_0p17::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleAssetParameters_0p17::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p18.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p18.h new file mode 100644 index 00000000..9d24cf67 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p18.h @@ -0,0 +1,531 @@ +// 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_DestructibleAssetParameters_0p18_h +#define HEADER_DestructibleAssetParameters_0p18_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleAssetParameters_0p18NS +{ + +struct BehaviorGroup_Type; +struct Chunk_Type; +struct InstanceInfo_Type; +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct DestructibleParameters_Type; +struct DamageSpreadFunction_Type; +struct Plane_Type; + +struct BehaviorGroup_DynamicArray1D_Type +{ + BehaviorGroup_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct Chunk_DynamicArray1D_Type +{ + Chunk_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 U32_DynamicArray1D_Type +{ + uint32_t* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct InstanceInfo_DynamicArray1D_Type +{ + InstanceInfo_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct MAT44_DynamicArray1D_Type +{ + physx::PxMat44* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; + bool CRUMBLE_VIA_RUNTIME_FRACTURE; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct InstanceInfo_Type +{ + uint16_t partIndex; + physx::PxVec3 chunkPositionOffset; + physx::PxVec2 chunkUVOffset; +}; +struct Plane_Type +{ + physx::PxVec3 normal; + float d; +}; +struct DestructibleParameters_Type +{ + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + float debrisDestructionProbability; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t damageDepthLimit; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; +}; +struct DamageSpreadFunction_Type +{ + float minimumRadius; + float radiusMultiplier; + float falloffExponent; +}; +struct BehaviorGroup_Type +{ + NvParameterized::DummyStringStruct name; + float damageThreshold; + float damageToRadius; + DamageSpreadFunction_Type damageSpread; + DamageSpreadFunction_Type damageColorSpread; + physx::PxVec4 damageColorChange; + float materialStrength; + float density; + float fadeOut; + uint64_t userData; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct Chunk_Type +{ + uint16_t depth; + uint16_t parentIndex; + uint16_t firstChildIndex; + uint16_t numChildren; + uint16_t meshPartIndex; + uint16_t flags; + physx::PxVec3 surfaceNormal; + int8_t behaviorGroupIndex; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + NvParameterized::DummyStringStruct comments; + uint32_t depthCount; + uint32_t originalDepthCount; + physx::PxBounds3 bounds; + BehaviorGroup_Type defaultBehaviorGroup; + BehaviorGroup_DynamicArray1D_Type behaviorGroups; + int8_t RTFractureBehaviorGroup; + Chunk_DynamicArray1D_Type chunks; + REF_DynamicArray1D_Type chunkConvexHulls; + U32_DynamicArray1D_Type chunkConvexHullStartIndices; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + NvParameterized::DummyStringStruct crumbleEmitterName; + NvParameterized::DummyStringStruct dustEmitterName; + NvParameterized::Interface* collisionData; + NvParameterized::Interface* renderMeshAsset; + uint32_t initialDestructibleActorAllowanceForInstancing; + InstanceInfo_DynamicArray1D_Type chunkInstanceInfo; + STRING_DynamicArray1D_Type staticMaterialNames; + float neighborPadding; + REF_DynamicArray1D_Type overlapsAtDepth; + U32_DynamicArray1D_Type firstChunkAtDepth; + uint32_t supportDepth; + bool formExtendedStructures; + bool useAssetDefinedSupport; + bool useWorldSupport; + MAT44_DynamicArray1D_Type actorTransforms; + +}; + +static const uint32_t checksum[] = { 0x2c057ffa, 0x3ba1f5e5, 0x69c3502a, 0xbf5a75db, }; + +} // namespace DestructibleAssetParameters_0p18NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleAssetParameters_0p18 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p18NS::ParametersStruct +{ +public: + DestructibleAssetParameters_0p18(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleAssetParameters_0p18(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleAssetParameters"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)18; + + 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(DestructibleAssetParameters_0p18NS::checksum); + return DestructibleAssetParameters_0p18NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleAssetParameters_0p18NS::ParametersStruct& parameters(void) const + { + DestructibleAssetParameters_0p18* tmpThis = const_cast<DestructibleAssetParameters_0p18*>(this); + return *(static_cast<DestructibleAssetParameters_0p18NS::ParametersStruct*>(tmpThis)); + } + + DestructibleAssetParameters_0p18NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleAssetParameters_0p18NS::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 DestructibleAssetParameters_0p18Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleAssetParameters_0p18::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p18), DestructibleAssetParameters_0p18::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p18::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p18"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p18)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p18)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p18::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p18::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p18"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleAssetParameters_0p18 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 (DestructibleAssetParameters_0p18*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleAssetParameters_0p18::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleAssetParameters_0p18::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleAssetParameters_0p18::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleAssetParameters_0p18::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p19.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p19.h new file mode 100644 index 00000000..ef0b5f08 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p19.h @@ -0,0 +1,558 @@ +// 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_DestructibleAssetParameters_0p19_h +#define HEADER_DestructibleAssetParameters_0p19_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleAssetParameters_0p19NS +{ + +struct BehaviorGroup_Type; +struct Chunk_Type; +struct InstanceInfo_Type; +struct M34_Type; +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct DestructibleParameters_Type; +struct DamageSpreadFunction_Type; +struct Plane_Type; + +struct BehaviorGroup_DynamicArray1D_Type +{ + BehaviorGroup_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct Chunk_DynamicArray1D_Type +{ + Chunk_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 U32_DynamicArray1D_Type +{ + uint32_t* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct InstanceInfo_DynamicArray1D_Type +{ + InstanceInfo_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct MAT44_DynamicArray1D_Type +{ + physx::PxMat44* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct U8_DynamicArray1D_Type +{ + uint8_t* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct M34_DynamicArray1D_Type +{ + M34_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; + bool CRUMBLE_VIA_RUNTIME_FRACTURE; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct M34_Type +{ + physx::PxMat33 matrix; + physx::PxVec3 vector; +}; +struct InstanceInfo_Type +{ + uint16_t partIndex; + physx::PxVec3 chunkPositionOffset; + physx::PxVec2 chunkUVOffset; +}; +struct Plane_Type +{ + physx::PxVec3 normal; + float d; +}; +struct DestructibleParameters_Type +{ + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + float debrisDestructionProbability; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t damageDepthLimit; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; +}; +struct DamageSpreadFunction_Type +{ + float minimumRadius; + float radiusMultiplier; + float falloffExponent; +}; +struct BehaviorGroup_Type +{ + NvParameterized::DummyStringStruct name; + float damageThreshold; + float damageToRadius; + DamageSpreadFunction_Type damageSpread; + DamageSpreadFunction_Type damageColorSpread; + physx::PxVec4 damageColorChange; + float materialStrength; + float density; + float fadeOut; + uint64_t userData; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct Chunk_Type +{ + uint16_t depth; + uint16_t parentIndex; + uint16_t firstChildIndex; + uint16_t numChildren; + uint16_t meshPartIndex; + uint16_t flags; + physx::PxVec3 surfaceNormal; + int8_t behaviorGroupIndex; + uint16_t firstScatterMesh; + uint16_t scatterMeshCount; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + NvParameterized::DummyStringStruct comments; + uint32_t depthCount; + uint32_t originalDepthCount; + physx::PxBounds3 bounds; + BehaviorGroup_Type defaultBehaviorGroup; + BehaviorGroup_DynamicArray1D_Type behaviorGroups; + int8_t RTFractureBehaviorGroup; + Chunk_DynamicArray1D_Type chunks; + REF_DynamicArray1D_Type chunkConvexHulls; + U32_DynamicArray1D_Type chunkConvexHullStartIndices; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + NvParameterized::DummyStringStruct crumbleEmitterName; + NvParameterized::DummyStringStruct dustEmitterName; + NvParameterized::Interface* collisionData; + NvParameterized::Interface* renderMeshAsset; + uint32_t initialDestructibleActorAllowanceForInstancing; + InstanceInfo_DynamicArray1D_Type chunkInstanceInfo; + STRING_DynamicArray1D_Type staticMaterialNames; + float neighborPadding; + REF_DynamicArray1D_Type overlapsAtDepth; + U32_DynamicArray1D_Type firstChunkAtDepth; + uint32_t supportDepth; + bool formExtendedStructures; + bool useAssetDefinedSupport; + bool useWorldSupport; + MAT44_DynamicArray1D_Type actorTransforms; + REF_DynamicArray1D_Type scatterMeshAssets; + U8_DynamicArray1D_Type scatterMeshIndices; + M34_DynamicArray1D_Type scatterMeshTransforms; + +}; + +static const uint32_t checksum[] = { 0xc348dadf, 0xef1f6246, 0x97e01551, 0x7f23a68a, }; + +} // namespace DestructibleAssetParameters_0p19NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleAssetParameters_0p19 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p19NS::ParametersStruct +{ +public: + DestructibleAssetParameters_0p19(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleAssetParameters_0p19(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleAssetParameters"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)19; + + 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(DestructibleAssetParameters_0p19NS::checksum); + return DestructibleAssetParameters_0p19NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleAssetParameters_0p19NS::ParametersStruct& parameters(void) const + { + DestructibleAssetParameters_0p19* tmpThis = const_cast<DestructibleAssetParameters_0p19*>(this); + return *(static_cast<DestructibleAssetParameters_0p19NS::ParametersStruct*>(tmpThis)); + } + + DestructibleAssetParameters_0p19NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleAssetParameters_0p19NS::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 DestructibleAssetParameters_0p19Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleAssetParameters_0p19::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p19), DestructibleAssetParameters_0p19::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p19::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p19"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p19)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p19)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p19::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p19::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p19"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleAssetParameters_0p19 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 (DestructibleAssetParameters_0p19*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleAssetParameters_0p19::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleAssetParameters_0p19::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleAssetParameters_0p19::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleAssetParameters_0p19::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p2.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p2.h new file mode 100644 index 00000000..92616c9a --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p2.h @@ -0,0 +1,476 @@ +// 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_DestructibleAssetParameters_0p2_h +#define HEADER_DestructibleAssetParameters_0p2_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleAssetParameters_0p2NS +{ + +struct Chunk_Type; +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct DestructibleParameters_Type; +struct Plane_Type; + +struct Chunk_DynamicArray1D_Type +{ + Chunk_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 DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct U32_DynamicArray1D_Type +{ + uint32_t* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool TAKE_IMPACT_DAMAGE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool ASSET_DEFINED_SUPPORT; + bool WORLD_SUPPORT; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct Plane_Type +{ + physx::PxVec3 normal; + float d; +}; +struct DestructibleParameters_Type +{ + float damageThreshold; + float damageToRadius; + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + float materialStrength; + float damageToPercentDeformation; + float deformationPercentLimit; + uint32_t formExtendedStructures; + uint32_t supportDepth; + uint32_t minimumFractureDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + float massScaleExponent; + DestructibleParametersFlag_Type flags; + float grbVolumeLimit; + float grbParticleSpacing; + float fractureImpulseScale; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct Chunk_Type +{ + uint16_t depth; + uint16_t parentIndex; + uint16_t firstChildIndex; + uint16_t numChildren; + uint16_t meshPartIndex; + uint16_t flags; + physx::PxBounds3 bounds; + physx::PxVec3 surfaceNormal; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + uint32_t depthCount; + uint32_t originalDepthCount; + physx::PxBounds3 bounds; + Chunk_DynamicArray1D_Type chunks; + REF_DynamicArray1D_Type chunkConvexHulls; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + NvParameterized::DummyStringStruct crumbleEmitterName; + NvParameterized::DummyStringStruct dustEmitterName; + NvParameterized::Interface* collisionData; + REF_DynamicArray1D_Type surfaceTraceSets; + NvParameterized::Interface* renderMeshAsset; + int32_t interiorSubmeshIndex; + STRING_DynamicArray1D_Type staticMaterialNames; + float neighborPadding; + REF_DynamicArray1D_Type overlapsAtDepth; + U32_DynamicArray1D_Type firstChunkAtDepth; + +}; + +static const uint32_t checksum[] = { 0x82d197c5, 0x1d6d15b6, 0x620e886e, 0x3682b492, }; + +} // namespace DestructibleAssetParameters_0p2NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleAssetParameters_0p2 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p2NS::ParametersStruct +{ +public: + DestructibleAssetParameters_0p2(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleAssetParameters_0p2(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleAssetParameters"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)2; + + 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(DestructibleAssetParameters_0p2NS::checksum); + return DestructibleAssetParameters_0p2NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleAssetParameters_0p2NS::ParametersStruct& parameters(void) const + { + DestructibleAssetParameters_0p2* tmpThis = const_cast<DestructibleAssetParameters_0p2*>(this); + return *(static_cast<DestructibleAssetParameters_0p2NS::ParametersStruct*>(tmpThis)); + } + + DestructibleAssetParameters_0p2NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleAssetParameters_0p2NS::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 DestructibleAssetParameters_0p2Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleAssetParameters_0p2::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p2), DestructibleAssetParameters_0p2::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p2::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p2"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p2)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p2)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p2::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p2::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p2"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleAssetParameters_0p2 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 (DestructibleAssetParameters_0p2*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleAssetParameters_0p2::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleAssetParameters_0p2::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleAssetParameters_0p2::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleAssetParameters_0p2::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p20.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p20.h new file mode 100644 index 00000000..11f73f6a --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p20.h @@ -0,0 +1,589 @@ +// 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_DestructibleAssetParameters_0p20_h +#define HEADER_DestructibleAssetParameters_0p20_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleAssetParameters_0p20NS +{ + +struct BehaviorGroup_Type; +struct Chunk_Type; +struct InstanceInfo_Type; +struct M34_Type; +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct FractureGlass_Type; +struct FractureAttachment_Type; +struct RuntimeFracture_Type; +struct DestructibleParameters_Type; +struct DamageSpreadFunction_Type; +struct Plane_Type; + +struct BehaviorGroup_DynamicArray1D_Type +{ + BehaviorGroup_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct Chunk_DynamicArray1D_Type +{ + Chunk_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 U32_DynamicArray1D_Type +{ + uint32_t* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct InstanceInfo_DynamicArray1D_Type +{ + InstanceInfo_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct MAT44_DynamicArray1D_Type +{ + physx::PxMat44* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct U8_DynamicArray1D_Type +{ + uint8_t* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct M34_DynamicArray1D_Type +{ + M34_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; + bool CRUMBLE_VIA_RUNTIME_FRACTURE; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct M34_Type +{ + physx::PxMat33 matrix; + physx::PxVec3 vector; +}; +struct InstanceInfo_Type +{ + uint16_t partIndex; + physx::PxVec3 chunkPositionOffset; + physx::PxVec2 chunkUVOffset; +}; +struct Plane_Type +{ + physx::PxVec3 normal; + float d; +}; +struct FractureGlass_Type +{ + uint32_t numSectors; + float sectorRand; + float firstSegmentSize; + float segmentScale; + float segmentRand; +}; +struct DamageSpreadFunction_Type +{ + float minimumRadius; + float radiusMultiplier; + float falloffExponent; +}; +struct BehaviorGroup_Type +{ + NvParameterized::DummyStringStruct name; + float damageThreshold; + float damageToRadius; + DamageSpreadFunction_Type damageSpread; + DamageSpreadFunction_Type damageColorSpread; + physx::PxVec4 damageColorChange; + float materialStrength; + float density; + float fadeOut; + uint64_t userData; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct FractureAttachment_Type +{ + bool posX; + bool negX; + bool posY; + bool negY; + bool posZ; + bool negZ; +}; +struct RuntimeFracture_Type +{ + bool sheetFracture; + uint32_t depthLimit; + bool destroyIfAtDepthLimit; + float minConvexSize; + float impulseScale; + FractureGlass_Type glass; + FractureAttachment_Type attachment; +}; +struct DestructibleParameters_Type +{ + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + float debrisDestructionProbability; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t damageDepthLimit; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; + RuntimeFracture_Type runtimeFracture; +}; +struct Chunk_Type +{ + uint16_t depth; + uint16_t parentIndex; + uint16_t firstChildIndex; + uint16_t numChildren; + uint16_t meshPartIndex; + uint16_t flags; + physx::PxVec3 surfaceNormal; + int8_t behaviorGroupIndex; + uint16_t firstScatterMesh; + uint16_t scatterMeshCount; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + NvParameterized::DummyStringStruct comments; + uint32_t depthCount; + uint32_t originalDepthCount; + physx::PxBounds3 bounds; + BehaviorGroup_Type defaultBehaviorGroup; + BehaviorGroup_DynamicArray1D_Type behaviorGroups; + int8_t RTFractureBehaviorGroup; + Chunk_DynamicArray1D_Type chunks; + REF_DynamicArray1D_Type chunkConvexHulls; + U32_DynamicArray1D_Type chunkConvexHullStartIndices; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + NvParameterized::DummyStringStruct crumbleEmitterName; + NvParameterized::DummyStringStruct dustEmitterName; + NvParameterized::Interface* collisionData; + NvParameterized::Interface* renderMeshAsset; + uint32_t initialDestructibleActorAllowanceForInstancing; + InstanceInfo_DynamicArray1D_Type chunkInstanceInfo; + STRING_DynamicArray1D_Type staticMaterialNames; + float neighborPadding; + REF_DynamicArray1D_Type overlapsAtDepth; + U32_DynamicArray1D_Type firstChunkAtDepth; + uint32_t supportDepth; + bool formExtendedStructures; + bool useAssetDefinedSupport; + bool useWorldSupport; + MAT44_DynamicArray1D_Type actorTransforms; + REF_DynamicArray1D_Type scatterMeshAssets; + U8_DynamicArray1D_Type scatterMeshIndices; + M34_DynamicArray1D_Type scatterMeshTransforms; + +}; + +static const uint32_t checksum[] = { 0x5b26de1a, 0x32420a3c, 0x92dc08b2, 0x4f9aac6c, }; + +} // namespace DestructibleAssetParameters_0p20NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleAssetParameters_0p20 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p20NS::ParametersStruct +{ +public: + DestructibleAssetParameters_0p20(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleAssetParameters_0p20(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleAssetParameters"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)20; + + 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(DestructibleAssetParameters_0p20NS::checksum); + return DestructibleAssetParameters_0p20NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleAssetParameters_0p20NS::ParametersStruct& parameters(void) const + { + DestructibleAssetParameters_0p20* tmpThis = const_cast<DestructibleAssetParameters_0p20*>(this); + return *(static_cast<DestructibleAssetParameters_0p20NS::ParametersStruct*>(tmpThis)); + } + + DestructibleAssetParameters_0p20NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleAssetParameters_0p20NS::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 DestructibleAssetParameters_0p20Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleAssetParameters_0p20::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p20), DestructibleAssetParameters_0p20::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p20::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p20"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p20)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p20)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p20::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p20::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p20"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleAssetParameters_0p20 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 (DestructibleAssetParameters_0p20*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleAssetParameters_0p20::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleAssetParameters_0p20::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleAssetParameters_0p20::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleAssetParameters_0p20::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p21.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p21.h new file mode 100644 index 00000000..0ff24a32 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p21.h @@ -0,0 +1,590 @@ +// 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_DestructibleAssetParameters_0p21_h +#define HEADER_DestructibleAssetParameters_0p21_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleAssetParameters_0p21NS +{ + +struct BehaviorGroup_Type; +struct Chunk_Type; +struct InstanceInfo_Type; +struct M34_Type; +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct FractureGlass_Type; +struct FractureAttachment_Type; +struct RuntimeFracture_Type; +struct DestructibleParameters_Type; +struct DamageSpreadFunction_Type; +struct Plane_Type; + +struct BehaviorGroup_DynamicArray1D_Type +{ + BehaviorGroup_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct Chunk_DynamicArray1D_Type +{ + Chunk_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 U32_DynamicArray1D_Type +{ + uint32_t* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct InstanceInfo_DynamicArray1D_Type +{ + InstanceInfo_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct MAT44_DynamicArray1D_Type +{ + physx::PxMat44* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct U8_DynamicArray1D_Type +{ + uint8_t* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct M34_DynamicArray1D_Type +{ + M34_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; + bool CRUMBLE_VIA_RUNTIME_FRACTURE; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct M34_Type +{ + physx::PxMat33 matrix; + physx::PxVec3 vector; +}; +struct InstanceInfo_Type +{ + uint16_t partIndex; + physx::PxVec3 chunkPositionOffset; + physx::PxVec2 chunkUVOffset; +}; +struct Plane_Type +{ + physx::PxVec3 normal; + float d; +}; +struct FractureGlass_Type +{ + uint32_t numSectors; + float sectorRand; + float firstSegmentSize; + float segmentScale; + float segmentRand; +}; +struct DamageSpreadFunction_Type +{ + float minimumRadius; + float radiusMultiplier; + float falloffExponent; +}; +struct BehaviorGroup_Type +{ + NvParameterized::DummyStringStruct name; + float damageThreshold; + float damageToRadius; + DamageSpreadFunction_Type damageSpread; + DamageSpreadFunction_Type damageColorSpread; + physx::PxVec4 damageColorChange; + float materialStrength; + float density; + float fadeOut; + uint64_t userData; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct FractureAttachment_Type +{ + bool posX; + bool negX; + bool posY; + bool negY; + bool posZ; + bool negZ; +}; +struct RuntimeFracture_Type +{ + bool sheetFracture; + uint32_t depthLimit; + bool destroyIfAtDepthLimit; + float minConvexSize; + float impulseScale; + FractureGlass_Type glass; + FractureAttachment_Type attachment; +}; +struct DestructibleParameters_Type +{ + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + float debrisDestructionProbability; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t damageDepthLimit; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; + RuntimeFracture_Type runtimeFracture; + float supportStrength; +}; +struct Chunk_Type +{ + uint16_t depth; + uint16_t parentIndex; + uint16_t firstChildIndex; + uint16_t numChildren; + uint16_t meshPartIndex; + uint16_t flags; + physx::PxVec3 surfaceNormal; + int8_t behaviorGroupIndex; + uint16_t firstScatterMesh; + uint16_t scatterMeshCount; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + NvParameterized::DummyStringStruct comments; + uint32_t depthCount; + uint32_t originalDepthCount; + physx::PxBounds3 bounds; + BehaviorGroup_Type defaultBehaviorGroup; + BehaviorGroup_DynamicArray1D_Type behaviorGroups; + int8_t RTFractureBehaviorGroup; + Chunk_DynamicArray1D_Type chunks; + REF_DynamicArray1D_Type chunkConvexHulls; + U32_DynamicArray1D_Type chunkConvexHullStartIndices; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + NvParameterized::DummyStringStruct crumbleEmitterName; + NvParameterized::DummyStringStruct dustEmitterName; + NvParameterized::Interface* collisionData; + NvParameterized::Interface* renderMeshAsset; + uint32_t initialDestructibleActorAllowanceForInstancing; + InstanceInfo_DynamicArray1D_Type chunkInstanceInfo; + STRING_DynamicArray1D_Type staticMaterialNames; + float neighborPadding; + REF_DynamicArray1D_Type overlapsAtDepth; + U32_DynamicArray1D_Type firstChunkAtDepth; + uint32_t supportDepth; + bool formExtendedStructures; + bool useAssetDefinedSupport; + bool useWorldSupport; + MAT44_DynamicArray1D_Type actorTransforms; + REF_DynamicArray1D_Type scatterMeshAssets; + U8_DynamicArray1D_Type scatterMeshIndices; + M34_DynamicArray1D_Type scatterMeshTransforms; + +}; + +static const uint32_t checksum[] = { 0x77041176, 0x2d446a05, 0xc794c6d6, 0x41b8ccbd, }; + +} // namespace DestructibleAssetParameters_0p21NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleAssetParameters_0p21 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p21NS::ParametersStruct +{ +public: + DestructibleAssetParameters_0p21(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleAssetParameters_0p21(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleAssetParameters"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)21; + + 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(DestructibleAssetParameters_0p21NS::checksum); + return DestructibleAssetParameters_0p21NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleAssetParameters_0p21NS::ParametersStruct& parameters(void) const + { + DestructibleAssetParameters_0p21* tmpThis = const_cast<DestructibleAssetParameters_0p21*>(this); + return *(static_cast<DestructibleAssetParameters_0p21NS::ParametersStruct*>(tmpThis)); + } + + DestructibleAssetParameters_0p21NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleAssetParameters_0p21NS::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 DestructibleAssetParameters_0p21Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleAssetParameters_0p21::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p21), DestructibleAssetParameters_0p21::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p21::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p21"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p21)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p21)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p21::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p21::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p21"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleAssetParameters_0p21 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 (DestructibleAssetParameters_0p21*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleAssetParameters_0p21::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleAssetParameters_0p21::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleAssetParameters_0p21::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleAssetParameters_0p21::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p22.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p22.h new file mode 100644 index 00000000..9f4efee6 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p22.h @@ -0,0 +1,600 @@ +// 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_DestructibleAssetParameters_0p22_h +#define HEADER_DestructibleAssetParameters_0p22_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleAssetParameters_0p22NS +{ + +struct BehaviorGroup_Type; +struct Chunk_Type; +struct InstanceInfo_Type; +struct M34_Type; +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct FractureGlass_Type; +struct FractureVoronoi_Type; +struct FractureAttachment_Type; +struct RuntimeFracture_Type; +struct DestructibleParameters_Type; +struct DamageSpreadFunction_Type; +struct Plane_Type; + +struct BehaviorGroup_DynamicArray1D_Type +{ + BehaviorGroup_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct Chunk_DynamicArray1D_Type +{ + Chunk_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 U32_DynamicArray1D_Type +{ + uint32_t* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct InstanceInfo_DynamicArray1D_Type +{ + InstanceInfo_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct MAT44_DynamicArray1D_Type +{ + physx::PxMat44* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct U8_DynamicArray1D_Type +{ + uint8_t* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct M34_DynamicArray1D_Type +{ + M34_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; + bool CRUMBLE_VIA_RUNTIME_FRACTURE; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct M34_Type +{ + physx::PxMat33 matrix; + physx::PxVec3 vector; +}; +struct InstanceInfo_Type +{ + uint16_t partIndex; + physx::PxVec3 chunkPositionOffset; + physx::PxVec2 chunkUVOffset; +}; +struct Plane_Type +{ + physx::PxVec3 normal; + float d; +}; +struct FractureGlass_Type +{ + uint32_t numSectors; + float sectorRand; + float firstSegmentSize; + float segmentScale; + float segmentRand; +}; +struct DamageSpreadFunction_Type +{ + float minimumRadius; + float radiusMultiplier; + float falloffExponent; +}; +struct BehaviorGroup_Type +{ + NvParameterized::DummyStringStruct name; + float damageThreshold; + float damageToRadius; + DamageSpreadFunction_Type damageSpread; + DamageSpreadFunction_Type damageColorSpread; + physx::PxVec4 damageColorChange; + float materialStrength; + float density; + float fadeOut; + uint64_t userData; +}; +struct FractureVoronoi_Type +{ + physx::PxVec3 dimensions; + uint32_t numCells; + float biasExp; + float maxDist; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct FractureAttachment_Type +{ + bool posX; + bool negX; + bool posY; + bool negY; + bool posZ; + bool negZ; +}; +struct RuntimeFracture_Type +{ + const char* RuntimeFractureType; + bool sheetFracture; + uint32_t depthLimit; + bool destroyIfAtDepthLimit; + float minConvexSize; + float impulseScale; + FractureGlass_Type glass; + FractureVoronoi_Type voronoi; + FractureAttachment_Type attachment; +}; +struct DestructibleParameters_Type +{ + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + float debrisDestructionProbability; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t damageDepthLimit; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; + RuntimeFracture_Type runtimeFracture; + float supportStrength; +}; +struct Chunk_Type +{ + uint16_t depth; + uint16_t parentIndex; + uint16_t firstChildIndex; + uint16_t numChildren; + uint16_t meshPartIndex; + uint16_t flags; + physx::PxVec3 surfaceNormal; + int8_t behaviorGroupIndex; + uint16_t firstScatterMesh; + uint16_t scatterMeshCount; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + NvParameterized::DummyStringStruct comments; + uint32_t depthCount; + uint32_t originalDepthCount; + physx::PxBounds3 bounds; + BehaviorGroup_Type defaultBehaviorGroup; + BehaviorGroup_DynamicArray1D_Type behaviorGroups; + int8_t RTFractureBehaviorGroup; + Chunk_DynamicArray1D_Type chunks; + REF_DynamicArray1D_Type chunkConvexHulls; + U32_DynamicArray1D_Type chunkConvexHullStartIndices; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + NvParameterized::DummyStringStruct crumbleEmitterName; + NvParameterized::DummyStringStruct dustEmitterName; + NvParameterized::Interface* collisionData; + NvParameterized::Interface* renderMeshAsset; + uint32_t initialDestructibleActorAllowanceForInstancing; + InstanceInfo_DynamicArray1D_Type chunkInstanceInfo; + STRING_DynamicArray1D_Type staticMaterialNames; + float neighborPadding; + REF_DynamicArray1D_Type overlapsAtDepth; + U32_DynamicArray1D_Type firstChunkAtDepth; + uint32_t supportDepth; + bool formExtendedStructures; + bool useAssetDefinedSupport; + bool useWorldSupport; + MAT44_DynamicArray1D_Type actorTransforms; + REF_DynamicArray1D_Type scatterMeshAssets; + U8_DynamicArray1D_Type scatterMeshIndices; + M34_DynamicArray1D_Type scatterMeshTransforms; + +}; + +static const uint32_t checksum[] = { 0x5514344d, 0x31d8840d, 0xd91edd48, 0xaf3cc2c5, }; + +} // namespace DestructibleAssetParameters_0p22NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleAssetParameters_0p22 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p22NS::ParametersStruct +{ +public: + DestructibleAssetParameters_0p22(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleAssetParameters_0p22(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleAssetParameters"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)22; + + 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(DestructibleAssetParameters_0p22NS::checksum); + return DestructibleAssetParameters_0p22NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleAssetParameters_0p22NS::ParametersStruct& parameters(void) const + { + DestructibleAssetParameters_0p22* tmpThis = const_cast<DestructibleAssetParameters_0p22*>(this); + return *(static_cast<DestructibleAssetParameters_0p22NS::ParametersStruct*>(tmpThis)); + } + + DestructibleAssetParameters_0p22NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleAssetParameters_0p22NS::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 DestructibleAssetParameters_0p22Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleAssetParameters_0p22::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p22), DestructibleAssetParameters_0p22::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p22::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p22"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p22)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p22)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p22::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p22::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p22"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleAssetParameters_0p22 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 (DestructibleAssetParameters_0p22*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleAssetParameters_0p22::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleAssetParameters_0p22::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleAssetParameters_0p22::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleAssetParameters_0p22::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p23.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p23.h new file mode 100644 index 00000000..39e08123 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p23.h @@ -0,0 +1,601 @@ +// 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_DestructibleAssetParameters_0p23_h +#define HEADER_DestructibleAssetParameters_0p23_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleAssetParameters_0p23NS +{ + +struct BehaviorGroup_Type; +struct Chunk_Type; +struct InstanceInfo_Type; +struct M34_Type; +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct FractureGlass_Type; +struct FractureVoronoi_Type; +struct FractureAttachment_Type; +struct RuntimeFracture_Type; +struct DestructibleParameters_Type; +struct DamageSpreadFunction_Type; +struct Plane_Type; + +struct BehaviorGroup_DynamicArray1D_Type +{ + BehaviorGroup_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct Chunk_DynamicArray1D_Type +{ + Chunk_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 U32_DynamicArray1D_Type +{ + uint32_t* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct InstanceInfo_DynamicArray1D_Type +{ + InstanceInfo_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct MAT44_DynamicArray1D_Type +{ + physx::PxMat44* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct U8_DynamicArray1D_Type +{ + uint8_t* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct M34_DynamicArray1D_Type +{ + M34_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; + bool CRUMBLE_VIA_RUNTIME_FRACTURE; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct M34_Type +{ + physx::PxMat33 matrix; + physx::PxVec3 vector; +}; +struct InstanceInfo_Type +{ + uint16_t partIndex; + physx::PxVec3 chunkPositionOffset; + physx::PxVec2 chunkUVOffset; +}; +struct Plane_Type +{ + physx::PxVec3 normal; + float d; +}; +struct FractureGlass_Type +{ + uint32_t numSectors; + float sectorRand; + float firstSegmentSize; + float segmentScale; + float segmentRand; +}; +struct DamageSpreadFunction_Type +{ + float minimumRadius; + float radiusMultiplier; + float falloffExponent; +}; +struct BehaviorGroup_Type +{ + NvParameterized::DummyStringStruct name; + float damageThreshold; + float damageToRadius; + DamageSpreadFunction_Type damageSpread; + DamageSpreadFunction_Type damageColorSpread; + physx::PxVec4 damageColorChange; + float materialStrength; + float density; + float fadeOut; + float maxDepenetrationVelocity; + uint64_t userData; +}; +struct FractureVoronoi_Type +{ + physx::PxVec3 dimensions; + uint32_t numCells; + float biasExp; + float maxDist; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct FractureAttachment_Type +{ + bool posX; + bool negX; + bool posY; + bool negY; + bool posZ; + bool negZ; +}; +struct RuntimeFracture_Type +{ + const char* RuntimeFractureType; + bool sheetFracture; + uint32_t depthLimit; + bool destroyIfAtDepthLimit; + float minConvexSize; + float impulseScale; + FractureGlass_Type glass; + FractureVoronoi_Type voronoi; + FractureAttachment_Type attachment; +}; +struct DestructibleParameters_Type +{ + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + float debrisDestructionProbability; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t damageDepthLimit; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; + RuntimeFracture_Type runtimeFracture; + float supportStrength; +}; +struct Chunk_Type +{ + uint16_t depth; + uint16_t parentIndex; + uint16_t firstChildIndex; + uint16_t numChildren; + uint16_t meshPartIndex; + uint16_t flags; + physx::PxVec3 surfaceNormal; + int8_t behaviorGroupIndex; + uint16_t firstScatterMesh; + uint16_t scatterMeshCount; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + NvParameterized::DummyStringStruct comments; + uint32_t depthCount; + uint32_t originalDepthCount; + physx::PxBounds3 bounds; + BehaviorGroup_Type defaultBehaviorGroup; + BehaviorGroup_DynamicArray1D_Type behaviorGroups; + int8_t RTFractureBehaviorGroup; + Chunk_DynamicArray1D_Type chunks; + REF_DynamicArray1D_Type chunkConvexHulls; + U32_DynamicArray1D_Type chunkConvexHullStartIndices; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + NvParameterized::DummyStringStruct crumbleEmitterName; + NvParameterized::DummyStringStruct dustEmitterName; + NvParameterized::Interface* collisionData; + NvParameterized::Interface* renderMeshAsset; + uint32_t initialDestructibleActorAllowanceForInstancing; + InstanceInfo_DynamicArray1D_Type chunkInstanceInfo; + STRING_DynamicArray1D_Type staticMaterialNames; + float neighborPadding; + REF_DynamicArray1D_Type overlapsAtDepth; + U32_DynamicArray1D_Type firstChunkAtDepth; + uint32_t supportDepth; + bool formExtendedStructures; + bool useAssetDefinedSupport; + bool useWorldSupport; + MAT44_DynamicArray1D_Type actorTransforms; + REF_DynamicArray1D_Type scatterMeshAssets; + U8_DynamicArray1D_Type scatterMeshIndices; + M34_DynamicArray1D_Type scatterMeshTransforms; + +}; + +static const uint32_t checksum[] = { 0x23366b01, 0x536b5be2, 0x10f1c105, 0x9aefafa9, }; + +} // namespace DestructibleAssetParameters_0p23NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleAssetParameters_0p23 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p23NS::ParametersStruct +{ +public: + DestructibleAssetParameters_0p23(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleAssetParameters_0p23(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleAssetParameters"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)23; + + 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(DestructibleAssetParameters_0p23NS::checksum); + return DestructibleAssetParameters_0p23NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleAssetParameters_0p23NS::ParametersStruct& parameters(void) const + { + DestructibleAssetParameters_0p23* tmpThis = const_cast<DestructibleAssetParameters_0p23*>(this); + return *(static_cast<DestructibleAssetParameters_0p23NS::ParametersStruct*>(tmpThis)); + } + + DestructibleAssetParameters_0p23NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleAssetParameters_0p23NS::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 DestructibleAssetParameters_0p23Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleAssetParameters_0p23::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p23), DestructibleAssetParameters_0p23::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p23::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p23"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p23)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p23)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p23::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p23::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p23"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleAssetParameters_0p23 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 (DestructibleAssetParameters_0p23*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleAssetParameters_0p23::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleAssetParameters_0p23::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleAssetParameters_0p23::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleAssetParameters_0p23::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p24.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p24.h new file mode 100644 index 00000000..586a533d --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p24.h @@ -0,0 +1,603 @@ +// 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_DestructibleAssetParameters_0p24_h +#define HEADER_DestructibleAssetParameters_0p24_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleAssetParameters_0p24NS +{ + +struct BehaviorGroup_Type; +struct Chunk_Type; +struct InstanceInfo_Type; +struct M34_Type; +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct FractureGlass_Type; +struct FractureVoronoi_Type; +struct FractureAttachment_Type; +struct RuntimeFracture_Type; +struct DestructibleParameters_Type; +struct DamageSpreadFunction_Type; +struct Plane_Type; + +struct BehaviorGroup_DynamicArray1D_Type +{ + BehaviorGroup_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct Chunk_DynamicArray1D_Type +{ + Chunk_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 U32_DynamicArray1D_Type +{ + uint32_t* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct InstanceInfo_DynamicArray1D_Type +{ + InstanceInfo_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct MAT44_DynamicArray1D_Type +{ + physx::PxMat44* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct U8_DynamicArray1D_Type +{ + uint8_t* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct M34_DynamicArray1D_Type +{ + M34_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; + bool CRUMBLE_VIA_RUNTIME_FRACTURE; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct M34_Type +{ + physx::PxMat33 matrix; + physx::PxVec3 vector; +}; +struct InstanceInfo_Type +{ + uint16_t partIndex; + physx::PxVec3 chunkPositionOffset; + physx::PxVec2 chunkUVOffset; +}; +struct Plane_Type +{ + physx::PxVec3 normal; + float d; +}; +struct FractureGlass_Type +{ + uint32_t numSectors; + float sectorRand; + float firstSegmentSize; + float segmentScale; + float segmentRand; +}; +struct DamageSpreadFunction_Type +{ + float minimumRadius; + float radiusMultiplier; + float falloffExponent; +}; +struct BehaviorGroup_Type +{ + NvParameterized::DummyStringStruct name; + float damageThreshold; + float damageToRadius; + DamageSpreadFunction_Type damageSpread; + DamageSpreadFunction_Type damageColorSpread; + physx::PxVec4 damageColorChange; + float materialStrength; + float density; + float fadeOut; + float maxDepenetrationVelocity; + uint64_t userData; +}; +struct FractureVoronoi_Type +{ + physx::PxVec3 dimensions; + uint32_t numCells; + float biasExp; + float maxDist; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct FractureAttachment_Type +{ + bool posX; + bool negX; + bool posY; + bool negY; + bool posZ; + bool negZ; +}; +struct RuntimeFracture_Type +{ + const char* RuntimeFractureType; + bool sheetFracture; + uint32_t depthLimit; + bool destroyIfAtDepthLimit; + float minConvexSize; + float impulseScale; + FractureGlass_Type glass; + FractureVoronoi_Type voronoi; + FractureAttachment_Type attachment; +}; +struct DestructibleParameters_Type +{ + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + float debrisDestructionProbability; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t damageDepthLimit; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; + RuntimeFracture_Type runtimeFracture; + float supportStrength; + int8_t legacyChunkBoundsTestSetting; + int8_t legacyDamageRadiusSpreadSetting; +}; +struct Chunk_Type +{ + uint16_t depth; + uint16_t parentIndex; + uint16_t firstChildIndex; + uint16_t numChildren; + uint16_t meshPartIndex; + uint16_t flags; + physx::PxVec3 surfaceNormal; + int8_t behaviorGroupIndex; + uint16_t firstScatterMesh; + uint16_t scatterMeshCount; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + NvParameterized::DummyStringStruct comments; + uint32_t depthCount; + uint32_t originalDepthCount; + physx::PxBounds3 bounds; + BehaviorGroup_Type defaultBehaviorGroup; + BehaviorGroup_DynamicArray1D_Type behaviorGroups; + int8_t RTFractureBehaviorGroup; + Chunk_DynamicArray1D_Type chunks; + REF_DynamicArray1D_Type chunkConvexHulls; + U32_DynamicArray1D_Type chunkConvexHullStartIndices; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + NvParameterized::DummyStringStruct crumbleEmitterName; + NvParameterized::DummyStringStruct dustEmitterName; + NvParameterized::Interface* collisionData; + NvParameterized::Interface* renderMeshAsset; + uint32_t initialDestructibleActorAllowanceForInstancing; + InstanceInfo_DynamicArray1D_Type chunkInstanceInfo; + STRING_DynamicArray1D_Type staticMaterialNames; + float neighborPadding; + REF_DynamicArray1D_Type overlapsAtDepth; + U32_DynamicArray1D_Type firstChunkAtDepth; + uint32_t supportDepth; + bool formExtendedStructures; + bool useAssetDefinedSupport; + bool useWorldSupport; + MAT44_DynamicArray1D_Type actorTransforms; + REF_DynamicArray1D_Type scatterMeshAssets; + U8_DynamicArray1D_Type scatterMeshIndices; + M34_DynamicArray1D_Type scatterMeshTransforms; + +}; + +static const uint32_t checksum[] = { 0x1850e66c, 0xb88dc447, 0x01dfd5c9, 0x4fccef9c, }; + +} // namespace DestructibleAssetParameters_0p24NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleAssetParameters_0p24 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p24NS::ParametersStruct +{ +public: + DestructibleAssetParameters_0p24(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleAssetParameters_0p24(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleAssetParameters"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)24; + + 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(DestructibleAssetParameters_0p24NS::checksum); + return DestructibleAssetParameters_0p24NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleAssetParameters_0p24NS::ParametersStruct& parameters(void) const + { + DestructibleAssetParameters_0p24* tmpThis = const_cast<DestructibleAssetParameters_0p24*>(this); + return *(static_cast<DestructibleAssetParameters_0p24NS::ParametersStruct*>(tmpThis)); + } + + DestructibleAssetParameters_0p24NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleAssetParameters_0p24NS::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 DestructibleAssetParameters_0p24Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleAssetParameters_0p24::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p24), DestructibleAssetParameters_0p24::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p24::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p24"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p24)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p24)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p24::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p24::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p24"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleAssetParameters_0p24 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 (DestructibleAssetParameters_0p24*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleAssetParameters_0p24::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleAssetParameters_0p24::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleAssetParameters_0p24::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleAssetParameters_0p24::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p25.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p25.h new file mode 100644 index 00000000..06ae759a --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p25.h @@ -0,0 +1,580 @@ +// 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_DestructibleAssetParameters_0p25_h +#define HEADER_DestructibleAssetParameters_0p25_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleAssetParameters_0p25NS +{ + +struct BehaviorGroup_Type; +struct Chunk_Type; +struct InstanceInfo_Type; +struct GroupsMask_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct FractureGlass_Type; +struct FractureVoronoi_Type; +struct FractureAttachment_Type; +struct RuntimeFracture_Type; +struct DestructibleParameters_Type; +struct DamageSpreadFunction_Type; +struct Plane_Type; + +struct BehaviorGroup_DynamicArray1D_Type +{ + BehaviorGroup_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct Chunk_DynamicArray1D_Type +{ + Chunk_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 U32_DynamicArray1D_Type +{ + uint32_t* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct InstanceInfo_DynamicArray1D_Type +{ + InstanceInfo_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct MAT44_DynamicArray1D_Type +{ + physx::PxMat44* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct U8_DynamicArray1D_Type +{ + uint8_t* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; + bool CRUMBLE_VIA_RUNTIME_FRACTURE; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct InstanceInfo_Type +{ + uint16_t partIndex; + physx::PxVec3 chunkPositionOffset; + physx::PxVec2 chunkUVOffset; +}; +struct Plane_Type +{ + physx::PxVec3 normal; + float d; +}; +struct FractureGlass_Type +{ + uint32_t numSectors; + float sectorRand; + float firstSegmentSize; + float segmentScale; + float segmentRand; +}; +struct DamageSpreadFunction_Type +{ + float minimumRadius; + float radiusMultiplier; + float falloffExponent; +}; +struct BehaviorGroup_Type +{ + NvParameterized::DummyStringStruct name; + float damageThreshold; + float damageToRadius; + DamageSpreadFunction_Type damageSpread; + DamageSpreadFunction_Type damageColorSpread; + physx::PxVec4 damageColorChange; + float materialStrength; + float density; + float fadeOut; + float maxDepenetrationVelocity; + uint64_t userData; +}; +struct FractureVoronoi_Type +{ + physx::PxVec3 dimensions; + uint32_t numCells; + float biasExp; + float maxDist; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct FractureAttachment_Type +{ + bool posX; + bool negX; + bool posY; + bool negY; + bool posZ; + bool negZ; +}; +struct RuntimeFracture_Type +{ + const char* RuntimeFractureType; + bool sheetFracture; + uint32_t depthLimit; + bool destroyIfAtDepthLimit; + float minConvexSize; + float impulseScale; + FractureGlass_Type glass; + FractureVoronoi_Type voronoi; + FractureAttachment_Type attachment; +}; +struct DestructibleParameters_Type +{ + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + float debrisDestructionProbability; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t damageDepthLimit; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; + RuntimeFracture_Type runtimeFracture; + float supportStrength; + int8_t legacyChunkBoundsTestSetting; + int8_t legacyDamageRadiusSpreadSetting; +}; +struct Chunk_Type +{ + uint16_t depth; + uint16_t parentIndex; + uint16_t firstChildIndex; + uint16_t numChildren; + uint16_t meshPartIndex; + uint16_t flags; + physx::PxVec3 surfaceNormal; + int8_t behaviorGroupIndex; + uint16_t firstScatterMesh; + uint16_t scatterMeshCount; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + NvParameterized::DummyStringStruct comments; + uint32_t depthCount; + uint32_t originalDepthCount; + physx::PxBounds3 bounds; + BehaviorGroup_Type defaultBehaviorGroup; + BehaviorGroup_DynamicArray1D_Type behaviorGroups; + int8_t RTFractureBehaviorGroup; + Chunk_DynamicArray1D_Type chunks; + REF_DynamicArray1D_Type chunkConvexHulls; + U32_DynamicArray1D_Type chunkConvexHullStartIndices; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + NvParameterized::DummyStringStruct crumbleEmitterName; + NvParameterized::DummyStringStruct dustEmitterName; + NvParameterized::Interface* collisionData; + NvParameterized::Interface* renderMeshAsset; + uint32_t initialDestructibleActorAllowanceForInstancing; + InstanceInfo_DynamicArray1D_Type chunkInstanceInfo; + STRING_DynamicArray1D_Type staticMaterialNames; + float neighborPadding; + REF_DynamicArray1D_Type overlapsAtDepth; + U32_DynamicArray1D_Type firstChunkAtDepth; + uint32_t supportDepth; + bool formExtendedStructures; + bool useAssetDefinedSupport; + bool useWorldSupport; + MAT44_DynamicArray1D_Type actorTransforms; + REF_DynamicArray1D_Type scatterMeshAssets; + U8_DynamicArray1D_Type scatterMeshIndices; + MAT44_DynamicArray1D_Type scatterMeshTransforms; + +}; + +static const uint32_t checksum[] = { 0x11268689, 0x39ecdbd7, 0xecef1fff, 0x7fbbb26e, }; + +} // namespace DestructibleAssetParameters_0p25NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleAssetParameters_0p25 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p25NS::ParametersStruct +{ +public: + DestructibleAssetParameters_0p25(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleAssetParameters_0p25(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleAssetParameters"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)25; + + 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(DestructibleAssetParameters_0p25NS::checksum); + return DestructibleAssetParameters_0p25NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleAssetParameters_0p25NS::ParametersStruct& parameters(void) const + { + DestructibleAssetParameters_0p25* tmpThis = const_cast<DestructibleAssetParameters_0p25*>(this); + return *(static_cast<DestructibleAssetParameters_0p25NS::ParametersStruct*>(tmpThis)); + } + + DestructibleAssetParameters_0p25NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleAssetParameters_0p25NS::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 DestructibleAssetParameters_0p25Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleAssetParameters_0p25::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p25), DestructibleAssetParameters_0p25::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p25::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p25"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p25)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p25)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p25::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p25::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p25"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleAssetParameters_0p25 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 (DestructibleAssetParameters_0p25*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleAssetParameters_0p25::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleAssetParameters_0p25::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleAssetParameters_0p25::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleAssetParameters_0p25::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p26.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p26.h new file mode 100644 index 00000000..6617c551 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p26.h @@ -0,0 +1,675 @@ +// 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_DestructibleAssetParameters_0p26_h +#define HEADER_DestructibleAssetParameters_0p26_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleAssetParameters_0p26NS +{ + +struct GroupsMask_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct FractureGlass_Type; +struct FractureVoronoi_Type; +struct FractureAttachment_Type; +struct RuntimeFracture_Type; +struct DestructibleParameters_Type; +struct DamageSpreadFunction_Type; +struct BufferFormat_Type; +struct U8x2_Type; +struct U8x3_Type; +struct U8x4_Type; +struct U16x2_Type; +struct U16x3_Type; +struct U16x4_Type; +struct U32x2_Type; +struct U32x3_Type; +struct U32x4_Type; +struct F32x2_Type; +struct F32x3_Type; +struct F32x4_Type; +struct Plane_Type; +struct BehaviorGroup_Type; +struct Chunk_Type; +struct InstanceInfo_Type; + +struct BehaviorGroup_DynamicArray1D_Type +{ + BehaviorGroup_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct Chunk_DynamicArray1D_Type +{ + Chunk_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 U32_DynamicArray1D_Type +{ + uint32_t* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct InstanceInfo_DynamicArray1D_Type +{ + InstanceInfo_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct MAT44_DynamicArray1D_Type +{ + physx::PxMat44* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct U8_DynamicArray1D_Type +{ + uint8_t* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct F32x3_Type +{ + float x; + float y; + float z; +}; +struct U32x2_Type +{ + uint32_t x; + uint32_t y; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; + bool CRUMBLE_VIA_RUNTIME_FRACTURE; +}; +struct U32x4_Type +{ + uint32_t x; + uint32_t y; + uint32_t z; + uint32_t w; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct F32x2_Type +{ + float x; + float y; +}; +struct InstanceInfo_Type +{ + uint16_t partIndex; + physx::PxVec3 chunkPositionOffset; + physx::PxVec2 chunkUVOffset; +}; +struct Plane_Type +{ + physx::PxVec3 normal; + float d; +}; +struct U16x2_Type +{ + uint16_t x; + uint16_t y; +}; +struct U8x2_Type +{ + uint8_t x; + uint8_t y; +}; +struct DamageSpreadFunction_Type +{ + float minimumRadius; + float radiusMultiplier; + float falloffExponent; +}; +struct FractureVoronoi_Type +{ + physx::PxVec3 dimensions; + uint32_t numCells; + float biasExp; + float maxDist; +}; +struct U8x3_Type +{ + uint8_t x; + uint8_t y; + uint8_t z; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BufferFormat_Type +{ + NvParameterized::DummyStringStruct name; + int32_t semantic; + uint32_t id; + uint32_t format; + uint32_t access; + bool serialize; +}; +struct FractureAttachment_Type +{ + bool posX; + bool negX; + bool posY; + bool negY; + bool posZ; + bool negZ; +}; +struct Chunk_Type +{ + uint16_t depth; + uint16_t parentIndex; + uint16_t firstChildIndex; + uint16_t numChildren; + uint16_t meshPartIndex; + uint16_t flags; + physx::PxVec3 surfaceNormal; + int8_t behaviorGroupIndex; + uint16_t firstScatterMesh; + uint16_t scatterMeshCount; +}; +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct U16x4_Type +{ + uint16_t x; + uint16_t y; + uint16_t z; + uint16_t w; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct U32x3_Type +{ + uint32_t x; + uint32_t y; + uint32_t z; +}; +struct U16x3_Type +{ + uint16_t x; + uint16_t y; + uint16_t z; +}; +struct F32x4_Type +{ + PX_ALIGN(16, float x); + float y; + float z; + float w; +}; +struct FractureGlass_Type +{ + uint32_t numSectors; + float sectorRand; + float firstSegmentSize; + float segmentScale; + float segmentRand; +}; +struct RuntimeFracture_Type +{ + const char* RuntimeFractureType; + bool sheetFracture; + uint32_t depthLimit; + bool destroyIfAtDepthLimit; + float minConvexSize; + float impulseScale; + FractureGlass_Type glass; + FractureVoronoi_Type voronoi; + FractureAttachment_Type attachment; +}; +struct DestructibleParameters_Type +{ + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + float debrisDestructionProbability; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t damageDepthLimit; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; + RuntimeFracture_Type runtimeFracture; + float supportStrength; + int8_t legacyChunkBoundsTestSetting; + int8_t legacyDamageRadiusSpreadSetting; + bool alwaysDrawScatterMesh; +}; +struct BehaviorGroup_Type +{ + NvParameterized::DummyStringStruct name; + float damageThreshold; + float damageToRadius; + DamageSpreadFunction_Type damageSpread; + DamageSpreadFunction_Type damageColorSpread; + physx::PxVec4 damageColorChange; + float materialStrength; + float density; + float fadeOut; + float maxDepenetrationVelocity; + uint64_t userData; +}; +struct U8x4_Type +{ + uint8_t x; + uint8_t y; + uint8_t z; + uint8_t w; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + NvParameterized::DummyStringStruct comments; + uint32_t depthCount; + uint32_t originalDepthCount; + physx::PxBounds3 bounds; + BehaviorGroup_Type defaultBehaviorGroup; + BehaviorGroup_DynamicArray1D_Type behaviorGroups; + int8_t RTFractureBehaviorGroup; + Chunk_DynamicArray1D_Type chunks; + REF_DynamicArray1D_Type chunkConvexHulls; + U32_DynamicArray1D_Type chunkConvexHullStartIndices; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + NvParameterized::DummyStringStruct crumbleEmitterName; + NvParameterized::DummyStringStruct dustEmitterName; + NvParameterized::Interface* collisionData; + NvParameterized::Interface* renderMeshAsset; + uint32_t initialDestructibleActorAllowanceForInstancing; + InstanceInfo_DynamicArray1D_Type chunkInstanceInfo; + STRING_DynamicArray1D_Type staticMaterialNames; + float neighborPadding; + REF_DynamicArray1D_Type overlapsAtDepth; + U32_DynamicArray1D_Type firstChunkAtDepth; + uint32_t supportDepth; + bool formExtendedStructures; + bool useAssetDefinedSupport; + bool useWorldSupport; + MAT44_DynamicArray1D_Type actorTransforms; + REF_DynamicArray1D_Type scatterMeshAssets; + U8_DynamicArray1D_Type scatterMeshIndices; + MAT44_DynamicArray1D_Type scatterMeshTransforms; + +}; + +static const uint32_t checksum[] = { 0xb0082230, 0x839469d7, 0xd24a9c81, 0xc8df3469, }; + +} // namespace DestructibleAssetParameters_0p26NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleAssetParameters_0p26 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p26NS::ParametersStruct +{ +public: + DestructibleAssetParameters_0p26(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleAssetParameters_0p26(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleAssetParameters"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)26; + + 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(DestructibleAssetParameters_0p26NS::checksum); + return DestructibleAssetParameters_0p26NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleAssetParameters_0p26NS::ParametersStruct& parameters(void) const + { + DestructibleAssetParameters_0p26* tmpThis = const_cast<DestructibleAssetParameters_0p26*>(this); + return *(static_cast<DestructibleAssetParameters_0p26NS::ParametersStruct*>(tmpThis)); + } + + DestructibleAssetParameters_0p26NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleAssetParameters_0p26NS::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 DestructibleAssetParameters_0p26Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleAssetParameters_0p26::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p26), DestructibleAssetParameters_0p26::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p26::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p26"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p26)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p26)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p26::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p26::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p26"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleAssetParameters_0p26 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 (DestructibleAssetParameters_0p26*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleAssetParameters_0p26::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleAssetParameters_0p26::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleAssetParameters_0p26::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleAssetParameters_0p26::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p3.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p3.h new file mode 100644 index 00000000..7c85e915 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p3.h @@ -0,0 +1,474 @@ +// 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_DestructibleAssetParameters_0p3_h +#define HEADER_DestructibleAssetParameters_0p3_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleAssetParameters_0p3NS +{ + +struct Chunk_Type; +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct DestructibleParameters_Type; +struct Plane_Type; + +struct Chunk_DynamicArray1D_Type +{ + Chunk_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 DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct U32_DynamicArray1D_Type +{ + uint32_t* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool TAKE_IMPACT_DAMAGE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct Plane_Type +{ + physx::PxVec3 normal; + float d; +}; +struct DestructibleParameters_Type +{ + float damageThreshold; + float damageToRadius; + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + float materialStrength; + float damageToPercentDeformation; + float deformationPercentLimit; + uint32_t minimumFractureDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct Chunk_Type +{ + uint16_t depth; + uint16_t parentIndex; + uint16_t firstChildIndex; + uint16_t numChildren; + uint16_t meshPartIndex; + uint16_t flags; + physx::PxBounds3 bounds; + physx::PxVec3 surfaceNormal; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + uint32_t depthCount; + uint32_t originalDepthCount; + physx::PxBounds3 bounds; + Chunk_DynamicArray1D_Type chunks; + REF_DynamicArray1D_Type chunkConvexHulls; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + NvParameterized::DummyStringStruct crumbleEmitterName; + NvParameterized::DummyStringStruct dustEmitterName; + NvParameterized::Interface* collisionData; + REF_DynamicArray1D_Type surfaceTraceSets; + NvParameterized::Interface* renderMeshAsset; + int32_t interiorSubmeshIndex; + STRING_DynamicArray1D_Type staticMaterialNames; + float neighborPadding; + REF_DynamicArray1D_Type overlapsAtDepth; + U32_DynamicArray1D_Type firstChunkAtDepth; + uint32_t supportDepth; + bool formExtendedStructures; + bool useAssetDefinedSupport; + bool useWorldSupport; + float massScaleExponent; + +}; + +static const uint32_t checksum[] = { 0xa0659145, 0x7c7853ec, 0x5925b84a, 0xe016e03b, }; + +} // namespace DestructibleAssetParameters_0p3NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleAssetParameters_0p3 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p3NS::ParametersStruct +{ +public: + DestructibleAssetParameters_0p3(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleAssetParameters_0p3(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleAssetParameters"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)3; + + 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(DestructibleAssetParameters_0p3NS::checksum); + return DestructibleAssetParameters_0p3NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleAssetParameters_0p3NS::ParametersStruct& parameters(void) const + { + DestructibleAssetParameters_0p3* tmpThis = const_cast<DestructibleAssetParameters_0p3*>(this); + return *(static_cast<DestructibleAssetParameters_0p3NS::ParametersStruct*>(tmpThis)); + } + + DestructibleAssetParameters_0p3NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleAssetParameters_0p3NS::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 DestructibleAssetParameters_0p3Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleAssetParameters_0p3::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p3), DestructibleAssetParameters_0p3::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p3::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p3"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p3)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p3)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p3::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p3::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p3"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleAssetParameters_0p3 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 (DestructibleAssetParameters_0p3*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleAssetParameters_0p3::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleAssetParameters_0p3::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleAssetParameters_0p3::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleAssetParameters_0p3::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p4.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p4.h new file mode 100644 index 00000000..0e4eabc2 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p4.h @@ -0,0 +1,475 @@ +// 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_DestructibleAssetParameters_0p4_h +#define HEADER_DestructibleAssetParameters_0p4_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleAssetParameters_0p4NS +{ + +struct Chunk_Type; +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct DestructibleParameters_Type; +struct Plane_Type; + +struct Chunk_DynamicArray1D_Type +{ + Chunk_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 U32_DynamicArray1D_Type +{ + uint32_t* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool TAKE_IMPACT_DAMAGE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct Plane_Type +{ + physx::PxVec3 normal; + float d; +}; +struct DestructibleParameters_Type +{ + float damageThreshold; + float damageToRadius; + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + float materialStrength; + float damageToPercentDeformation; + float deformationPercentLimit; + uint32_t minimumFractureDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct Chunk_Type +{ + uint16_t depth; + uint16_t parentIndex; + uint16_t firstChildIndex; + uint16_t numChildren; + uint16_t meshPartIndex; + uint16_t flags; + physx::PxBounds3 bounds; + physx::PxVec3 surfaceNormal; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + uint32_t depthCount; + uint32_t originalDepthCount; + physx::PxBounds3 bounds; + Chunk_DynamicArray1D_Type chunks; + REF_DynamicArray1D_Type chunkConvexHulls; + U32_DynamicArray1D_Type chunkConvexHullStartIndices; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + NvParameterized::DummyStringStruct crumbleEmitterName; + NvParameterized::DummyStringStruct dustEmitterName; + NvParameterized::Interface* collisionData; + REF_DynamicArray1D_Type surfaceTraceSets; + NvParameterized::Interface* renderMeshAsset; + int32_t interiorSubmeshIndex; + STRING_DynamicArray1D_Type staticMaterialNames; + float neighborPadding; + REF_DynamicArray1D_Type overlapsAtDepth; + U32_DynamicArray1D_Type firstChunkAtDepth; + uint32_t supportDepth; + bool formExtendedStructures; + bool useAssetDefinedSupport; + bool useWorldSupport; + float massScaleExponent; + +}; + +static const uint32_t checksum[] = { 0xdbc7d73d, 0x74b66caa, 0x71f94316, 0xf7f9a2be, }; + +} // namespace DestructibleAssetParameters_0p4NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleAssetParameters_0p4 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p4NS::ParametersStruct +{ +public: + DestructibleAssetParameters_0p4(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleAssetParameters_0p4(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleAssetParameters"); + } + + 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(DestructibleAssetParameters_0p4NS::checksum); + return DestructibleAssetParameters_0p4NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleAssetParameters_0p4NS::ParametersStruct& parameters(void) const + { + DestructibleAssetParameters_0p4* tmpThis = const_cast<DestructibleAssetParameters_0p4*>(this); + return *(static_cast<DestructibleAssetParameters_0p4NS::ParametersStruct*>(tmpThis)); + } + + DestructibleAssetParameters_0p4NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleAssetParameters_0p4NS::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 DestructibleAssetParameters_0p4Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleAssetParameters_0p4::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p4), DestructibleAssetParameters_0p4::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p4::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p4"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p4)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p4)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p4::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p4::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p4"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleAssetParameters_0p4 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 (DestructibleAssetParameters_0p4*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleAssetParameters_0p4::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleAssetParameters_0p4::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleAssetParameters_0p4::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleAssetParameters_0p4::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p5.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p5.h new file mode 100644 index 00000000..cf9ad443 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p5.h @@ -0,0 +1,474 @@ +// 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_DestructibleAssetParameters_0p5_h +#define HEADER_DestructibleAssetParameters_0p5_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleAssetParameters_0p5NS +{ + +struct Chunk_Type; +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct DestructibleParameters_Type; +struct Plane_Type; + +struct Chunk_DynamicArray1D_Type +{ + Chunk_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 U32_DynamicArray1D_Type +{ + uint32_t* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool TAKE_IMPACT_DAMAGE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct Plane_Type +{ + physx::PxVec3 normal; + float d; +}; +struct DestructibleParameters_Type +{ + float damageThreshold; + float damageToRadius; + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + float materialStrength; + float damageToPercentDeformation; + float deformationPercentLimit; + uint32_t minimumFractureDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct Chunk_Type +{ + uint16_t depth; + uint16_t parentIndex; + uint16_t firstChildIndex; + uint16_t numChildren; + uint16_t meshPartIndex; + uint16_t flags; + physx::PxBounds3 bounds; + physx::PxVec3 surfaceNormal; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + uint32_t depthCount; + uint32_t originalDepthCount; + physx::PxBounds3 bounds; + Chunk_DynamicArray1D_Type chunks; + REF_DynamicArray1D_Type chunkConvexHulls; + U32_DynamicArray1D_Type chunkConvexHullStartIndices; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + NvParameterized::DummyStringStruct crumbleEmitterName; + NvParameterized::DummyStringStruct dustEmitterName; + NvParameterized::Interface* collisionData; + REF_DynamicArray1D_Type surfaceTraceSets; + NvParameterized::Interface* renderMeshAsset; + int32_t interiorSubmeshIndex; + STRING_DynamicArray1D_Type staticMaterialNames; + float neighborPadding; + REF_DynamicArray1D_Type overlapsAtDepth; + U32_DynamicArray1D_Type firstChunkAtDepth; + uint32_t supportDepth; + bool formExtendedStructures; + bool useAssetDefinedSupport; + bool useWorldSupport; + +}; + +static const uint32_t checksum[] = { 0x0d9c4f37, 0xeb0119b0, 0x12937873, 0x8fffbdc3, }; + +} // namespace DestructibleAssetParameters_0p5NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleAssetParameters_0p5 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p5NS::ParametersStruct +{ +public: + DestructibleAssetParameters_0p5(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleAssetParameters_0p5(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleAssetParameters"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)5; + + 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(DestructibleAssetParameters_0p5NS::checksum); + return DestructibleAssetParameters_0p5NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleAssetParameters_0p5NS::ParametersStruct& parameters(void) const + { + DestructibleAssetParameters_0p5* tmpThis = const_cast<DestructibleAssetParameters_0p5*>(this); + return *(static_cast<DestructibleAssetParameters_0p5NS::ParametersStruct*>(tmpThis)); + } + + DestructibleAssetParameters_0p5NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleAssetParameters_0p5NS::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 DestructibleAssetParameters_0p5Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleAssetParameters_0p5::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p5), DestructibleAssetParameters_0p5::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p5::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p5"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p5)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p5)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p5::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p5::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p5"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleAssetParameters_0p5 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 (DestructibleAssetParameters_0p5*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleAssetParameters_0p5::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleAssetParameters_0p5::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleAssetParameters_0p5::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleAssetParameters_0p5::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p6.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p6.h new file mode 100644 index 00000000..cd70756d --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p6.h @@ -0,0 +1,581 @@ +// 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_DestructibleAssetParameters_0p6_h +#define HEADER_DestructibleAssetParameters_0p6_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleAssetParameters_0p6NS +{ + +struct Chunk_Type; +struct InstanceInfo_Type; +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct DestructibleParameters_Type; +struct P3FilterData_Type; +struct P3ShapeFlags_Type; +struct P3PairFlag_Type; +struct P3ShapeDescTemplate_Type; +struct P3ActorFlags_Type; +struct P3ActorDescTemplate_Type; +struct P3BodyDescFlags_Type; +struct P3BodyDescTemplate_Type; +struct Plane_Type; + +struct Chunk_DynamicArray1D_Type +{ + Chunk_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 U32_DynamicArray1D_Type +{ + uint32_t* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct InstanceInfo_DynamicArray1D_Type +{ + InstanceInfo_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool TAKE_IMPACT_DAMAGE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct P3BodyDescFlags_Type +{ + bool eKINEMATIC; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct P3FilterData_Type +{ + uint32_t word0; + uint32_t word1; + uint32_t word2; + uint32_t word3; +}; +struct InstanceInfo_Type +{ + uint16_t partIndex; + physx::PxVec3 chunkPositionOffset; + physx::PxVec2 chunkUVOffset; +}; +struct Plane_Type +{ + physx::PxVec3 normal; + float d; +}; +struct DestructibleParameters_Type +{ + float damageThreshold; + float damageToRadius; + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + float materialStrength; + float damageToPercentDeformation; + float deformationPercentLimit; + uint32_t minimumFractureDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; +}; +struct P3ShapeFlags_Type +{ + bool eSIMULATION_SHAPE; + bool eSCENE_QUERY_SHAPE; + bool eTRIGGER_SHAPE; + bool eVISUALIZATION; + bool ePARTICLE_DRAIN; + bool eDEFORMABLE_DRAIN; + bool eUSE_SWEPT_BOUNDS; +}; +struct P3ShapeDescTemplate_Type +{ + P3ShapeFlags_Type flags; + P3FilterData_Type simulationFilterData; + P3FilterData_Type queryFilterData; + uint16_t materialIndex; + float contactOffset; + float restOffset ; + uint64_t userData; + uint64_t name; +}; +struct P3ActorFlags_Type +{ + bool eVISUALIZATION; + bool eDISABLE_GRAVITY; + bool eSEND_SLEEP_NOTIFIES; +}; +struct P3BodyDescTemplate_Type +{ + float density; + P3BodyDescFlags_Type flags; + float sleepThreshold; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + uint32_t solverIterationCount; + float contactReportThreshold; + float sleepLinearVelocity; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct Chunk_Type +{ + uint16_t depth; + uint16_t parentIndex; + uint16_t firstChildIndex; + uint16_t numChildren; + uint16_t meshPartIndex; + uint16_t flags; + physx::PxBounds3 bounds; + physx::PxVec3 surfaceNormal; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; +struct P3PairFlag_Type +{ + bool eRESOLVE_CONTACTS; + bool eMODIFY_CONTACTS; + bool eNOTIFY_TOUCH_FOUND; + bool eNOTIFY_TOUCH_PERSISTS; + bool eNOTIFY_TOUCH_LOST; + bool eNOTIFY_THRESHOLD_FORCE_FOUND; + bool eNOTIFY_THRESHOLD_FORCE_PERSISTS; + bool eNOTIFY_THRESHOLD_FORCE_LOST; + bool eNOTIFY_CONTACT_POINTS; + bool eNOTIFY_CONTACT_FORCES; + bool eNOTIFY_CONTACT_FORCE_PER_POINT; + bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT; + bool eSWEPT_CONTACT_GENERATION; + bool eSWEPT_INTEGRATION_LINEAR; + bool eSWEPT_INTEGRATION_FULL; + bool eCONTACT_DEFAULT; + bool eTRIGGER_DEFAULT; +}; +struct P3ActorDescTemplate_Type +{ + P3ActorFlags_Type flags; + uint8_t dominanceGroup; + uint8_t ownerClient; + uint32_t clientBehaviorBits; + P3PairFlag_Type contactReportFlags; + uint64_t userData; + uint64_t name; +}; + +struct ParametersStruct +{ + + uint32_t depthCount; + uint32_t originalDepthCount; + physx::PxBounds3 bounds; + Chunk_DynamicArray1D_Type chunks; + REF_DynamicArray1D_Type chunkConvexHulls; + U32_DynamicArray1D_Type chunkConvexHullStartIndices; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + NvParameterized::DummyStringStruct crumbleEmitterName; + NvParameterized::DummyStringStruct dustEmitterName; + NvParameterized::Interface* collisionData; + REF_DynamicArray1D_Type surfaceTraceSets; + NvParameterized::Interface* renderMeshAsset; + REF_DynamicArray1D_Type instancedRenderMeshAssets; + uint32_t initialDestructibleActorAllowanceForInstancing; + InstanceInfo_DynamicArray1D_Type chunkInstanceInfo; + int32_t interiorSubmeshIndex; + STRING_DynamicArray1D_Type staticMaterialNames; + float neighborPadding; + REF_DynamicArray1D_Type overlapsAtDepth; + U32_DynamicArray1D_Type firstChunkAtDepth; + uint32_t supportDepth; + bool formExtendedStructures; + bool useAssetDefinedSupport; + bool useWorldSupport; + +}; + +static const uint32_t checksum[] = { 0x7ff83c4f, 0x927140bd, 0x8bcff4d5, 0x7436bee3, }; + +} // namespace DestructibleAssetParameters_0p6NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleAssetParameters_0p6 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p6NS::ParametersStruct +{ +public: + DestructibleAssetParameters_0p6(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleAssetParameters_0p6(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleAssetParameters"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)6; + + 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(DestructibleAssetParameters_0p6NS::checksum); + return DestructibleAssetParameters_0p6NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleAssetParameters_0p6NS::ParametersStruct& parameters(void) const + { + DestructibleAssetParameters_0p6* tmpThis = const_cast<DestructibleAssetParameters_0p6*>(this); + return *(static_cast<DestructibleAssetParameters_0p6NS::ParametersStruct*>(tmpThis)); + } + + DestructibleAssetParameters_0p6NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleAssetParameters_0p6NS::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 DestructibleAssetParameters_0p6Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleAssetParameters_0p6::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p6), DestructibleAssetParameters_0p6::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p6::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p6"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p6)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p6)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p6::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p6::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p6"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleAssetParameters_0p6 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 (DestructibleAssetParameters_0p6*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleAssetParameters_0p6::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleAssetParameters_0p6::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleAssetParameters_0p6::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleAssetParameters_0p6::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p7.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p7.h new file mode 100644 index 00000000..3590b637 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p7.h @@ -0,0 +1,579 @@ +// 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_DestructibleAssetParameters_0p7_h +#define HEADER_DestructibleAssetParameters_0p7_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleAssetParameters_0p7NS +{ + +struct Chunk_Type; +struct InstanceInfo_Type; +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct DestructibleParameters_Type; +struct P3FilterData_Type; +struct P3ShapeFlags_Type; +struct P3PairFlag_Type; +struct P3ShapeDescTemplate_Type; +struct P3ActorFlags_Type; +struct P3ActorDescTemplate_Type; +struct P3BodyDescFlags_Type; +struct P3BodyDescTemplate_Type; +struct Plane_Type; + +struct Chunk_DynamicArray1D_Type +{ + Chunk_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 U32_DynamicArray1D_Type +{ + uint32_t* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct InstanceInfo_DynamicArray1D_Type +{ + InstanceInfo_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool TAKE_IMPACT_DAMAGE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct P3BodyDescFlags_Type +{ + bool eKINEMATIC; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct P3FilterData_Type +{ + uint32_t word0; + uint32_t word1; + uint32_t word2; + uint32_t word3; +}; +struct InstanceInfo_Type +{ + uint16_t partIndex; + physx::PxVec3 chunkPositionOffset; + physx::PxVec2 chunkUVOffset; +}; +struct Plane_Type +{ + physx::PxVec3 normal; + float d; +}; +struct DestructibleParameters_Type +{ + float damageThreshold; + float damageToRadius; + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + float materialStrength; + float damageToPercentDeformation; + float deformationPercentLimit; + uint32_t minimumFractureDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; +}; +struct P3ShapeFlags_Type +{ + bool eSIMULATION_SHAPE; + bool eSCENE_QUERY_SHAPE; + bool eTRIGGER_SHAPE; + bool eVISUALIZATION; + bool ePARTICLE_DRAIN; + bool eDEFORMABLE_DRAIN; + bool eUSE_SWEPT_BOUNDS; +}; +struct P3ShapeDescTemplate_Type +{ + P3ShapeFlags_Type flags; + P3FilterData_Type simulationFilterData; + P3FilterData_Type queryFilterData; + uint16_t materialIndex; + float contactOffset; + float restOffset; + uint64_t userData; + uint64_t name; +}; +struct P3ActorFlags_Type +{ + bool eVISUALIZATION; + bool eDISABLE_GRAVITY; + bool eSEND_SLEEP_NOTIFIES; +}; +struct P3BodyDescTemplate_Type +{ + float density; + P3BodyDescFlags_Type flags; + float sleepThreshold; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + uint32_t solverIterationCount; + float contactReportThreshold; + float sleepLinearVelocity; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct Chunk_Type +{ + uint16_t depth; + uint16_t parentIndex; + uint16_t firstChildIndex; + uint16_t numChildren; + uint16_t meshPartIndex; + uint16_t flags; + physx::PxVec3 surfaceNormal; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; +struct P3PairFlag_Type +{ + bool eRESOLVE_CONTACTS; + bool eMODIFY_CONTACTS; + bool eNOTIFY_TOUCH_FOUND; + bool eNOTIFY_TOUCH_PERSISTS; + bool eNOTIFY_TOUCH_LOST; + bool eNOTIFY_THRESHOLD_FORCE_FOUND; + bool eNOTIFY_THRESHOLD_FORCE_PERSISTS; + bool eNOTIFY_THRESHOLD_FORCE_LOST; + bool eNOTIFY_CONTACT_POINTS; + bool eNOTIFY_CONTACT_FORCES; + bool eNOTIFY_CONTACT_FORCE_PER_POINT; + bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT; + bool eSWEPT_CONTACT_GENERATION; + bool eSWEPT_INTEGRATION_LINEAR; + bool eSWEPT_INTEGRATION_FULL; + bool eCONTACT_DEFAULT; + bool eTRIGGER_DEFAULT; +}; +struct P3ActorDescTemplate_Type +{ + P3ActorFlags_Type flags; + uint8_t dominanceGroup; + uint8_t ownerClient; + uint32_t clientBehaviorBits; + P3PairFlag_Type contactReportFlags; + uint64_t userData; + uint64_t name; +}; + +struct ParametersStruct +{ + + uint32_t depthCount; + uint32_t originalDepthCount; + physx::PxBounds3 bounds; + Chunk_DynamicArray1D_Type chunks; + REF_DynamicArray1D_Type chunkConvexHulls; + U32_DynamicArray1D_Type chunkConvexHullStartIndices; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + NvParameterized::DummyStringStruct crumbleEmitterName; + NvParameterized::DummyStringStruct dustEmitterName; + NvParameterized::Interface* collisionData; + REF_DynamicArray1D_Type surfaceTraceSets; + NvParameterized::Interface* renderMeshAsset; + uint32_t initialDestructibleActorAllowanceForInstancing; + InstanceInfo_DynamicArray1D_Type chunkInstanceInfo; + int32_t interiorSubmeshIndex; + STRING_DynamicArray1D_Type staticMaterialNames; + float neighborPadding; + REF_DynamicArray1D_Type overlapsAtDepth; + U32_DynamicArray1D_Type firstChunkAtDepth; + uint32_t supportDepth; + bool formExtendedStructures; + bool useAssetDefinedSupport; + bool useWorldSupport; + +}; + +static const uint32_t checksum[] = { 0x413f957f, 0x3e6c42e8, 0xa52b14f8, 0xb0466d5c, }; + +} // namespace DestructibleAssetParameters_0p7NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleAssetParameters_0p7 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p7NS::ParametersStruct +{ +public: + DestructibleAssetParameters_0p7(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleAssetParameters_0p7(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleAssetParameters"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)7; + + 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(DestructibleAssetParameters_0p7NS::checksum); + return DestructibleAssetParameters_0p7NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleAssetParameters_0p7NS::ParametersStruct& parameters(void) const + { + DestructibleAssetParameters_0p7* tmpThis = const_cast<DestructibleAssetParameters_0p7*>(this); + return *(static_cast<DestructibleAssetParameters_0p7NS::ParametersStruct*>(tmpThis)); + } + + DestructibleAssetParameters_0p7NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleAssetParameters_0p7NS::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 DestructibleAssetParameters_0p7Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleAssetParameters_0p7::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p7), DestructibleAssetParameters_0p7::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p7::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p7"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p7)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p7)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p7::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p7::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p7"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleAssetParameters_0p7 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 (DestructibleAssetParameters_0p7*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleAssetParameters_0p7::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleAssetParameters_0p7::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleAssetParameters_0p7::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleAssetParameters_0p7::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p8.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p8.h new file mode 100644 index 00000000..494d5da3 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p8.h @@ -0,0 +1,579 @@ +// 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_DestructibleAssetParameters_0p8_h +#define HEADER_DestructibleAssetParameters_0p8_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleAssetParameters_0p8NS +{ + +struct Chunk_Type; +struct InstanceInfo_Type; +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct DestructibleParameters_Type; +struct P3FilterData_Type; +struct P3ShapeFlags_Type; +struct P3PairFlag_Type; +struct P3ShapeDescTemplate_Type; +struct P3ActorFlags_Type; +struct P3ActorDescTemplate_Type; +struct P3BodyDescFlags_Type; +struct P3BodyDescTemplate_Type; +struct Plane_Type; + +struct Chunk_DynamicArray1D_Type +{ + Chunk_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 U32_DynamicArray1D_Type +{ + uint32_t* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct InstanceInfo_DynamicArray1D_Type +{ + InstanceInfo_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct P3BodyDescFlags_Type +{ + bool eKINEMATIC; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct P3FilterData_Type +{ + uint32_t word0; + uint32_t word1; + uint32_t word2; + uint32_t word3; +}; +struct InstanceInfo_Type +{ + uint16_t partIndex; + physx::PxVec3 chunkPositionOffset; + physx::PxVec2 chunkUVOffset; +}; +struct Plane_Type +{ + physx::PxVec3 normal; + float d; +}; +struct DestructibleParameters_Type +{ + float damageThreshold; + float damageToRadius; + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + float materialStrength; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; +}; +struct P3ShapeFlags_Type +{ + bool eSIMULATION_SHAPE; + bool eSCENE_QUERY_SHAPE; + bool eTRIGGER_SHAPE; + bool eVISUALIZATION; + bool ePARTICLE_DRAIN; + bool eDEFORMABLE_DRAIN; + bool eUSE_SWEPT_BOUNDS; +}; +struct P3ShapeDescTemplate_Type +{ + P3ShapeFlags_Type flags; + P3FilterData_Type simulationFilterData; + P3FilterData_Type queryFilterData; + uint16_t materialIndex; + float contactOffset; + float restOffset; + uint64_t userData; + uint64_t name; +}; +struct P3ActorFlags_Type +{ + bool eVISUALIZATION; + bool eDISABLE_GRAVITY; + bool eSEND_SLEEP_NOTIFIES; +}; +struct P3BodyDescTemplate_Type +{ + float density; + P3BodyDescFlags_Type flags; + float sleepThreshold; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + uint32_t solverIterationCount; + float contactReportThreshold; + float sleepLinearVelocity; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct Chunk_Type +{ + uint16_t depth; + uint16_t parentIndex; + uint16_t firstChildIndex; + uint16_t numChildren; + uint16_t meshPartIndex; + uint16_t flags; + physx::PxVec3 surfaceNormal; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; +struct P3PairFlag_Type +{ + bool eRESOLVE_CONTACTS; + bool eMODIFY_CONTACTS; + bool eNOTIFY_TOUCH_FOUND; + bool eNOTIFY_TOUCH_PERSISTS; + bool eNOTIFY_TOUCH_LOST; + bool eNOTIFY_THRESHOLD_FORCE_FOUND; + bool eNOTIFY_THRESHOLD_FORCE_PERSISTS; + bool eNOTIFY_THRESHOLD_FORCE_LOST; + bool eNOTIFY_CONTACT_POINTS; + bool eNOTIFY_CONTACT_FORCES; + bool eNOTIFY_CONTACT_FORCE_PER_POINT; + bool eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT; + bool eSWEPT_CONTACT_GENERATION; + bool eSWEPT_INTEGRATION_LINEAR; + bool eSWEPT_INTEGRATION_FULL; + bool eCONTACT_DEFAULT; + bool eTRIGGER_DEFAULT; +}; +struct P3ActorDescTemplate_Type +{ + P3ActorFlags_Type flags; + uint8_t dominanceGroup; + uint8_t ownerClient; + uint32_t clientBehaviorBits; + P3PairFlag_Type contactReportFlags; + uint64_t userData; + uint64_t name; +}; + +struct ParametersStruct +{ + + uint32_t depthCount; + uint32_t originalDepthCount; + physx::PxBounds3 bounds; + Chunk_DynamicArray1D_Type chunks; + REF_DynamicArray1D_Type chunkConvexHulls; + U32_DynamicArray1D_Type chunkConvexHullStartIndices; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + NvParameterized::DummyStringStruct crumbleEmitterName; + NvParameterized::DummyStringStruct dustEmitterName; + NvParameterized::Interface* collisionData; + REF_DynamicArray1D_Type surfaceTraceSets; + NvParameterized::Interface* renderMeshAsset; + uint32_t initialDestructibleActorAllowanceForInstancing; + InstanceInfo_DynamicArray1D_Type chunkInstanceInfo; + int32_t interiorSubmeshIndex; + STRING_DynamicArray1D_Type staticMaterialNames; + float neighborPadding; + REF_DynamicArray1D_Type overlapsAtDepth; + U32_DynamicArray1D_Type firstChunkAtDepth; + uint32_t supportDepth; + bool formExtendedStructures; + bool useAssetDefinedSupport; + bool useWorldSupport; + +}; + +static const uint32_t checksum[] = { 0xe8a2332d, 0xf757b2db, 0x07eb1ca5, 0x80693529, }; + +} // namespace DestructibleAssetParameters_0p8NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleAssetParameters_0p8 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p8NS::ParametersStruct +{ +public: + DestructibleAssetParameters_0p8(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleAssetParameters_0p8(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleAssetParameters"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)8; + + 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(DestructibleAssetParameters_0p8NS::checksum); + return DestructibleAssetParameters_0p8NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleAssetParameters_0p8NS::ParametersStruct& parameters(void) const + { + DestructibleAssetParameters_0p8* tmpThis = const_cast<DestructibleAssetParameters_0p8*>(this); + return *(static_cast<DestructibleAssetParameters_0p8NS::ParametersStruct*>(tmpThis)); + } + + DestructibleAssetParameters_0p8NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleAssetParameters_0p8NS::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 DestructibleAssetParameters_0p8Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleAssetParameters_0p8::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p8), DestructibleAssetParameters_0p8::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p8::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p8"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p8)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p8)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p8::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p8::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p8"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleAssetParameters_0p8 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 (DestructibleAssetParameters_0p8*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleAssetParameters_0p8::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleAssetParameters_0p8::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleAssetParameters_0p8::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleAssetParameters_0p8::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p9.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p9.h new file mode 100644 index 00000000..18c68fac --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleAssetParameters_0p9.h @@ -0,0 +1,499 @@ +// 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_DestructibleAssetParameters_0p9_h +#define HEADER_DestructibleAssetParameters_0p9_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleAssetParameters_0p9NS +{ + +struct Chunk_Type; +struct InstanceInfo_Type; +struct GroupsMask_Type; +struct LODWeights_Type; +struct ShapeDescFlags_Type; +struct ShapeDescTemplate_Type; +struct ContactPairFlag_Type; +struct ActorDescFlags_Type; +struct ActorDescTemplate_Type; +struct BodyDescFlags_Type; +struct BodyDescTemplate_Type; +struct DestructibleDepthParameters_Type; +struct DestructibleParametersFlag_Type; +struct DestructibleParameters_Type; +struct Plane_Type; + +struct Chunk_DynamicArray1D_Type +{ + Chunk_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 U32_DynamicArray1D_Type +{ + uint32_t* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_DynamicArray1D_Type +{ + DestructibleDepthParameters_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct InstanceInfo_DynamicArray1D_Type +{ + InstanceInfo_Type* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct MAT44_DynamicArray1D_Type +{ + physx::PxMat44* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct DestructibleDepthParameters_Type +{ + bool OVERRIDE_IMPACT_DAMAGE; + bool OVERRIDE_IMPACT_DAMAGE_VALUE; + bool IGNORE_POSE_UPDATES; + bool IGNORE_RAYCAST_CALLBACKS; + bool IGNORE_CONTACT_CALLBACKS; + bool USER_FLAG_0; + bool USER_FLAG_1; + bool USER_FLAG_2; + bool USER_FLAG_3; +}; +struct GroupsMask_Type +{ + bool useGroupsMask; + uint32_t bits0; + uint32_t bits1; + uint32_t bits2; + uint32_t bits3; +}; +struct DestructibleParametersFlag_Type +{ + bool ACCUMULATE_DAMAGE; + bool DEBRIS_TIMEOUT; + bool DEBRIS_MAX_SEPARATION; + bool CRUMBLE_SMALLEST_CHUNKS; + bool ACCURATE_RAYCASTS; + bool USE_VALID_BOUNDS; +}; +struct ShapeDescFlags_Type +{ + bool NX_TRIGGER_ON_ENTER; + bool NX_TRIGGER_ON_LEAVE; + bool NX_TRIGGER_ON_STAY; + bool NX_SF_VISUALIZATION; + bool NX_SF_DISABLE_COLLISION; + bool NX_SF_FEATURE_INDICES; + bool NX_SF_DISABLE_RAYCASTING; + bool NX_SF_POINT_CONTACT_FORCE; + bool NX_SF_FLUID_DRAIN; + bool NX_SF_FLUID_DISABLE_COLLISION; + bool NX_SF_FLUID_TWOWAY; + bool NX_SF_DISABLE_RESPONSE; + bool NX_SF_DYNAMIC_DYNAMIC_CCD; + bool NX_SF_DISABLE_SCENE_QUERIES; + bool NX_SF_CLOTH_DRAIN; + bool NX_SF_CLOTH_DISABLE_COLLISION; + bool NX_SF_CLOTH_TWOWAY; + bool NX_SF_SOFTBODY_DRAIN; + bool NX_SF_SOFTBODY_DISABLE_COLLISION; + bool NX_SF_SOFTBODY_TWOWAY; +}; +struct ShapeDescTemplate_Type +{ + ShapeDescFlags_Type flags; + uint16_t collisionGroup; + GroupsMask_Type groupsMask; + uint16_t materialIndex; + float density; + float skinWidth; + uint64_t userData; + uint64_t name; +}; +struct InstanceInfo_Type +{ + uint16_t partIndex; + physx::PxVec3 chunkPositionOffset; + physx::PxVec2 chunkUVOffset; +}; +struct Plane_Type +{ + physx::PxVec3 normal; + float d; +}; +struct DestructibleParameters_Type +{ + float damageThreshold; + float damageToRadius; + float damageCap; + float forceToDamage; + float impactVelocityThreshold; + float materialStrength; + uint32_t minimumFractureDepth; + int32_t impactDamageDefaultDepth; + int32_t debrisDepth; + uint32_t essentialDepth; + float debrisLifetimeMin; + float debrisLifetimeMax; + float debrisMaxSeparationMin; + float debrisMaxSeparationMax; + physx::PxBounds3 validBounds; + float maxChunkSpeed; + DestructibleParametersFlag_Type flags; + float fractureImpulseScale; + uint16_t dynamicChunkDominanceGroup; + GroupsMask_Type dynamicChunksGroupsMask; +}; +struct ContactPairFlag_Type +{ + bool NX_IGNORE_PAIR; + bool NX_NOTIFY_ON_START_TOUCH; + bool NX_NOTIFY_ON_END_TOUCH; + bool NX_NOTIFY_ON_TOUCH; + bool NX_NOTIFY_ON_IMPACT; + bool NX_NOTIFY_ON_ROLL; + bool NX_NOTIFY_ON_SLIDE; + bool NX_NOTIFY_FORCES; + bool NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD; + bool NX_NOTIFY_CONTACT_MODIFICATION; +}; +struct LODWeights_Type +{ + float maxDistance; + float distanceWeight; + float maxAge; + float ageWeight; + float bias; +}; +struct BodyDescFlags_Type +{ + bool NX_BF_DISABLE_GRAVITY; + bool NX_BF_FILTER_SLEEP_VEL; + bool NX_BF_ENERGY_SLEEP_TEST; + bool NX_BF_VISUALIZATION; +}; +struct BodyDescTemplate_Type +{ + BodyDescFlags_Type flags; + float wakeUpCounter; + float linearDamping; + float angularDamping; + float maxAngularVelocity; + float CCDMotionThreshold; + float sleepLinearVelocity; + float sleepAngularVelocity; + uint32_t solverIterationCount; + float sleepEnergyThreshold; + float sleepDamping; + float contactReportThreshold; +}; +struct Chunk_Type +{ + uint16_t depth; + uint16_t parentIndex; + uint16_t firstChildIndex; + uint16_t numChildren; + uint16_t meshPartIndex; + uint16_t flags; + physx::PxVec3 surfaceNormal; +}; +struct ActorDescFlags_Type +{ + bool NX_AF_DISABLE_COLLISION; + bool NX_AF_DISABLE_RESPONSE; + bool NX_AF_LOCK_COM; + bool NX_AF_FLUID_DISABLE_COLLISION; + bool NX_AF_CONTACT_MODIFICATION; + bool NX_AF_FORCE_CONE_FRICTION; + bool NX_AF_USER_ACTOR_PAIR_FILTERING; +}; +struct ActorDescTemplate_Type +{ + ActorDescFlags_Type flags; + float density; + uint16_t actorCollisionGroup; + uint16_t dominanceGroup; + ContactPairFlag_Type contactReportFlags; + uint16_t forceFieldMaterial; + uint64_t userData; + uint64_t name; + uint64_t compartment; +}; + +struct ParametersStruct +{ + + uint32_t depthCount; + uint32_t originalDepthCount; + physx::PxBounds3 bounds; + Chunk_DynamicArray1D_Type chunks; + REF_DynamicArray1D_Type chunkConvexHulls; + U32_DynamicArray1D_Type chunkConvexHullStartIndices; + DestructibleParameters_Type destructibleParameters; + DestructibleDepthParameters_DynamicArray1D_Type depthParameters; + NvParameterized::DummyStringStruct crumbleEmitterName; + NvParameterized::DummyStringStruct dustEmitterName; + NvParameterized::Interface* collisionData; + REF_DynamicArray1D_Type surfaceTraceSets; + NvParameterized::Interface* renderMeshAsset; + uint32_t initialDestructibleActorAllowanceForInstancing; + InstanceInfo_DynamicArray1D_Type chunkInstanceInfo; + int32_t interiorSubmeshIndex; + STRING_DynamicArray1D_Type staticMaterialNames; + float neighborPadding; + REF_DynamicArray1D_Type overlapsAtDepth; + U32_DynamicArray1D_Type firstChunkAtDepth; + uint32_t supportDepth; + bool formExtendedStructures; + bool useAssetDefinedSupport; + bool useWorldSupport; + MAT44_DynamicArray1D_Type actorTransforms; + +}; + +static const uint32_t checksum[] = { 0x761730fb, 0xa9400e4a, 0x6e20d755, 0x6bd19c0a, }; + +} // namespace DestructibleAssetParameters_0p9NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleAssetParameters_0p9 : public NvParameterized::NvParameters, public DestructibleAssetParameters_0p9NS::ParametersStruct +{ +public: + DestructibleAssetParameters_0p9(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleAssetParameters_0p9(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleAssetParameters"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)9; + + 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(DestructibleAssetParameters_0p9NS::checksum); + return DestructibleAssetParameters_0p9NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleAssetParameters_0p9NS::ParametersStruct& parameters(void) const + { + DestructibleAssetParameters_0p9* tmpThis = const_cast<DestructibleAssetParameters_0p9*>(this); + return *(static_cast<DestructibleAssetParameters_0p9NS::ParametersStruct*>(tmpThis)); + } + + DestructibleAssetParameters_0p9NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleAssetParameters_0p9NS::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 DestructibleAssetParameters_0p9Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleAssetParameters_0p9::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleAssetParameters_0p9), DestructibleAssetParameters_0p9::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleAssetParameters_0p9::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p9"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleAssetParameters_0p9)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleAssetParameters_0p9)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleAssetParameters_0p9::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleAssetParameters_0p9::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleAssetParameters_0p9"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleAssetParameters_0p9 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 (DestructibleAssetParameters_0p9*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleAssetParameters_0p9::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleAssetParameters_0p9::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleAssetParameters_0p9::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleAssetParameters_0p9::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleDebugRenderParams_0p0.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleDebugRenderParams_0p0.h new file mode 100644 index 00000000..e56ccae0 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleDebugRenderParams_0p0.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_DestructibleDebugRenderParams_0p0_h +#define HEADER_DestructibleDebugRenderParams_0p0_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleDebugRenderParams_0p0NS +{ + + + +struct ParametersStruct +{ + + bool VISUALIZE_DESTRUCTIBLE_ACTOR; + float VISUALIZE_DESTRUCTIBLE_BOUNDS; + float VISUALIZE_DESTRUCTIBLE_SUPPORT; + bool VISUALIZE_DESTRUCTIBLE_ACTOR_POSE; + float THRESHOLD_DISTANCE_DESTRUCTIBLE_ACTOR_POSE; + bool VISUALIZE_DESTRUCTIBLE_ACTOR_NAME; + float THRESHOLD_DISTANCE_DESTRUCTIBLE_ACTOR_NAME; + bool VISUALIZE_DESTRUCTIBLE_FRAGMENT_POSE; + float THRESHOLD_DISTANCE_DESTRUCTIBLE_FRAGMENT_POSE; + +}; + +static const uint32_t checksum[] = { 0xf9b70cc9, 0xc8a5ed52, 0x51f40e6a, 0x14b18d85, }; + +} // namespace DestructibleDebugRenderParams_0p0NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleDebugRenderParams_0p0 : public NvParameterized::NvParameters, public DestructibleDebugRenderParams_0p0NS::ParametersStruct +{ +public: + DestructibleDebugRenderParams_0p0(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleDebugRenderParams_0p0(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleDebugRenderParams"); + } + + 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(DestructibleDebugRenderParams_0p0NS::checksum); + return DestructibleDebugRenderParams_0p0NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleDebugRenderParams_0p0NS::ParametersStruct& parameters(void) const + { + DestructibleDebugRenderParams_0p0* tmpThis = const_cast<DestructibleDebugRenderParams_0p0*>(this); + return *(static_cast<DestructibleDebugRenderParams_0p0NS::ParametersStruct*>(tmpThis)); + } + + DestructibleDebugRenderParams_0p0NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleDebugRenderParams_0p0NS::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 DestructibleDebugRenderParams_0p0Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleDebugRenderParams_0p0::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleDebugRenderParams_0p0), DestructibleDebugRenderParams_0p0::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleDebugRenderParams_0p0::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleDebugRenderParams_0p0"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleDebugRenderParams_0p0)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleDebugRenderParams_0p0)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleDebugRenderParams_0p0::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleDebugRenderParams_0p0::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleDebugRenderParams_0p0"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleDebugRenderParams_0p0 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 (DestructibleDebugRenderParams_0p0*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleDebugRenderParams_0p0::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleDebugRenderParams_0p0::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleDebugRenderParams_0p0::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleDebugRenderParams_0p0::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleModuleParameters_0p0.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleModuleParameters_0p0.h new file mode 100644 index 00000000..f59b0b39 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleModuleParameters_0p0.h @@ -0,0 +1,249 @@ +// 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_DestructibleModuleParameters_0p0_h +#define HEADER_DestructibleModuleParameters_0p0_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleModuleParameters_0p0NS +{ + +struct GRBSettings_Type; + +struct GRBSettings_Type +{ + int32_t gpuDeviceOrdinal; + float meshCellSize; + float skinWidth; + uint32_t nonPenSolverPosIterCount; + uint32_t frictionSolverPosIterCount; + uint32_t frictionSolverVelIterCount; + float maxLinAcceleration; + uint32_t gpuMemSceneSize; + uint32_t gpuMemTempDataSize; +}; + +struct ParametersStruct +{ + + GRBSettings_Type gpuRigidBodySettings; + uint32_t maxDynamicChunkIslandCount; + bool sortFIFOByBenefit; + float validBoundsPadding; + float maxChunkSeparationLOD; + uint32_t maxActorCreatesPerFrame; + uint32_t maxChunkDepthOffset; + +}; + +static const uint32_t checksum[] = { 0x8231bc89, 0x51f7449f, 0xc0e375f2, 0x4eeb99f7, }; + +} // namespace DestructibleModuleParameters_0p0NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleModuleParameters_0p0 : public NvParameterized::NvParameters, public DestructibleModuleParameters_0p0NS::ParametersStruct +{ +public: + DestructibleModuleParameters_0p0(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleModuleParameters_0p0(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleModuleParameters"); + } + + 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(DestructibleModuleParameters_0p0NS::checksum); + return DestructibleModuleParameters_0p0NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleModuleParameters_0p0NS::ParametersStruct& parameters(void) const + { + DestructibleModuleParameters_0p0* tmpThis = const_cast<DestructibleModuleParameters_0p0*>(this); + return *(static_cast<DestructibleModuleParameters_0p0NS::ParametersStruct*>(tmpThis)); + } + + DestructibleModuleParameters_0p0NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleModuleParameters_0p0NS::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 DestructibleModuleParameters_0p0Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleModuleParameters_0p0::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleModuleParameters_0p0), DestructibleModuleParameters_0p0::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleModuleParameters_0p0::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleModuleParameters_0p0"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleModuleParameters_0p0)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleModuleParameters_0p0)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleModuleParameters_0p0::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleModuleParameters_0p0::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleModuleParameters_0p0"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleModuleParameters_0p0 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 (DestructibleModuleParameters_0p0*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleModuleParameters_0p0::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleModuleParameters_0p0::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleModuleParameters_0p0::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleModuleParameters_0p0::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleModuleParameters_0p1.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleModuleParameters_0p1.h new file mode 100644 index 00000000..0382e28e --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleModuleParameters_0p1.h @@ -0,0 +1,251 @@ +// 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_DestructibleModuleParameters_0p1_h +#define HEADER_DestructibleModuleParameters_0p1_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleModuleParameters_0p1NS +{ + +struct GRBSettings_Type; + +struct GRBSettings_Type +{ + int32_t gpuDeviceOrdinal; + float meshCellSize; + float skinWidth; + uint32_t nonPenSolverPosIterCount; + uint32_t frictionSolverPosIterCount; + uint32_t frictionSolverVelIterCount; + float maxLinAcceleration; + uint32_t gpuMemSceneSize; + uint32_t gpuMemTempDataSize; +}; + +struct ParametersStruct +{ + + GRBSettings_Type gpuRigidBodySettings; + uint32_t maxDynamicChunkIslandCount; + bool sortFIFOByBenefit; + float validBoundsPadding; + float maxChunkSeparationLOD; + uint32_t maxActorCreatesPerFrame; + uint32_t maxChunkDepthOffset; + float massScale; + float scaledMassExponent; + +}; + +static const uint32_t checksum[] = { 0xf639b6be, 0x82c664d9, 0x01d230ac, 0xb680b438, }; + +} // namespace DestructibleModuleParameters_0p1NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleModuleParameters_0p1 : public NvParameterized::NvParameters, public DestructibleModuleParameters_0p1NS::ParametersStruct +{ +public: + DestructibleModuleParameters_0p1(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleModuleParameters_0p1(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleModuleParameters"); + } + + 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(DestructibleModuleParameters_0p1NS::checksum); + return DestructibleModuleParameters_0p1NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleModuleParameters_0p1NS::ParametersStruct& parameters(void) const + { + DestructibleModuleParameters_0p1* tmpThis = const_cast<DestructibleModuleParameters_0p1*>(this); + return *(static_cast<DestructibleModuleParameters_0p1NS::ParametersStruct*>(tmpThis)); + } + + DestructibleModuleParameters_0p1NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleModuleParameters_0p1NS::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 DestructibleModuleParameters_0p1Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleModuleParameters_0p1::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleModuleParameters_0p1), DestructibleModuleParameters_0p1::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleModuleParameters_0p1::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleModuleParameters_0p1"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleModuleParameters_0p1)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleModuleParameters_0p1)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleModuleParameters_0p1::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleModuleParameters_0p1::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleModuleParameters_0p1"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleModuleParameters_0p1 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 (DestructibleModuleParameters_0p1*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleModuleParameters_0p1::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleModuleParameters_0p1::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleModuleParameters_0p1::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleModuleParameters_0p1::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleModuleParameters_0p2.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleModuleParameters_0p2.h new file mode 100644 index 00000000..fecf0794 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleModuleParameters_0p2.h @@ -0,0 +1,255 @@ +// 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_DestructibleModuleParameters_0p2_h +#define HEADER_DestructibleModuleParameters_0p2_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleModuleParameters_0p2NS +{ + +struct GRBSettings_Type; + +struct GRBSettings_Type +{ + int32_t gpuDeviceOrdinal; + float meshCellSize; + float skinWidth; + uint32_t nonPenSolverPosIterCount; + uint32_t frictionSolverPosIterCount; + uint32_t frictionSolverVelIterCount; + float maxLinAcceleration; + uint32_t gpuMemSceneSize; + uint32_t gpuMemTempDataSize; + uint32_t sphereSlices; + uint32_t sphereStacks; + uint32_t capsuleSlices; + uint32_t capsuleStacks; +}; + +struct ParametersStruct +{ + + GRBSettings_Type gpuRigidBodySettings; + uint32_t maxDynamicChunkIslandCount; + bool sortFIFOByBenefit; + float validBoundsPadding; + float maxChunkSeparationLOD; + uint32_t maxActorCreatesPerFrame; + uint32_t maxChunkDepthOffset; + float massScale; + float scaledMassExponent; + +}; + +static const uint32_t checksum[] = { 0xe408d154, 0xd6bb44b6, 0x55e5c6ca, 0x3d5d3020, }; + +} // namespace DestructibleModuleParameters_0p2NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleModuleParameters_0p2 : public NvParameterized::NvParameters, public DestructibleModuleParameters_0p2NS::ParametersStruct +{ +public: + DestructibleModuleParameters_0p2(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleModuleParameters_0p2(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleModuleParameters"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)2; + + 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(DestructibleModuleParameters_0p2NS::checksum); + return DestructibleModuleParameters_0p2NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleModuleParameters_0p2NS::ParametersStruct& parameters(void) const + { + DestructibleModuleParameters_0p2* tmpThis = const_cast<DestructibleModuleParameters_0p2*>(this); + return *(static_cast<DestructibleModuleParameters_0p2NS::ParametersStruct*>(tmpThis)); + } + + DestructibleModuleParameters_0p2NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleModuleParameters_0p2NS::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 DestructibleModuleParameters_0p2Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleModuleParameters_0p2::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleModuleParameters_0p2), DestructibleModuleParameters_0p2::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleModuleParameters_0p2::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleModuleParameters_0p2"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleModuleParameters_0p2)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleModuleParameters_0p2)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleModuleParameters_0p2::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleModuleParameters_0p2::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleModuleParameters_0p2"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleModuleParameters_0p2 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 (DestructibleModuleParameters_0p2*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleModuleParameters_0p2::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleModuleParameters_0p2::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleModuleParameters_0p2::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleModuleParameters_0p2::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleModuleParameters_0p3.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleModuleParameters_0p3.h new file mode 100644 index 00000000..9e85ce27 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructibleModuleParameters_0p3.h @@ -0,0 +1,237 @@ +// 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_DestructibleModuleParameters_0p3_h +#define HEADER_DestructibleModuleParameters_0p3_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructibleModuleParameters_0p3NS +{ + + + +struct ParametersStruct +{ + + uint32_t maxDynamicChunkIslandCount; + bool sortFIFOByBenefit; + float validBoundsPadding; + float maxChunkSeparationLOD; + uint32_t maxActorCreatesPerFrame; + uint32_t maxChunkDepthOffset; + float massScale; + float scaledMassExponent; + +}; + +static const uint32_t checksum[] = { 0xea4f5a53, 0x75a1901c, 0xd7138e07, 0xef8c1364, }; + +} // namespace DestructibleModuleParameters_0p3NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructibleModuleParameters_0p3 : public NvParameterized::NvParameters, public DestructibleModuleParameters_0p3NS::ParametersStruct +{ +public: + DestructibleModuleParameters_0p3(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructibleModuleParameters_0p3(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructibleModuleParameters"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)3; + + 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(DestructibleModuleParameters_0p3NS::checksum); + return DestructibleModuleParameters_0p3NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructibleModuleParameters_0p3NS::ParametersStruct& parameters(void) const + { + DestructibleModuleParameters_0p3* tmpThis = const_cast<DestructibleModuleParameters_0p3*>(this); + return *(static_cast<DestructibleModuleParameters_0p3NS::ParametersStruct*>(tmpThis)); + } + + DestructibleModuleParameters_0p3NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructibleModuleParameters_0p3NS::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 DestructibleModuleParameters_0p3Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructibleModuleParameters_0p3::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructibleModuleParameters_0p3), DestructibleModuleParameters_0p3::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructibleModuleParameters_0p3::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleModuleParameters_0p3"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructibleModuleParameters_0p3)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructibleModuleParameters_0p3)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructibleModuleParameters_0p3::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructibleModuleParameters_0p3::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructibleModuleParameters_0p3"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructibleModuleParameters_0p3 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 (DestructibleModuleParameters_0p3*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructibleModuleParameters_0p3::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructibleModuleParameters_0p3::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructibleModuleParameters_0p3::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructibleModuleParameters_0p3::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/DestructiblePreviewParam_0p0.h b/APEX_1.4/module/destructible_legacy/include/autogen/DestructiblePreviewParam_0p0.h new file mode 100644 index 00000000..36464cea --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/DestructiblePreviewParam_0p0.h @@ -0,0 +1,244 @@ +// 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_DestructiblePreviewParam_0p0_h +#define HEADER_DestructiblePreviewParam_0p0_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace DestructiblePreviewParam_0p0NS +{ + + +struct STRING_DynamicArray1D_Type +{ + NvParameterized::DummyStringStruct* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + + +struct ParametersStruct +{ + + physx::PxMat44 globalPose; + uint32_t chunkDepth; + float explodeAmount; + bool renderUnexplodedChunksStatically; + STRING_DynamicArray1D_Type overrideSkinnedMaterialNames; + STRING_DynamicArray1D_Type overrideStaticMaterialNames; + uint64_t userData; + +}; + +static const uint32_t checksum[] = { 0x3637da2c, 0x7fa3add1, 0xf223f0ff, 0x3a06c4b3, }; + +} // namespace DestructiblePreviewParam_0p0NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class DestructiblePreviewParam_0p0 : public NvParameterized::NvParameters, public DestructiblePreviewParam_0p0NS::ParametersStruct +{ +public: + DestructiblePreviewParam_0p0(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~DestructiblePreviewParam_0p0(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("DestructiblePreviewParam"); + } + + 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(DestructiblePreviewParam_0p0NS::checksum); + return DestructiblePreviewParam_0p0NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const DestructiblePreviewParam_0p0NS::ParametersStruct& parameters(void) const + { + DestructiblePreviewParam_0p0* tmpThis = const_cast<DestructiblePreviewParam_0p0*>(this); + return *(static_cast<DestructiblePreviewParam_0p0NS::ParametersStruct*>(tmpThis)); + } + + DestructiblePreviewParam_0p0NS::ParametersStruct& parameters(void) + { + return *(static_cast<DestructiblePreviewParam_0p0NS::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 DestructiblePreviewParam_0p0Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + DestructiblePreviewParam_0p0::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(DestructiblePreviewParam_0p0), DestructiblePreviewParam_0p0::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, DestructiblePreviewParam_0p0::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructiblePreviewParam_0p0"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(DestructiblePreviewParam_0p0)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, DestructiblePreviewParam_0p0)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, DestructiblePreviewParam_0p0::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, DestructiblePreviewParam_0p0::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class DestructiblePreviewParam_0p0"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of DestructiblePreviewParam_0p0 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 (DestructiblePreviewParam_0p0*)bufObj; + } + + virtual const char* getClassName() + { + return (DestructiblePreviewParam_0p0::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (DestructiblePreviewParam_0p0::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (DestructiblePreviewParam_0p0::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (DestructiblePreviewParam_0p0::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/MeshCookedCollisionStream_0p0.h b/APEX_1.4/module/destructible_legacy/include/autogen/MeshCookedCollisionStream_0p0.h new file mode 100644 index 00000000..5db60b53 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/MeshCookedCollisionStream_0p0.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_MeshCookedCollisionStream_0p0_h +#define HEADER_MeshCookedCollisionStream_0p0_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace MeshCookedCollisionStream_0p0NS +{ + + +struct U8_DynamicArray1D_Type +{ + uint8_t* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + + +struct ParametersStruct +{ + + U8_DynamicArray1D_Type bytes; + +}; + +static const uint32_t checksum[] = { 0x10ac85d4, 0x690961af, 0x1dfeb2cb, 0x4494e6fa, }; + +} // namespace MeshCookedCollisionStream_0p0NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class MeshCookedCollisionStream_0p0 : public NvParameterized::NvParameters, public MeshCookedCollisionStream_0p0NS::ParametersStruct +{ +public: + MeshCookedCollisionStream_0p0(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~MeshCookedCollisionStream_0p0(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("MeshCookedCollisionStream"); + } + + 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(MeshCookedCollisionStream_0p0NS::checksum); + return MeshCookedCollisionStream_0p0NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const MeshCookedCollisionStream_0p0NS::ParametersStruct& parameters(void) const + { + MeshCookedCollisionStream_0p0* tmpThis = const_cast<MeshCookedCollisionStream_0p0*>(this); + return *(static_cast<MeshCookedCollisionStream_0p0NS::ParametersStruct*>(tmpThis)); + } + + MeshCookedCollisionStream_0p0NS::ParametersStruct& parameters(void) + { + return *(static_cast<MeshCookedCollisionStream_0p0NS::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 MeshCookedCollisionStream_0p0Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + MeshCookedCollisionStream_0p0::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(MeshCookedCollisionStream_0p0), MeshCookedCollisionStream_0p0::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, MeshCookedCollisionStream_0p0::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class MeshCookedCollisionStream_0p0"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(MeshCookedCollisionStream_0p0)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, MeshCookedCollisionStream_0p0)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, MeshCookedCollisionStream_0p0::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, MeshCookedCollisionStream_0p0::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class MeshCookedCollisionStream_0p0"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of MeshCookedCollisionStream_0p0 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 (MeshCookedCollisionStream_0p0*)bufObj; + } + + virtual const char* getClassName() + { + return (MeshCookedCollisionStream_0p0::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (MeshCookedCollisionStream_0p0::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (MeshCookedCollisionStream_0p0::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (MeshCookedCollisionStream_0p0::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/MeshCookedCollisionStreamsAtScale_0p0.h b/APEX_1.4/module/destructible_legacy/include/autogen/MeshCookedCollisionStreamsAtScale_0p0.h new file mode 100644 index 00000000..739bacd7 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/MeshCookedCollisionStreamsAtScale_0p0.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_MeshCookedCollisionStreamsAtScale_0p0_h +#define HEADER_MeshCookedCollisionStreamsAtScale_0p0_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace MeshCookedCollisionStreamsAtScale_0p0NS +{ + + +struct REF_DynamicArray1D_Type +{ + NvParameterized::Interface** buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + + +struct ParametersStruct +{ + + REF_DynamicArray1D_Type meshCookedCollisionStreams; + +}; + +static const uint32_t checksum[] = { 0xf356e0c1, 0xf4812209, 0x4cf28347, 0xc18b1923, }; + +} // namespace MeshCookedCollisionStreamsAtScale_0p0NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class MeshCookedCollisionStreamsAtScale_0p0 : public NvParameterized::NvParameters, public MeshCookedCollisionStreamsAtScale_0p0NS::ParametersStruct +{ +public: + MeshCookedCollisionStreamsAtScale_0p0(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~MeshCookedCollisionStreamsAtScale_0p0(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("MeshCookedCollisionStreamsAtScale"); + } + + 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(MeshCookedCollisionStreamsAtScale_0p0NS::checksum); + return MeshCookedCollisionStreamsAtScale_0p0NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const MeshCookedCollisionStreamsAtScale_0p0NS::ParametersStruct& parameters(void) const + { + MeshCookedCollisionStreamsAtScale_0p0* tmpThis = const_cast<MeshCookedCollisionStreamsAtScale_0p0*>(this); + return *(static_cast<MeshCookedCollisionStreamsAtScale_0p0NS::ParametersStruct*>(tmpThis)); + } + + MeshCookedCollisionStreamsAtScale_0p0NS::ParametersStruct& parameters(void) + { + return *(static_cast<MeshCookedCollisionStreamsAtScale_0p0NS::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 MeshCookedCollisionStreamsAtScale_0p0Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + MeshCookedCollisionStreamsAtScale_0p0::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(MeshCookedCollisionStreamsAtScale_0p0), MeshCookedCollisionStreamsAtScale_0p0::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, MeshCookedCollisionStreamsAtScale_0p0::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class MeshCookedCollisionStreamsAtScale_0p0"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(MeshCookedCollisionStreamsAtScale_0p0)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, MeshCookedCollisionStreamsAtScale_0p0)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, MeshCookedCollisionStreamsAtScale_0p0::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, MeshCookedCollisionStreamsAtScale_0p0::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class MeshCookedCollisionStreamsAtScale_0p0"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of MeshCookedCollisionStreamsAtScale_0p0 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 (MeshCookedCollisionStreamsAtScale_0p0*)bufObj; + } + + virtual const char* getClassName() + { + return (MeshCookedCollisionStreamsAtScale_0p0::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (MeshCookedCollisionStreamsAtScale_0p0::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (MeshCookedCollisionStreamsAtScale_0p0::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (MeshCookedCollisionStreamsAtScale_0p0::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/ModuleDestructibleLegacyRegistration.h b/APEX_1.4/module/destructible_legacy/include/autogen/ModuleDestructibleLegacyRegistration.h new file mode 100644 index 00000000..092337e4 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/ModuleDestructibleLegacyRegistration.h @@ -0,0 +1,1614 @@ +/* + * 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_MODULEDESTRUCTIBLELEGACYREGISTRATIONH_H +#define MODULE_MODULEDESTRUCTIBLELEGACYREGISTRATIONH_H + +#include "PsAllocator.h" +#include "NvRegistrationsForTraitsBase.h" +#include "nvparameterized/NvParameterizedTraits.h" +#include "PxAssert.h" +#include <stdint.h> + +// INCLUDE GENERATED FACTORIES +#include "CachedOverlaps_0p0.h" +#include "DestructibleActorParam_0p0.h" +#include "DestructibleActorParam_0p1.h" +#include "DestructibleActorParam_0p10.h" +#include "DestructibleActorParam_0p11.h" +#include "DestructibleActorParam_0p12.h" +#include "DestructibleActorParam_0p13.h" +#include "DestructibleActorParam_0p14.h" +#include "DestructibleActorParam_0p15.h" +#include "DestructibleActorParam_0p16.h" +#include "DestructibleActorParam_0p17.h" +#include "DestructibleActorParam_0p18.h" +#include "DestructibleActorParam_0p19.h" +#include "DestructibleActorParam_0p2.h" +#include "DestructibleActorParam_0p20.h" +#include "DestructibleActorParam_0p21.h" +#include "DestructibleActorParam_0p22.h" +#include "DestructibleActorParam_0p23.h" +#include "DestructibleActorParam_0p24.h" +#include "DestructibleActorParam_0p25.h" +#include "DestructibleActorParam_0p26.h" +#include "DestructibleActorParam_0p27.h" +#include "DestructibleActorParam_0p28.h" +#include "DestructibleActorParam_0p29.h" +#include "DestructibleActorParam_0p3.h" +#include "DestructibleActorParam_0p30.h" +#include "DestructibleActorParam_0p31.h" +#include "DestructibleActorParam_0p4.h" +#include "DestructibleActorParam_0p5.h" +#include "DestructibleActorParam_0p6.h" +#include "DestructibleActorParam_0p7.h" +#include "DestructibleActorParam_0p8.h" +#include "DestructibleActorParam_0p9.h" +#include "DestructibleActorState_0p0.h" +#include "DestructibleActorState_0p1.h" +#include "DestructibleActorState_0p2.h" +#include "DestructibleActorState_0p3.h" +#include "DestructibleAssetParameters_0p0.h" +#include "DestructibleAssetParameters_0p1.h" +#include "DestructibleAssetParameters_0p10.h" +#include "DestructibleAssetParameters_0p11.h" +#include "DestructibleAssetParameters_0p12.h" +#include "DestructibleAssetParameters_0p13.h" +#include "DestructibleAssetParameters_0p14.h" +#include "DestructibleAssetParameters_0p15.h" +#include "DestructibleAssetParameters_0p16.h" +#include "DestructibleAssetParameters_0p17.h" +#include "DestructibleAssetParameters_0p18.h" +#include "DestructibleAssetParameters_0p19.h" +#include "DestructibleAssetParameters_0p2.h" +#include "DestructibleAssetParameters_0p20.h" +#include "DestructibleAssetParameters_0p21.h" +#include "DestructibleAssetParameters_0p22.h" +#include "DestructibleAssetParameters_0p23.h" +#include "DestructibleAssetParameters_0p24.h" +#include "DestructibleAssetParameters_0p25.h" +#include "DestructibleAssetParameters_0p3.h" +#include "DestructibleAssetParameters_0p4.h" +#include "DestructibleAssetParameters_0p5.h" +#include "DestructibleAssetParameters_0p6.h" +#include "DestructibleAssetParameters_0p7.h" +#include "DestructibleAssetParameters_0p8.h" +#include "DestructibleAssetParameters_0p9.h" +#include "DestructibleModuleParameters_0p0.h" +#include "DestructibleModuleParameters_0p1.h" +#include "DestructibleModuleParameters_0p2.h" +#include "SurfaceTraceSetParameters_0p0.h" +#include "SurfaceTraceSetParameters_0p1.h" +#include "DestructibleActorParam_0p32.h" +#include "DestructibleActorChunks_0p0.h" +#include "DestructibleActorState_0p4.h" +#include "SurfaceTraceParameters_0p0.h" +#include "SurfaceTraceSetParameters_0p2.h" +#include "CachedOverlaps_0p1.h" +#include "MeshCookedCollisionStream_0p0.h" +#include "MeshCookedCollisionStreamsAtScale_0p0.h" +#include "DestructibleAssetCollisionDataSet_0p0.h" +#include "DestructibleAssetParameters_0p26.h" +#include "DestructiblePreviewParam_0p0.h" +#include "DestructibleDebugRenderParams_0p0.h" +#include "DestructibleModuleParameters_0p3.h" + + +// INCLUDE GENERATED CONVERSION +#include "ConversionCachedOverlaps_0p0_0p1.h" +#include "ConversionDestructibleActorParam_0p0_0p1.h" +#include "ConversionDestructibleActorParam_0p10_0p11.h" +#include "ConversionDestructibleActorParam_0p11_0p12.h" +#include "ConversionDestructibleActorParam_0p12_0p13.h" +#include "ConversionDestructibleActorParam_0p13_0p14.h" +#include "ConversionDestructibleActorParam_0p14_0p15.h" +#include "ConversionDestructibleActorParam_0p15_0p16.h" +#include "ConversionDestructibleActorParam_0p16_0p17.h" +#include "ConversionDestructibleActorParam_0p17_0p18.h" +#include "ConversionDestructibleActorParam_0p18_0p19.h" +#include "ConversionDestructibleActorParam_0p19_0p20.h" +#include "ConversionDestructibleActorParam_0p1_0p2.h" +#include "ConversionDestructibleActorParam_0p20_0p21.h" +#include "ConversionDestructibleActorParam_0p21_0p22.h" +#include "ConversionDestructibleActorParam_0p22_0p23.h" +#include "ConversionDestructibleActorParam_0p23_0p24.h" +#include "ConversionDestructibleActorParam_0p24_0p25.h" +#include "ConversionDestructibleActorParam_0p25_0p26.h" +#include "ConversionDestructibleActorParam_0p26_0p27.h" +#include "ConversionDestructibleActorParam_0p27_0p28.h" +#include "ConversionDestructibleActorParam_0p28_0p29.h" +#include "ConversionDestructibleActorParam_0p29_0p30.h" +#include "ConversionDestructibleActorParam_0p2_0p3.h" +#include "ConversionDestructibleActorParam_0p30_0p31.h" +#include "ConversionDestructibleActorParam_0p31_0p32.h" +#include "ConversionDestructibleActorParam_0p3_0p4.h" +#include "ConversionDestructibleActorParam_0p4_0p5.h" +#include "ConversionDestructibleActorParam_0p5_0p6.h" +#include "ConversionDestructibleActorParam_0p6_0p7.h" +#include "ConversionDestructibleActorParam_0p7_0p8.h" +#include "ConversionDestructibleActorParam_0p8_0p9.h" +#include "ConversionDestructibleActorParam_0p9_0p10.h" +#include "ConversionDestructibleActorState_0p0_0p1.h" +#include "ConversionDestructibleActorState_0p1_0p2.h" +#include "ConversionDestructibleActorState_0p2_0p3.h" +#include "ConversionDestructibleActorState_0p3_0p4.h" +#include "ConversionDestructibleAssetParameters_0p0_0p1.h" +#include "ConversionDestructibleAssetParameters_0p10_0p11.h" +#include "ConversionDestructibleAssetParameters_0p11_0p12.h" +#include "ConversionDestructibleAssetParameters_0p12_0p13.h" +#include "ConversionDestructibleAssetParameters_0p13_0p14.h" +#include "ConversionDestructibleAssetParameters_0p14_0p15.h" +#include "ConversionDestructibleAssetParameters_0p15_0p16.h" +#include "ConversionDestructibleAssetParameters_0p16_0p17.h" +#include "ConversionDestructibleAssetParameters_0p17_0p18.h" +#include "ConversionDestructibleAssetParameters_0p18_0p19.h" +#include "ConversionDestructibleAssetParameters_0p19_0p20.h" +#include "ConversionDestructibleAssetParameters_0p1_0p2.h" +#include "ConversionDestructibleAssetParameters_0p20_0p21.h" +#include "ConversionDestructibleAssetParameters_0p21_0p22.h" +#include "ConversionDestructibleAssetParameters_0p22_0p23.h" +#include "ConversionDestructibleAssetParameters_0p23_0p24.h" +#include "ConversionDestructibleAssetParameters_0p24_0p25.h" +#include "ConversionDestructibleAssetParameters_0p25_0p26.h" +#include "ConversionDestructibleAssetParameters_0p2_0p3.h" +#include "ConversionDestructibleAssetParameters_0p3_0p4.h" +#include "ConversionDestructibleAssetParameters_0p4_0p5.h" +#include "ConversionDestructibleAssetParameters_0p5_0p6.h" +#include "ConversionDestructibleAssetParameters_0p6_0p7.h" +#include "ConversionDestructibleAssetParameters_0p7_0p8.h" +#include "ConversionDestructibleAssetParameters_0p8_0p9.h" +#include "ConversionDestructibleAssetParameters_0p9_0p10.h" +#include "ConversionDestructibleModuleParameters_0p0_0p1.h" +#include "ConversionDestructibleModuleParameters_0p1_0p2.h" +#include "ConversionDestructibleModuleParameters_0p2_0p3.h" +#include "ConversionSurfaceTraceSetParameters_0p0_0p1.h" +#include "ConversionSurfaceTraceSetParameters_0p1_0p2.h" + + +// global namespace + +class ModuleDestructibleLegacyRegistration : public NvParameterized::RegistrationsForTraitsBase +{ +public: + static void invokeRegistration(NvParameterized::Traits* parameterizedTraits) + { + if (parameterizedTraits) + { + ModuleDestructibleLegacyRegistration().registerAll(*parameterizedTraits); + } + } + + static void invokeUnregistration(NvParameterized::Traits* parameterizedTraits) + { + if (parameterizedTraits) + { + ModuleDestructibleLegacyRegistration().unregisterAll(*parameterizedTraits); + } + } + + void registerAvailableFactories(NvParameterized::Traits& parameterizedTraits) + { + ::NvParameterized::Factory* factoriesToRegister[] = { +// REGISTER GENERATED FACTORIES + new nvidia::parameterized::CachedOverlaps_0p0Factory(), + new nvidia::parameterized::DestructibleActorParam_0p0Factory(), + new nvidia::parameterized::DestructibleActorParam_0p1Factory(), + new nvidia::parameterized::DestructibleActorParam_0p10Factory(), + new nvidia::parameterized::DestructibleActorParam_0p11Factory(), + new nvidia::parameterized::DestructibleActorParam_0p12Factory(), + new nvidia::parameterized::DestructibleActorParam_0p13Factory(), + new nvidia::parameterized::DestructibleActorParam_0p14Factory(), + new nvidia::parameterized::DestructibleActorParam_0p15Factory(), + new nvidia::parameterized::DestructibleActorParam_0p16Factory(), + new nvidia::parameterized::DestructibleActorParam_0p17Factory(), + new nvidia::parameterized::DestructibleActorParam_0p18Factory(), + new nvidia::parameterized::DestructibleActorParam_0p19Factory(), + new nvidia::parameterized::DestructibleActorParam_0p2Factory(), + new nvidia::parameterized::DestructibleActorParam_0p20Factory(), + new nvidia::parameterized::DestructibleActorParam_0p21Factory(), + new nvidia::parameterized::DestructibleActorParam_0p22Factory(), + new nvidia::parameterized::DestructibleActorParam_0p23Factory(), + new nvidia::parameterized::DestructibleActorParam_0p24Factory(), + new nvidia::parameterized::DestructibleActorParam_0p25Factory(), + new nvidia::parameterized::DestructibleActorParam_0p26Factory(), + new nvidia::parameterized::DestructibleActorParam_0p27Factory(), + new nvidia::parameterized::DestructibleActorParam_0p28Factory(), + new nvidia::parameterized::DestructibleActorParam_0p29Factory(), + new nvidia::parameterized::DestructibleActorParam_0p3Factory(), + new nvidia::parameterized::DestructibleActorParam_0p30Factory(), + new nvidia::parameterized::DestructibleActorParam_0p31Factory(), + new nvidia::parameterized::DestructibleActorParam_0p4Factory(), + new nvidia::parameterized::DestructibleActorParam_0p5Factory(), + new nvidia::parameterized::DestructibleActorParam_0p6Factory(), + new nvidia::parameterized::DestructibleActorParam_0p7Factory(), + new nvidia::parameterized::DestructibleActorParam_0p8Factory(), + new nvidia::parameterized::DestructibleActorParam_0p9Factory(), + new nvidia::parameterized::DestructibleActorState_0p0Factory(), + new nvidia::parameterized::DestructibleActorState_0p1Factory(), + new nvidia::parameterized::DestructibleActorState_0p2Factory(), + new nvidia::parameterized::DestructibleActorState_0p3Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p0Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p1Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p10Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p11Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p12Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p13Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p14Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p15Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p16Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p17Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p18Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p19Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p2Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p20Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p21Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p22Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p23Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p24Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p25Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p3Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p4Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p5Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p6Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p7Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p8Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p9Factory(), + new nvidia::parameterized::DestructibleModuleParameters_0p0Factory(), + new nvidia::parameterized::DestructibleModuleParameters_0p1Factory(), + new nvidia::parameterized::DestructibleModuleParameters_0p2Factory(), + new nvidia::parameterized::SurfaceTraceSetParameters_0p0Factory(), + new nvidia::parameterized::SurfaceTraceSetParameters_0p1Factory(), + + }; + + 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 + { + typedef nvidia::apex::legacy::ConversionCachedOverlaps_0p0_0p1 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p0_0p1 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p10_0p11 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p11_0p12 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p12_0p13 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p13_0p14 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p14_0p15 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p15_0p16 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p16_0p17 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p17_0p18 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p18_0p19 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p19_0p20 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p1_0p2 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p20_0p21 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p21_0p22 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p22_0p23 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p23_0p24 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p24_0p25 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p25_0p26 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p26_0p27 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p27_0p28 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p28_0p29 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p29_0p30 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p2_0p3 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p30_0p31 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p31_0p32 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p3_0p4 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p4_0p5 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p5_0p6 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p6_0p7 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p7_0p8 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p8_0p9 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p9_0p10 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorState_0p0_0p1 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorState_0p1_0p2 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorState_0p2_0p3 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorState_0p3_0p4 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p0_0p1 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p10_0p11 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p11_0p12 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p12_0p13 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p13_0p14 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p14_0p15 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p15_0p16 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p16_0p17 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p17_0p18 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p18_0p19 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p19_0p20 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p1_0p2 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p20_0p21 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p21_0p22 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p22_0p23 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p23_0p24 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p24_0p25 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p25_0p26 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p2_0p3 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p3_0p4 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p4_0p5 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p5_0p6 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p6_0p7 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p7_0p8 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p8_0p9 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p9_0p10 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleModuleParameters_0p0_0p1 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleModuleParameters_0p1_0p2 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionDestructibleModuleParameters_0p2_0p3 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionSurfaceTraceSetParameters_0p0_0p1 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + { + typedef nvidia::apex::legacy::ConversionSurfaceTraceSetParameters_0p1_0p2 ConverterToRegister; + parameterizedTraits.registerConversion(ConverterToRegister::TOldClass::staticClassName(), + ConverterToRegister::TOldClass::ClassVersion, + ConverterToRegister::TNewClass::ClassVersion, + *(ConverterToRegister::Create(¶meterizedTraits))); + } + + } + + void unregisterAvailableFactories(NvParameterized::Traits& parameterizedTraits) + { + struct FactoryDesc + { + const char* name; + uint32_t version; + }; + + ::NvParameterized::Factory* factoriesToUnregister[] = { +// UNREGISTER GENERATED FACTORIES + new nvidia::parameterized::CachedOverlaps_0p0Factory(), + new nvidia::parameterized::DestructibleActorParam_0p0Factory(), + new nvidia::parameterized::DestructibleActorParam_0p1Factory(), + new nvidia::parameterized::DestructibleActorParam_0p10Factory(), + new nvidia::parameterized::DestructibleActorParam_0p11Factory(), + new nvidia::parameterized::DestructibleActorParam_0p12Factory(), + new nvidia::parameterized::DestructibleActorParam_0p13Factory(), + new nvidia::parameterized::DestructibleActorParam_0p14Factory(), + new nvidia::parameterized::DestructibleActorParam_0p15Factory(), + new nvidia::parameterized::DestructibleActorParam_0p16Factory(), + new nvidia::parameterized::DestructibleActorParam_0p17Factory(), + new nvidia::parameterized::DestructibleActorParam_0p18Factory(), + new nvidia::parameterized::DestructibleActorParam_0p19Factory(), + new nvidia::parameterized::DestructibleActorParam_0p2Factory(), + new nvidia::parameterized::DestructibleActorParam_0p20Factory(), + new nvidia::parameterized::DestructibleActorParam_0p21Factory(), + new nvidia::parameterized::DestructibleActorParam_0p22Factory(), + new nvidia::parameterized::DestructibleActorParam_0p23Factory(), + new nvidia::parameterized::DestructibleActorParam_0p24Factory(), + new nvidia::parameterized::DestructibleActorParam_0p25Factory(), + new nvidia::parameterized::DestructibleActorParam_0p26Factory(), + new nvidia::parameterized::DestructibleActorParam_0p27Factory(), + new nvidia::parameterized::DestructibleActorParam_0p28Factory(), + new nvidia::parameterized::DestructibleActorParam_0p29Factory(), + new nvidia::parameterized::DestructibleActorParam_0p3Factory(), + new nvidia::parameterized::DestructibleActorParam_0p30Factory(), + new nvidia::parameterized::DestructibleActorParam_0p31Factory(), + new nvidia::parameterized::DestructibleActorParam_0p4Factory(), + new nvidia::parameterized::DestructibleActorParam_0p5Factory(), + new nvidia::parameterized::DestructibleActorParam_0p6Factory(), + new nvidia::parameterized::DestructibleActorParam_0p7Factory(), + new nvidia::parameterized::DestructibleActorParam_0p8Factory(), + new nvidia::parameterized::DestructibleActorParam_0p9Factory(), + new nvidia::parameterized::DestructibleActorState_0p0Factory(), + new nvidia::parameterized::DestructibleActorState_0p1Factory(), + new nvidia::parameterized::DestructibleActorState_0p2Factory(), + new nvidia::parameterized::DestructibleActorState_0p3Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p0Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p1Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p10Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p11Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p12Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p13Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p14Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p15Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p16Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p17Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p18Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p19Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p2Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p20Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p21Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p22Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p23Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p24Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p25Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p3Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p4Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p5Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p6Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p7Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p8Factory(), + new nvidia::parameterized::DestructibleAssetParameters_0p9Factory(), + new nvidia::parameterized::DestructibleModuleParameters_0p0Factory(), + new nvidia::parameterized::DestructibleModuleParameters_0p1Factory(), + new nvidia::parameterized::DestructibleModuleParameters_0p2Factory(), + new nvidia::parameterized::SurfaceTraceSetParameters_0p0Factory(), + new nvidia::parameterized::SurfaceTraceSetParameters_0p1Factory(), + + }; + + 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(¶meterizedTraits); + delete removedFactory; + delete factoriesToUnregister[i]; + } + } + } + + virtual void unregisterAvailableConverters(NvParameterized::Traits& parameterizedTraits) + { +// UNREGISTER GENERATED CONVERSION + { + typedef nvidia::apex::legacy::ConversionCachedOverlaps_0p0_0p1 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p0_0p1 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p10_0p11 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p11_0p12 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p12_0p13 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p13_0p14 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p14_0p15 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p15_0p16 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p16_0p17 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p17_0p18 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p18_0p19 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p19_0p20 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p1_0p2 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p20_0p21 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p21_0p22 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p22_0p23 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p23_0p24 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p24_0p25 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p25_0p26 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p26_0p27 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p27_0p28 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p28_0p29 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p29_0p30 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p2_0p3 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p30_0p31 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p31_0p32 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p3_0p4 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p4_0p5 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p5_0p6 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p6_0p7 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p7_0p8 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p8_0p9 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorParam_0p9_0p10 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorState_0p0_0p1 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorState_0p1_0p2 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorState_0p2_0p3 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleActorState_0p3_0p4 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p0_0p1 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p10_0p11 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p11_0p12 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p12_0p13 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p13_0p14 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p14_0p15 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p15_0p16 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p16_0p17 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p17_0p18 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p18_0p19 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p19_0p20 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p1_0p2 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p20_0p21 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p21_0p22 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p22_0p23 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p23_0p24 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p24_0p25 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p25_0p26 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p2_0p3 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p3_0p4 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p4_0p5 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p5_0p6 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p6_0p7 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p7_0p8 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p8_0p9 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleAssetParameters_0p9_0p10 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleModuleParameters_0p0_0p1 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleModuleParameters_0p1_0p2 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionDestructibleModuleParameters_0p2_0p3 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionSurfaceTraceSetParameters_0p0_0p1 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + { + typedef nvidia::apex::legacy::ConversionSurfaceTraceSetParameters_0p1_0p2 ConverterToUnregister; + ::NvParameterized::Conversion* removedConv = parameterizedTraits.removeConversion(ConverterToUnregister::TOldClass::staticClassName(), + ConverterToUnregister::TOldClass::ClassVersion, + ConverterToUnregister::TNewClass::ClassVersion); + if (removedConv) { + removedConv->~Conversion(); parameterizedTraits.free(removedConv); // PLACEMENT DELETE + } else { + // assert("Conversion was not found"); + } + } + + } + +}; + +// global namespace + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/SurfaceTraceParameters_0p0.h b/APEX_1.4/module/destructible_legacy/include/autogen/SurfaceTraceParameters_0p0.h new file mode 100644 index 00000000..2b688526 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/SurfaceTraceParameters_0p0.h @@ -0,0 +1,248 @@ +// 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_SurfaceTraceParameters_0p0_h +#define HEADER_SurfaceTraceParameters_0p0_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace SurfaceTraceParameters_0p0NS +{ + + +struct U8_DynamicArray1D_Type +{ + uint8_t* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + +struct U32_DynamicArray1D_Type +{ + uint32_t* buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + + +struct ParametersStruct +{ + + U8_DynamicArray1D_Type submeshIndices; + U32_DynamicArray1D_Type vertexIndices; + physx::PxVec3 defaultNormal; + +}; + +static const uint32_t checksum[] = { 0x97a690a9, 0x7c950c3a, 0x7e771c34, 0x41bed788, }; + +} // namespace SurfaceTraceParameters_0p0NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class SurfaceTraceParameters_0p0 : public NvParameterized::NvParameters, public SurfaceTraceParameters_0p0NS::ParametersStruct +{ +public: + SurfaceTraceParameters_0p0(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~SurfaceTraceParameters_0p0(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("SurfaceTraceParameters"); + } + + 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(SurfaceTraceParameters_0p0NS::checksum); + return SurfaceTraceParameters_0p0NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const SurfaceTraceParameters_0p0NS::ParametersStruct& parameters(void) const + { + SurfaceTraceParameters_0p0* tmpThis = const_cast<SurfaceTraceParameters_0p0*>(this); + return *(static_cast<SurfaceTraceParameters_0p0NS::ParametersStruct*>(tmpThis)); + } + + SurfaceTraceParameters_0p0NS::ParametersStruct& parameters(void) + { + return *(static_cast<SurfaceTraceParameters_0p0NS::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 SurfaceTraceParameters_0p0Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + SurfaceTraceParameters_0p0::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(SurfaceTraceParameters_0p0), SurfaceTraceParameters_0p0::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, SurfaceTraceParameters_0p0::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class SurfaceTraceParameters_0p0"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(SurfaceTraceParameters_0p0)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, SurfaceTraceParameters_0p0)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, SurfaceTraceParameters_0p0::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, SurfaceTraceParameters_0p0::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class SurfaceTraceParameters_0p0"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of SurfaceTraceParameters_0p0 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 (SurfaceTraceParameters_0p0*)bufObj; + } + + virtual const char* getClassName() + { + return (SurfaceTraceParameters_0p0::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (SurfaceTraceParameters_0p0::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (SurfaceTraceParameters_0p0::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (SurfaceTraceParameters_0p0::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/SurfaceTraceSetParameters_0p0.h b/APEX_1.4/module/destructible_legacy/include/autogen/SurfaceTraceSetParameters_0p0.h new file mode 100644 index 00000000..0e4c4485 --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/SurfaceTraceSetParameters_0p0.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_SurfaceTraceSetParameters_0p0_h +#define HEADER_SurfaceTraceSetParameters_0p0_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace SurfaceTraceSetParameters_0p0NS +{ + + +struct REF_DynamicArray1D_Type +{ + NvParameterized::Interface** buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + + +struct ParametersStruct +{ + + REF_DynamicArray1D_Type traces; + +}; + +static const uint32_t checksum[] = { 0x670003c1, 0x423421b5, 0x28339fb2, 0x38efed3a, }; + +} // namespace SurfaceTraceSetParameters_0p0NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class SurfaceTraceSetParameters_0p0 : public NvParameterized::NvParameters, public SurfaceTraceSetParameters_0p0NS::ParametersStruct +{ +public: + SurfaceTraceSetParameters_0p0(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~SurfaceTraceSetParameters_0p0(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("SurfaceTraceSetParameters"); + } + + 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(SurfaceTraceSetParameters_0p0NS::checksum); + return SurfaceTraceSetParameters_0p0NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const SurfaceTraceSetParameters_0p0NS::ParametersStruct& parameters(void) const + { + SurfaceTraceSetParameters_0p0* tmpThis = const_cast<SurfaceTraceSetParameters_0p0*>(this); + return *(static_cast<SurfaceTraceSetParameters_0p0NS::ParametersStruct*>(tmpThis)); + } + + SurfaceTraceSetParameters_0p0NS::ParametersStruct& parameters(void) + { + return *(static_cast<SurfaceTraceSetParameters_0p0NS::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 SurfaceTraceSetParameters_0p0Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + SurfaceTraceSetParameters_0p0::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(SurfaceTraceSetParameters_0p0), SurfaceTraceSetParameters_0p0::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, SurfaceTraceSetParameters_0p0::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class SurfaceTraceSetParameters_0p0"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(SurfaceTraceSetParameters_0p0)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, SurfaceTraceSetParameters_0p0)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, SurfaceTraceSetParameters_0p0::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, SurfaceTraceSetParameters_0p0::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class SurfaceTraceSetParameters_0p0"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of SurfaceTraceSetParameters_0p0 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 (SurfaceTraceSetParameters_0p0*)bufObj; + } + + virtual const char* getClassName() + { + return (SurfaceTraceSetParameters_0p0::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (SurfaceTraceSetParameters_0p0::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (SurfaceTraceSetParameters_0p0::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (SurfaceTraceSetParameters_0p0::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/SurfaceTraceSetParameters_0p1.h b/APEX_1.4/module/destructible_legacy/include/autogen/SurfaceTraceSetParameters_0p1.h new file mode 100644 index 00000000..872c9afd --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/SurfaceTraceSetParameters_0p1.h @@ -0,0 +1,239 @@ +// 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_SurfaceTraceSetParameters_0p1_h +#define HEADER_SurfaceTraceSetParameters_0p1_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace SurfaceTraceSetParameters_0p1NS +{ + + +struct REF_DynamicArray1D_Type +{ + NvParameterized::Interface** buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + + +struct ParametersStruct +{ + + REF_DynamicArray1D_Type traces; + physx::PxVec3 positionOffset; + +}; + +static const uint32_t checksum[] = { 0x26c923b4, 0x640dec9c, 0x14b6de5c, 0x6ae751c8, }; + +} // namespace SurfaceTraceSetParameters_0p1NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class SurfaceTraceSetParameters_0p1 : public NvParameterized::NvParameters, public SurfaceTraceSetParameters_0p1NS::ParametersStruct +{ +public: + SurfaceTraceSetParameters_0p1(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~SurfaceTraceSetParameters_0p1(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("SurfaceTraceSetParameters"); + } + + 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(SurfaceTraceSetParameters_0p1NS::checksum); + return SurfaceTraceSetParameters_0p1NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const SurfaceTraceSetParameters_0p1NS::ParametersStruct& parameters(void) const + { + SurfaceTraceSetParameters_0p1* tmpThis = const_cast<SurfaceTraceSetParameters_0p1*>(this); + return *(static_cast<SurfaceTraceSetParameters_0p1NS::ParametersStruct*>(tmpThis)); + } + + SurfaceTraceSetParameters_0p1NS::ParametersStruct& parameters(void) + { + return *(static_cast<SurfaceTraceSetParameters_0p1NS::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 SurfaceTraceSetParameters_0p1Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + SurfaceTraceSetParameters_0p1::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(SurfaceTraceSetParameters_0p1), SurfaceTraceSetParameters_0p1::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, SurfaceTraceSetParameters_0p1::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class SurfaceTraceSetParameters_0p1"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(SurfaceTraceSetParameters_0p1)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, SurfaceTraceSetParameters_0p1)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, SurfaceTraceSetParameters_0p1::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, SurfaceTraceSetParameters_0p1::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class SurfaceTraceSetParameters_0p1"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of SurfaceTraceSetParameters_0p1 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 (SurfaceTraceSetParameters_0p1*)bufObj; + } + + virtual const char* getClassName() + { + return (SurfaceTraceSetParameters_0p1::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (SurfaceTraceSetParameters_0p1::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (SurfaceTraceSetParameters_0p1::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (SurfaceTraceSetParameters_0p1::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif diff --git a/APEX_1.4/module/destructible_legacy/include/autogen/SurfaceTraceSetParameters_0p2.h b/APEX_1.4/module/destructible_legacy/include/autogen/SurfaceTraceSetParameters_0p2.h new file mode 100644 index 00000000..50f46e6f --- /dev/null +++ b/APEX_1.4/module/destructible_legacy/include/autogen/SurfaceTraceSetParameters_0p2.h @@ -0,0 +1,239 @@ +// 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_SurfaceTraceSetParameters_0p2_h +#define HEADER_SurfaceTraceSetParameters_0p2_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 parameterized +{ + +#if PX_VC +#pragma warning(push) +#pragma warning(disable: 4324) // structure was padded due to __declspec(align()) +#endif + +namespace SurfaceTraceSetParameters_0p2NS +{ + + +struct REF_DynamicArray1D_Type +{ + NvParameterized::Interface** buf; + bool isAllocated; + int32_t elementSize; + int32_t arraySizes[1]; +}; + + +struct ParametersStruct +{ + + REF_DynamicArray1D_Type traces; + physx::PxVec3 positionOffset; + +}; + +static const uint32_t checksum[] = { 0x7825b62c, 0x9ed33f77, 0x7851a472, 0xb4319f34, }; + +} // namespace SurfaceTraceSetParameters_0p2NS + +#ifndef NV_PARAMETERIZED_ONLY_LAYOUTS +class SurfaceTraceSetParameters_0p2 : public NvParameterized::NvParameters, public SurfaceTraceSetParameters_0p2NS::ParametersStruct +{ +public: + SurfaceTraceSetParameters_0p2(NvParameterized::Traits* traits, void* buf = 0, int32_t* refCount = 0); + + virtual ~SurfaceTraceSetParameters_0p2(); + + virtual void destroy(); + + static const char* staticClassName(void) + { + return("SurfaceTraceSetParameters"); + } + + const char* className(void) const + { + return(staticClassName()); + } + + static const uint32_t ClassVersion = ((uint32_t)0 << 16) + (uint32_t)2; + + 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(SurfaceTraceSetParameters_0p2NS::checksum); + return SurfaceTraceSetParameters_0p2NS::checksum; + } + + static void freeParameterDefinitionTable(NvParameterized::Traits* traits); + + const uint32_t* checksum(uint32_t& bits) const + { + return staticChecksum(bits); + } + + const SurfaceTraceSetParameters_0p2NS::ParametersStruct& parameters(void) const + { + SurfaceTraceSetParameters_0p2* tmpThis = const_cast<SurfaceTraceSetParameters_0p2*>(this); + return *(static_cast<SurfaceTraceSetParameters_0p2NS::ParametersStruct*>(tmpThis)); + } + + SurfaceTraceSetParameters_0p2NS::ParametersStruct& parameters(void) + { + return *(static_cast<SurfaceTraceSetParameters_0p2NS::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 SurfaceTraceSetParameters_0p2Factory : public NvParameterized::Factory +{ + static const char* const vptr; + +public: + + virtual void freeParameterDefinitionTable(NvParameterized::Traits* traits) + { + SurfaceTraceSetParameters_0p2::freeParameterDefinitionTable(traits); + } + + virtual NvParameterized::Interface* create(NvParameterized::Traits* paramTraits) + { + // placement new on this class using mParameterizedTraits + + void* newPtr = paramTraits->alloc(sizeof(SurfaceTraceSetParameters_0p2), SurfaceTraceSetParameters_0p2::ClassAlignment); + if (!NvParameterized::IsAligned(newPtr, SurfaceTraceSetParameters_0p2::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class SurfaceTraceSetParameters_0p2"); + paramTraits->free(newPtr); + return 0; + } + + memset(newPtr, 0, sizeof(SurfaceTraceSetParameters_0p2)); // always initialize memory allocated to zero for default values + return NV_PARAM_PLACEMENT_NEW(newPtr, SurfaceTraceSetParameters_0p2)(paramTraits); + } + + virtual NvParameterized::Interface* finish(NvParameterized::Traits* paramTraits, void* bufObj, void* bufStart, int32_t* refCount) + { + if (!NvParameterized::IsAligned(bufObj, SurfaceTraceSetParameters_0p2::ClassAlignment) + || !NvParameterized::IsAligned(bufStart, SurfaceTraceSetParameters_0p2::ClassAlignment)) + { + NV_PARAM_TRAITS_WARNING(paramTraits, "Unaligned memory allocation for class SurfaceTraceSetParameters_0p2"); + return 0; + } + + // Init NvParameters-part + // We used to call empty constructor of SurfaceTraceSetParameters_0p2 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 (SurfaceTraceSetParameters_0p2*)bufObj; + } + + virtual const char* getClassName() + { + return (SurfaceTraceSetParameters_0p2::staticClassName()); + } + + virtual uint32_t getVersion() + { + return (SurfaceTraceSetParameters_0p2::staticVersion()); + } + + virtual uint32_t getAlignment() + { + return (SurfaceTraceSetParameters_0p2::ClassAlignment); + } + + virtual const uint32_t* getChecksum(uint32_t& bits) + { + return (SurfaceTraceSetParameters_0p2::staticChecksum(bits)); + } +}; +#endif // NV_PARAMETERIZED_ONLY_LAYOUTS + +} // namespace parameterized +} // namespace nvidia + +#if PX_VC +#pragma warning(pop) +#endif + +#endif |