aboutsummaryrefslogtreecommitdiff
path: root/APEX_1.4/include/basicfs
diff options
context:
space:
mode:
authorgit perforce import user <a@b>2016-10-25 12:29:14 -0600
committerSheikh Dawood Abdul Ajees <Sheikh Dawood Abdul Ajees>2016-10-25 18:56:37 -0500
commit3dfe2108cfab31ba3ee5527e217d0d8e99a51162 (patch)
treefa6485c169e50d7415a651bf838f5bcd0fd3bfbd /APEX_1.4/include/basicfs
downloadphysx-3.4-3dfe2108cfab31ba3ee5527e217d0d8e99a51162.tar.xz
physx-3.4-3dfe2108cfab31ba3ee5527e217d0d8e99a51162.zip
Initial commit:
PhysX 3.4.0 Update @ 21294896 APEX 1.4.0 Update @ 21275617 [CL 21300167]
Diffstat (limited to 'APEX_1.4/include/basicfs')
-rw-r--r--APEX_1.4/include/basicfs/AttractorFSActor.h88
-rw-r--r--APEX_1.4/include/basicfs/AttractorFSPreview.h91
-rw-r--r--APEX_1.4/include/basicfs/BasicFSAsset.h57
-rw-r--r--APEX_1.4/include/basicfs/JetFSActor.h94
-rw-r--r--APEX_1.4/include/basicfs/JetFSPreview.h85
-rw-r--r--APEX_1.4/include/basicfs/ModuleBasicFS.h44
-rw-r--r--APEX_1.4/include/basicfs/NoiseFSActor.h89
-rw-r--r--APEX_1.4/include/basicfs/NoiseFSPreview.h85
-rw-r--r--APEX_1.4/include/basicfs/VortexFSActor.h130
-rw-r--r--APEX_1.4/include/basicfs/VortexFSPreview.h90
-rw-r--r--APEX_1.4/include/basicfs/WindFSActor.h93
-rw-r--r--APEX_1.4/include/basicfs/WindFSPreview.h78
12 files changed, 1024 insertions, 0 deletions
diff --git a/APEX_1.4/include/basicfs/AttractorFSActor.h b/APEX_1.4/include/basicfs/AttractorFSActor.h
new file mode 100644
index 00000000..89fd57a0
--- /dev/null
+++ b/APEX_1.4/include/basicfs/AttractorFSActor.h
@@ -0,0 +1,88 @@
+/*
+ * 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 ATTRACTOR_FSACTOR_H
+#define ATTRACTOR_FSACTOR_H
+
+#include "Apex.h"
+
+namespace nvidia
+{
+namespace apex
+{
+
+PX_PUSH_PACK_DEFAULT
+
+class BasicFSAsset;
+
+
+/**
+ \brief AttractorFS Actor class
+ */
+class AttractorFSActor : public Actor, public Renderable
+{
+protected:
+ virtual ~AttractorFSActor() {}
+
+public:
+ /**
+ \brief Returns the asset the instance has been created from.
+ */
+ virtual BasicFSAsset* getAttractorFSAsset() const = 0;
+
+ /**
+ \brief Gets the current position of the actor
+ */
+ virtual PxVec3 getCurrentPosition() const = 0;
+
+ /**
+ \brief Sets the current position of the actor
+ */
+ virtual void setCurrentPosition(const PxVec3& pos) = 0;
+
+ /**
+ \brief Sets the attracting radius of the field
+ */
+ virtual void setFieldRadius(float) = 0;
+
+ /**
+ \brief Sets strength of the constant part of attracting field
+ */
+ virtual void setConstFieldStrength(float) = 0;
+
+ /**
+ \brief Sets strength coefficient for variable part of attracting field
+ */
+ virtual void setVariableFieldStrength(float) = 0;
+
+ /**
+ \brief Enable/Disable the field simulation
+ */
+ virtual void setEnabled(bool isEnabled) = 0;
+
+ /**
+ \brief Sets the uniform overall object scale
+ */
+ virtual void setCurrentScale(float scale) = 0;
+
+ /**
+ \brief Retrieves the uniform overall object scale
+ */
+ virtual float getCurrentScale(void) const = 0;
+
+};
+
+PX_POP_PACK
+
+}
+} // end namespace nvidia::apex
+
+#endif // ATTRACTOR_FSACTOR_H
diff --git a/APEX_1.4/include/basicfs/AttractorFSPreview.h b/APEX_1.4/include/basicfs/AttractorFSPreview.h
new file mode 100644
index 00000000..e982f231
--- /dev/null
+++ b/APEX_1.4/include/basicfs/AttractorFSPreview.h
@@ -0,0 +1,91 @@
+/*
+ * 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 ATTRACTOR_FSPREVIEW_H
+#define ATTRACTOR_FSPREVIEW_H
+
+#include "Apex.h"
+#include "AssetPreview.h"
+
+namespace nvidia
+{
+namespace apex
+{
+
+PX_PUSH_PACK_DEFAULT
+
+class RenderDebugInterface;
+
+/**
+ \brief The APEX_ATTRACT namespace contains the defines for setting the preview detail levels.
+
+ ATTRACT_DRAW_NOTHING - draw nothing<BR>
+ ATTRACT_DRAW_SHAPE - draw the attractor shape<BR>
+ ATTRACT_DRAW_ASSET_INFO - draw the asset info in the screen space<BR>
+ ATTRACT_DRAW_FULL_DETAIL - draw all components of the preview<BR>
+*/
+namespace APEX_ATTRACT
+{
+/**
+ \def ATTRACT_DRAW_NOTHING
+ Draw no preview items.
+*/
+static const uint32_t ATTRACT_DRAW_NOTHING = 0x00;
+/**
+ \def ATTRACT_DRAW_SHAPE
+ Draw the shape. The top of the shape should be above ground and the bottom should be below ground.
+*/
+static const uint32_t ATTRACT_DRAW_SHAPE = 0x01;
+/**
+ \def ATTRACT_DRAW_ASSET_INFO
+ Draw the Asset Info in Screen Space. This displays the various asset members that are relevant to the current asset.
+ parameters that are not relevant because they are disabled are not displayed.
+*/
+
+static const uint32_t ATTRACT_DRAW_ASSET_INFO = 0x02;
+/**
+ \def ATTRACT_DRAW_FULL_DETAIL
+ Draw all of the preview rendering items.
+*/
+static const uint32_t ATTRACT_DRAW_FULL_DETAIL = (ATTRACT_DRAW_SHAPE + ATTRACT_DRAW_ASSET_INFO);
+}
+
+/**
+\brief This class provides the asset preview for APEX AttractorFS Assets. The class provides multiple levels of prevew
+detail that can be selected individually.
+*/
+class AttractorFSPreview : public AssetPreview
+{
+public:
+ /**
+ \brief Set the radius of the attractor.
+ */
+ virtual void setRadius(float radius) = 0;
+
+ /**
+ Set the detail level of the preview rendering by selecting which features to enable.<BR>
+ Any, all, or none of the following masks may be added together to select what should be drawn.<BR>
+ The defines for the individual items are:<br>
+ ATTRACT_DRAW_NOTHING - draw nothing<BR>
+ ATTRACT_DRAW_SHAPE - draw the shape<BR>
+ ATTRACT_DRAW_ASSET_INFO - draw the turbulencefs asset info in the screen space<BR>
+ ATTRACT_DRAW_FULL_DETAIL - draw all components of the turbulencefs preview<BR>
+ All items may be drawn using the macro DRAW_FULL_DETAIL.
+ */
+ virtual void setDetailLevel(uint32_t detail) = 0;
+};
+
+
+PX_POP_PACK
+
+}
+} // namespace nvidia
+
+#endif // ATTRACTOR_FS_PREVIEW_H
diff --git a/APEX_1.4/include/basicfs/BasicFSAsset.h b/APEX_1.4/include/basicfs/BasicFSAsset.h
new file mode 100644
index 00000000..8f1e9693
--- /dev/null
+++ b/APEX_1.4/include/basicfs/BasicFSAsset.h
@@ -0,0 +1,57 @@
+/*
+ * 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 BASIC_FSASSET_H
+#define BASIC_FSASSET_H
+
+#include "Apex.h"
+
+namespace nvidia
+{
+namespace apex
+{
+
+PX_PUSH_PACK_DEFAULT
+
+#define JET_FS_AUTHORING_TYPE_NAME "JetFSAsset"
+#define ATTRACTOR_FS_AUTHORING_TYPE_NAME "AttractorFSAsset"
+#define VORTEX_FS_AUTHORING_TYPE_NAME "VortexFSAsset"
+#define NOISE_FS_AUTHORING_TYPE_NAME "NoiseFSAsset"
+#define WIND_FS_AUTHORING_TYPE_NAME "WindFSAsset"
+
+/**
+ \brief BasicFS Asset class
+ */
+class BasicFSAsset : public Asset
+{
+protected:
+ virtual ~BasicFSAsset() {}
+
+public:
+};
+
+/**
+ \brief BasicFS Asset Authoring class
+ */
+class BasicFSAssetAuthoring : public AssetAuthoring
+{
+protected:
+ virtual ~BasicFSAssetAuthoring() {}
+
+public:
+};
+
+
+PX_POP_PACK
+
+}
+} // end namespace nvidia::apex
+
+#endif // BASIC_FSASSET_H
diff --git a/APEX_1.4/include/basicfs/JetFSActor.h b/APEX_1.4/include/basicfs/JetFSActor.h
new file mode 100644
index 00000000..44de7efa
--- /dev/null
+++ b/APEX_1.4/include/basicfs/JetFSActor.h
@@ -0,0 +1,94 @@
+/*
+ * 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 JET_FSACTOR_H
+#define JET_FSACTOR_H
+
+#include "Apex.h"
+
+namespace nvidia
+{
+namespace apex
+{
+
+PX_PUSH_PACK_DEFAULT
+
+class BasicFSAsset;
+
+
+/**
+ \brief JetFS Actor class
+ */
+class JetFSActor : public Actor, public Renderable
+{
+protected:
+ virtual ~JetFSActor() {}
+
+public:
+
+ /**
+ \brief Returns the asset the instance has been created from.
+ */
+ virtual BasicFSAsset* getJetFSAsset() const = 0;
+
+ /**
+ \brief Gets the current pose of the actor
+ */
+ virtual PxMat44 getCurrentPose() const = 0;
+
+ /**
+ \brief Sets the current pose of the actor
+ */
+ virtual void setCurrentPose(const PxTransform& pose) = 0;
+
+ /**
+ \brief Gets the current position of the actor
+ */
+ virtual PxVec3 getCurrentPosition() const = 0;
+
+ /**
+ \brief Sets the current position of the actor
+ */
+ virtual void setCurrentPosition(const PxVec3& pos) = 0;
+
+ /**
+ \brief Gets the current scale of the actor
+ */
+ virtual float getCurrentScale() const = 0;
+
+ /**
+ \brief Sets the current scale of the actor
+ */
+ virtual void setCurrentScale(const float& scale) = 0;
+
+ /**
+ \brief Sets the field strength
+ */
+ virtual void setFieldStrength(float) = 0;
+
+ /**
+ \brief Sets the field direction
+ */
+ virtual void setFieldDirection(const PxVec3&) = 0;
+
+ /**
+ \brief Enable/Disable the field simulation
+ */
+ virtual void setEnabled(bool isEnabled) = 0;
+
+};
+
+PX_POP_PACK
+
+}
+} // end namespace nvidia::apex
+
+#endif // JET_FSACTOR_H
diff --git a/APEX_1.4/include/basicfs/JetFSPreview.h b/APEX_1.4/include/basicfs/JetFSPreview.h
new file mode 100644
index 00000000..c97607a0
--- /dev/null
+++ b/APEX_1.4/include/basicfs/JetFSPreview.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 JET_FSPREVIEW_H
+#define JET_FSPREVIEW_H
+
+#include "Apex.h"
+#include "AssetPreview.h"
+
+namespace nvidia
+{
+namespace apex
+{
+
+PX_PUSH_PACK_DEFAULT
+
+class RenderDebugInterface;
+
+/**
+ \brief The APEX_JET namespace contains the defines for setting the preview detail levels.
+
+ JET_DRAW_NOTHING - draw nothing<BR>
+ JET_DRAW_SHAPE - draw the shape<BR>
+ JET_DRAW_ASSET_INFO - draw the asset info in the screen space<BR>
+ JET_DRAW_FULL_DETAIL - draw all components of the preview<BR>
+*/
+namespace APEX_JET
+{
+/**
+ \def JET_DRAW_NOTHING
+ Draw no preview items.
+*/
+static const uint32_t JET_DRAW_NOTHING = 0x00;
+/**
+ \def JET_DRAW_SHAPE
+ Draw the shape. The top of the shape should be above ground and the bottom should be below ground.
+*/
+static const uint32_t JET_DRAW_SHAPE = 0x01;
+/**
+ \def JET_DRAW_ASSET_INFO
+ Draw the Asset Info in Screen Space. This displays the various asset members that are relevant to the current asset.
+ parameters that are not relevant because they are disabled are not displayed.
+*/
+static const uint32_t JET_DRAW_ASSET_INFO = 0x02;
+/**
+ \def JET_DRAW_FULL_DETAIL
+ Draw all of the preview rendering items.
+*/
+static const uint32_t JET_DRAW_FULL_DETAIL = (JET_DRAW_SHAPE + JET_DRAW_ASSET_INFO);
+}
+
+/**
+\brief This class provides the asset preview for APEX TurbulenceFS Assets. The class provides multiple levels of prevew
+detail that can be selected individually.
+*/
+class JetFSPreview : public AssetPreview
+{
+public:
+ /**
+ Set the detail level of the preview rendering by selecting which features to enable.<BR>
+ Any, all, or none of the following masks may be added together to select what should be drawn.<BR>
+ The defines for the individual items are:<br>
+ JET_DRAW_NOTHING - draw nothing<BR>
+ JET_DRAW_SHAPE - draw the shape<BR>
+ JET_DRAW_ASSET_INFO - draw the turbulencefs asset info in the screen space<BR>
+ JET_DRAW_FULL_DETAIL - draw all components of the turbulencefs preview<BR>
+ All items may be drawn using the macro DRAW_FULL_DETAIL.
+ */
+ virtual void setDetailLevel(uint32_t detail) = 0;
+};
+
+
+PX_POP_PACK
+
+}
+} // namespace nvidia
+
+#endif // JET_FSPREVIEW_H
diff --git a/APEX_1.4/include/basicfs/ModuleBasicFS.h b/APEX_1.4/include/basicfs/ModuleBasicFS.h
new file mode 100644
index 00000000..df6c7dda
--- /dev/null
+++ b/APEX_1.4/include/basicfs/ModuleBasicFS.h
@@ -0,0 +1,44 @@
+/*
+ * 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_BASIC_FS_H
+#define MODULE_BASIC_FS_H
+
+#include "Apex.h"
+
+namespace nvidia
+{
+namespace apex
+{
+
+PX_PUSH_PACK_DEFAULT
+
+class BasicFSAsset;
+class BasicFSAssetAuthoring;
+
+
+/**
+ \brief BasicFS module class
+ */
+class ModuleBasicFS : public Module
+{
+public:
+
+protected:
+ virtual ~ModuleBasicFS() {}
+};
+
+
+PX_POP_PACK
+
+}
+} // end namespace nvidia::apex
+
+#endif // MODULE_BASIC_FS_H
diff --git a/APEX_1.4/include/basicfs/NoiseFSActor.h b/APEX_1.4/include/basicfs/NoiseFSActor.h
new file mode 100644
index 00000000..3c44cff1
--- /dev/null
+++ b/APEX_1.4/include/basicfs/NoiseFSActor.h
@@ -0,0 +1,89 @@
+/*
+ * 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 NOISE_FSACTOR_H
+#define NOISE_FSACTOR_H
+
+#include "Apex.h"
+
+namespace nvidia
+{
+namespace apex
+{
+
+PX_PUSH_PACK_DEFAULT
+
+class BasicFSAsset;
+
+
+/**
+ \brief JetFS Actor class
+ */
+class NoiseFSActor : public Actor, public Renderable
+{
+protected:
+ virtual ~NoiseFSActor() {}
+
+public:
+
+ /**
+ \brief Returns the asset the instance has been created from.
+ */
+ virtual BasicFSAsset* getNoiseFSAsset() const = 0;
+
+ /**
+ \brief Gets the current pose of the actor
+ */
+ virtual PxMat44 getCurrentPose() const = 0;
+
+ /**
+ \brief Sets the current pose of the actor
+ */
+ virtual void setCurrentPose(const PxTransform& pose) = 0;
+
+ /**
+ \brief Gets the current position of the actor
+ */
+ virtual PxVec3 getCurrentPosition() const = 0;
+
+ /**
+ \brief Sets the current position of the actor
+ */
+ virtual void setCurrentPosition(const PxVec3& pos) = 0;
+
+ /**
+ \brief Gets the current scale of the actor
+ */
+ virtual float getCurrentScale() const = 0;
+
+ /**
+ \brief Sets the current scale of the actor
+ */
+ virtual void setCurrentScale(const float& scale) = 0;
+
+ /**
+ \brief Sets the noise strength
+ */
+ virtual void setNoiseStrength(float) = 0;
+
+ /**
+ \brief Enable/Disable the field simulation
+ */
+ virtual void setEnabled(bool isEnabled) = 0;
+
+};
+
+PX_POP_PACK
+
+}
+} // end namespace nvidia::apex
+
+#endif // NOISE_FSACTOR_H
diff --git a/APEX_1.4/include/basicfs/NoiseFSPreview.h b/APEX_1.4/include/basicfs/NoiseFSPreview.h
new file mode 100644
index 00000000..48446aac
--- /dev/null
+++ b/APEX_1.4/include/basicfs/NoiseFSPreview.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 NOISE_FSPREVIEW_H
+#define NOISE_FSPREVIEW_H
+
+#include "Apex.h"
+#include "AssetPreview.h"
+
+namespace nvidia
+{
+namespace apex
+{
+
+PX_PUSH_PACK_DEFAULT
+
+class RenderDebugInterface;
+
+/**
+ \brief The APEX_NOISE namespace contains the defines for setting the preview detail levels.
+
+ NOISE_DRAW_NOTHING - draw nothing<BR>
+ NOISE_DRAW_SHAPE - draw the shape<BR>
+ NOISE_DRAW_ASSET_INFO - draw the asset info in the screen space<BR>
+ NOISE_DRAW_FULL_DETAIL - draw all components of the preview<BR>
+*/
+namespace APEX_NOISE
+{
+/**
+ \def NOISE_DRAW_NOTHING
+ Draw no preview items.
+*/
+static const uint32_t NOISE_DRAW_NOTHING = 0x00;
+/**
+ \def NOISE_DRAW_SHAPE
+ Draw the shape. The top of the shape should be above ground and the bottom should be below ground.
+*/
+static const uint32_t NOISE_DRAW_SHAPE = 0x01;
+/**
+ \def NOISE_DRAW_ASSET_INFO
+ Draw the Asset Info in Screen Space. This displays the various asset members that are relevant to the current asset.
+ parameters that are not relevant because they are disabled are not displayed.
+*/
+static const uint32_t NOISE_DRAW_ASSET_INFO = 0x02;
+/**
+ \def NOISE_DRAW_FULL_DETAIL
+ Draw all of the preview rendering items.
+*/
+static const uint32_t NOISE_DRAW_FULL_DETAIL = (NOISE_DRAW_SHAPE + NOISE_DRAW_ASSET_INFO);
+}
+
+/**
+\brief This class provides the asset preview for APEX NoiseFS Assets. The class provides multiple levels of prevew
+detail that can be selected individually.
+*/
+class NoiseFSPreview : public AssetPreview
+{
+public:
+ /**
+ Set the detail level of the preview rendering by selecting which features to enable.<BR>
+ Any, all, or none of the following masks may be added together to select what should be drawn.<BR>
+ The defines for the individual items are:<br>
+ NOISE_DRAW_NOTHING - draw nothing<BR>
+ NOISE_DRAW_SHAPE - draw the shape<BR>
+ NOISE_DRAW_ASSET_INFO - draw the asset info in the screen space<BR>
+ NOISE_DRAW_FULL_DETAIL - draw all components of the asset preview<BR>
+ All items may be drawn using the macro DRAW_FULL_DETAIL.
+ */
+ virtual void setDetailLevel(uint32_t detail) = 0;
+};
+
+
+PX_POP_PACK
+
+}
+} // namespace nvidia
+
+#endif // NOISE_FSPREVIEW_H
diff --git a/APEX_1.4/include/basicfs/VortexFSActor.h b/APEX_1.4/include/basicfs/VortexFSActor.h
new file mode 100644
index 00000000..e2ee9b1f
--- /dev/null
+++ b/APEX_1.4/include/basicfs/VortexFSActor.h
@@ -0,0 +1,130 @@
+/*
+ * 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 VORTEX_FSACTOR_H
+#define VORTEX_FSACTOR_H
+
+#include "Apex.h"
+
+namespace nvidia
+{
+namespace apex
+{
+
+PX_PUSH_PACK_DEFAULT
+
+class BasicFSAsset;
+
+
+/**
+ \brief VortexFS Actor class
+ */
+class VortexFSActor : public Actor, public Renderable
+{
+protected:
+ virtual ~VortexFSActor() {}
+
+public:
+
+ /**
+ \brief Returns the asset the instance has been created from.
+ */
+ virtual BasicFSAsset* getVortexFSAsset() const = 0;
+
+ /**
+ \brief Gets the current pose of the actor
+ */
+ virtual PxMat44 getCurrentPose() const = 0;
+
+ /**
+ \brief Sets the current pose of the actor
+ */
+ virtual void setCurrentPose(const PxTransform& pose) = 0;
+
+ /**
+ \brief Gets the current position of the actor
+ */
+ virtual PxVec3 getCurrentPosition() const = 0;
+
+ /**
+ \brief Sets the current position of the actor
+ */
+ virtual void setCurrentPosition(const PxVec3& pos) = 0;
+
+ /**
+ \brief Sets the axis of the capsule in local coordinate system
+ */
+ virtual void setAxis(const PxVec3&) = 0;
+
+ /**
+ \brief Sets the height of the capsule
+ */
+ virtual void setHeight(float) = 0;
+
+ /**
+ \brief Sets the bottom radius of the capsule
+ */
+ virtual void setBottomRadius(float) = 0;
+
+ /**
+ \brief Sets the top radius of the capsule
+ */
+ virtual void setTopRadius(float) = 0;
+
+ /**
+ \brief Sets the bottom spherical force of the capsule
+ */
+ virtual void setBottomSphericalForce(bool) = 0;
+
+ /**
+ \brief Sets the top spherical force of the capsule
+ */
+ virtual void setTopSphericalForce(bool) = 0;
+
+ /**
+ \brief Sets strength of the rotational part of vortex field
+ */
+ virtual void setRotationalStrength(float) = 0;
+
+ /**
+ \brief Sets strength of the radial part of vortex field
+ */
+ virtual void setRadialStrength(float) = 0;
+
+ /**
+ \brief Sets strength of the lifting part of vortex field
+ */
+ virtual void setLiftStrength(float) = 0;
+
+ /**
+ \brief Enable/Disable the field simulation
+ */
+ virtual void setEnabled(bool isEnabled) = 0;
+
+
+ /**
+ \brief Sets the uniform overall object scale
+ */
+ virtual void setCurrentScale(float scale) = 0;
+
+ /**
+ \brief Retrieves the uniform overall object scale
+ */
+ virtual float getCurrentScale(void) const = 0;
+
+};
+
+PX_POP_PACK
+
+}
+} // end namespace nvidia::apex
+
+#endif // VORTEX_FSACTOR_H
diff --git a/APEX_1.4/include/basicfs/VortexFSPreview.h b/APEX_1.4/include/basicfs/VortexFSPreview.h
new file mode 100644
index 00000000..8270995d
--- /dev/null
+++ b/APEX_1.4/include/basicfs/VortexFSPreview.h
@@ -0,0 +1,90 @@
+/*
+ * 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 VORTEX_FSPREVIEW_H
+#define VORTEX_FSPREVIEW_H
+
+#include "Apex.h"
+#include "AssetPreview.h"
+
+namespace nvidia
+{
+namespace apex
+{
+
+PX_PUSH_PACK_DEFAULT
+
+class RenderDebugInterface;
+
+/**
+ \brief The APEX_VORTEX namespace contains the defines for setting the preview detail levels.
+
+ VORTEX_DRAW_NOTHING - draw nothing<BR>
+ VORTEX_DRAW_SHAPE - draw the Vortex shape<BR>
+ VORTEX_DRAW_ASSET_INFO - draw the asset info in the screen space<BR>
+ VORTEX_DRAW_FULL_DETAIL - draw all components of the preview<BR>
+*/
+namespace APEX_VORTEX
+{
+/**
+ \def VORTEX_DRAW_NOTHING
+ Draw no preview items.
+*/
+static const uint32_t VORTEX_DRAW_NOTHING = 0x00;
+/**
+ \def VORTEX_DRAW_SHAPE
+ Draw the shape. The top of the shape should be above ground and the bottom should be below ground.
+*/
+static const uint32_t VORTEX_DRAW_SHAPE = 0x01;
+/**
+ \def VORTEX_DRAW_ASSET_INFO
+ Draw the Asset Info in Screen Space. This displays the various asset members that are relevant to the current asset.
+ parameters that are not relevant because they are disabled are not displayed.
+*/
+
+static const uint32_t VORTEX_DRAW_ASSET_INFO = 0x02;
+/**
+ \def VORTEX_DRAW_FULL_DETAIL
+ Draw all of the preview rendering items.
+*/
+static const uint32_t VORTEX_DRAW_FULL_DETAIL = (VORTEX_DRAW_SHAPE + VORTEX_DRAW_ASSET_INFO);
+}
+
+/**
+\brief This class provides the asset preview for APEX VortexFS Assets. The class provides multiple levels of prevew
+detail that can be selected individually.
+*/
+class VortexFSPreview : public AssetPreview
+{
+public:
+ /**
+ \brief Set the radius of the vortex.
+ */
+ virtual void setRadius(float radius) = 0;
+ /**
+ Set the detail level of the preview rendering by selecting which features to enable.<BR>
+ Any, all, or none of the following masks may be added together to select what should be drawn.<BR>
+ The defines for the individual items are:<br>
+ VORTEX_DRAW_NOTHING - draw nothing<BR>
+ VORTEX_DRAW_SHAPE - draw the shape<BR>
+ VORTEX_DRAW_ASSET_INFO - draw the turbulencefs asset info in the screen space<BR>
+ VORTEX_DRAW_FULL_DETAIL - draw all components of the turbulencefs preview<BR>
+ All items may be drawn using the macro DRAW_FULL_DETAIL.
+ */
+ virtual void setDetailLevel(uint32_t detail) = 0;
+};
+
+
+PX_POP_PACK
+
+}
+} // namespace nvidia
+
+#endif // VORTEX_FS_PREVIEW_H
diff --git a/APEX_1.4/include/basicfs/WindFSActor.h b/APEX_1.4/include/basicfs/WindFSActor.h
new file mode 100644
index 00000000..8d5a373c
--- /dev/null
+++ b/APEX_1.4/include/basicfs/WindFSActor.h
@@ -0,0 +1,93 @@
+/*
+ * 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 WIND_FSACTOR_H
+#define WIND_FSACTOR_H
+
+#include "Apex.h"
+
+namespace nvidia
+{
+namespace apex
+{
+
+PX_PUSH_PACK_DEFAULT
+
+class BasicFSAsset;
+
+
+/**
+ \brief WindFS Actor class
+ */
+class WindFSActor : public Actor, public Renderable
+{
+protected:
+ virtual ~WindFSActor() {}
+
+public:
+
+ /**
+ \brief Returns the asset the instance has been created from.
+ */
+ virtual BasicFSAsset* getWindFSAsset() const = 0;
+
+ /**
+ \brief Gets the current pose of the actor
+ */
+ virtual PxMat44 getCurrentPose() const = 0;
+
+ /**
+ \brief Sets the current pose of the actor
+ */
+ virtual void setCurrentPose(const PxTransform& pose) = 0;
+
+ /**
+ \brief Gets the current position of the actor
+ */
+ virtual PxVec3 getCurrentPosition() const = 0;
+
+ /**
+ \brief Sets the current position of the actor
+ */
+ virtual void setCurrentPosition(const PxVec3& pos) = 0;
+
+ /**
+ \brief Sets the field strength
+ */
+ virtual void setFieldStrength(float) = 0;
+
+ /**
+ \brief Sets the field direction
+ */
+ virtual void setFieldDirection(const PxVec3&) = 0;
+
+ /**
+ \brief Enable/Disable the field simulation
+ */
+ virtual void setEnabled(bool isEnabled) = 0;
+
+ /**
+ \brief Sets the uniform overall object scale
+ */
+ virtual void setCurrentScale(float scale) = 0;
+
+ /**
+ \brief Retrieves the uniform overall object scale
+ */
+ virtual float getCurrentScale(void) const = 0;
+};
+
+PX_POP_PACK
+
+}
+} // end namespace nvidia::apex
+
+#endif // WIND_FSACTOR_H
diff --git a/APEX_1.4/include/basicfs/WindFSPreview.h b/APEX_1.4/include/basicfs/WindFSPreview.h
new file mode 100644
index 00000000..04b9ed04
--- /dev/null
+++ b/APEX_1.4/include/basicfs/WindFSPreview.h
@@ -0,0 +1,78 @@
+/*
+ * 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 WIND_FSPREVIEW_H
+#define WIND_FSPREVIEW_H
+
+#include "Apex.h"
+#include "AssetPreview.h"
+
+namespace nvidia
+{
+namespace apex
+{
+
+PX_PUSH_PACK_DEFAULT
+
+class RenderDebugInterface;
+
+/**
+ \brief The APEX_WIND namespace contains the defines for setting the preview detail levels.
+
+ WIND_DRAW_NOTHING - draw nothing<BR>
+ WIND_DRAW_ASSET_INFO - draw the asset info in the screen space<BR>
+ WIND_DRAW_FULL_DETAIL - draw all components of the preview<BR>
+*/
+namespace APEX_WIND
+{
+/**
+ \def WIND_DRAW_NOTHING
+ Draw no preview items.
+*/
+static const uint32_t WIND_DRAW_NOTHING = 0x00;
+/**
+ \def WIND_DRAW_ASSET_INFO
+ Draw the Asset Info in Screen Space. This displays the various asset members that are relevant to the current asset.
+ parameters that are not relevant because they are disabled are not displayed.
+*/
+static const uint32_t WIND_DRAW_ASSET_INFO = 0x02;
+/**
+ \def WIND_DRAW_FULL_DETAIL
+ Draw all of the preview rendering items.
+*/
+static const uint32_t WIND_DRAW_FULL_DETAIL = (WIND_DRAW_ASSET_INFO);
+}
+
+/**
+\brief This class provides the asset preview for APEX WindFS Assets. The class provides multiple levels of prevew
+detail that can be selected individually.
+*/
+class WindFSPreview : public AssetPreview
+{
+public:
+ /**
+ Set the detail level of the preview rendering by selecting which features to enable.<BR>
+ Any, all, or none of the following masks may be added together to select what should be drawn.<BR>
+ The defines for the individual items are:<br>
+ WIND_DRAW_NOTHING - draw nothing<BR>
+ WIND_DRAW_ASSET_INFO - draw the asset info in the screen space<BR>
+ WIND_DRAW_FULL_DETAIL - draw all components of the asset preview<BR>
+ All items may be drawn using the macro DRAW_FULL_DETAIL.
+ */
+ virtual void setDetailLevel(uint32_t detail) = 0;
+};
+
+
+PX_POP_PACK
+
+}
+} // namespace nvidia
+
+#endif // WIND_FSPREVIEW_H