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/include/basicfs | |
| 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/include/basicfs')
| -rw-r--r-- | APEX_1.4/include/basicfs/AttractorFSActor.h | 88 | ||||
| -rw-r--r-- | APEX_1.4/include/basicfs/AttractorFSPreview.h | 91 | ||||
| -rw-r--r-- | APEX_1.4/include/basicfs/BasicFSAsset.h | 57 | ||||
| -rw-r--r-- | APEX_1.4/include/basicfs/JetFSActor.h | 94 | ||||
| -rw-r--r-- | APEX_1.4/include/basicfs/JetFSPreview.h | 85 | ||||
| -rw-r--r-- | APEX_1.4/include/basicfs/ModuleBasicFS.h | 44 | ||||
| -rw-r--r-- | APEX_1.4/include/basicfs/NoiseFSActor.h | 89 | ||||
| -rw-r--r-- | APEX_1.4/include/basicfs/NoiseFSPreview.h | 85 | ||||
| -rw-r--r-- | APEX_1.4/include/basicfs/VortexFSActor.h | 130 | ||||
| -rw-r--r-- | APEX_1.4/include/basicfs/VortexFSPreview.h | 90 | ||||
| -rw-r--r-- | APEX_1.4/include/basicfs/WindFSActor.h | 93 | ||||
| -rw-r--r-- | APEX_1.4/include/basicfs/WindFSPreview.h | 78 |
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 |