aboutsummaryrefslogtreecommitdiff
path: root/APEX_1.4/module/pxparticleios/include/ParticleIosAssetImpl.h
diff options
context:
space:
mode:
authorsschirm <[email protected]>2016-12-23 14:20:36 +0100
committersschirm <[email protected]>2016-12-23 14:56:17 +0100
commitef6937e69e8ee3f409cf9d460d5ad300a65d5924 (patch)
tree710426e8daa605551ce3f34b581897011101c30f /APEX_1.4/module/pxparticleios/include/ParticleIosAssetImpl.h
parentInitial commit: (diff)
downloadphysx-3.4-ef6937e69e8ee3f409cf9d460d5ad300a65d5924.tar.xz
physx-3.4-ef6937e69e8ee3f409cf9d460d5ad300a65d5924.zip
PhysX 3.4 / APEX 1.4 release candidate @21506124
Diffstat (limited to 'APEX_1.4/module/pxparticleios/include/ParticleIosAssetImpl.h')
-rw-r--r--APEX_1.4/module/pxparticleios/include/ParticleIosAssetImpl.h332
1 files changed, 0 insertions, 332 deletions
diff --git a/APEX_1.4/module/pxparticleios/include/ParticleIosAssetImpl.h b/APEX_1.4/module/pxparticleios/include/ParticleIosAssetImpl.h
deleted file mode 100644
index daea8d91..00000000
--- a/APEX_1.4/module/pxparticleios/include/ParticleIosAssetImpl.h
+++ /dev/null
@@ -1,332 +0,0 @@
-/*
- * 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 PARTICLE_IOS_ASSET_IMPL_H
-#define PARTICLE_IOS_ASSET_IMPL_H
-
-#include "Apex.h"
-#include "iofx/IofxAsset.h"
-#include "ParticleIosAsset.h"
-#include "InstancedObjectSimulationIntl.h"
-#include "ApexSDKHelpers.h"
-#include "ApexAssetAuthoring.h"
-#include "ApexString.h"
-#include "ResourceProviderIntl.h"
-#include "ApexAuthorableObject.h"
-#include "ParticleIosAssetParam.h"
-#include "ApexAssetTracker.h"
-#include "ApexUsingNamespace.h"
-#include "ApexRWLockable.h"
-#include "ReadCheck.h"
-#include "WriteCheck.h"
-#include "ApexAuthorableObject.h"
-
-namespace nvidia
-{
-
-namespace iofx
-{
-class IofxAsset;
-}
-
-namespace pxparticleios
-{
-
-class ModuleParticleIosImpl;
-class ParticleIosActorImpl;
-
-
-/**
-\brief Descriptor needed to create a ParticleIOS Actor
-*/
-class ParticleIosActorDesc : public ApexDesc
-{
-public:
- ///Radius of a particle (overrides authered value)
- float radius;
- ///Density of a particle (overrides authered value)
- float density;
-
- /**
- \brief constructor sets to default.
- */
- PX_INLINE ParticleIosActorDesc() : ApexDesc()
- {
- init();
- }
-
- /**
- \brief sets members to default values.
- */
- PX_INLINE void setToDefault()
- {
- ApexDesc::setToDefault();
- init();
- }
-
- /**
- \brief checks if this is a valid descriptor.
- */
- PX_INLINE bool isValid() const
- {
- if (!ApexDesc::isValid())
- {
- return false;
- }
-
- return true;
- }
-
-private:
-
- PX_INLINE void init()
- {
- // authored values will be used where these default values remain
- radius = 0.0f;
- density = 0.0f;
- }
-};
-
-class ParticleIosAssetImpl : public ParticleIosAsset,
- public ApexResourceInterface,
- public ApexResource,
- public ApexRWLockable
-{
- friend class ParticleIosAssetDummyAuthoring;
-public:
- APEX_RW_LOCKABLE_BOILERPLATE
-
- ParticleIosAssetImpl(ModuleParticleIosImpl*, ResourceList&, const char*);
- ParticleIosAssetImpl(ModuleParticleIosImpl* module, ResourceList&, NvParameterized::Interface*, const char*);
- ~ParticleIosAssetImpl();
-
- // Asset
- void release();
- const char* getName(void) const
- {
- return mName.c_str();
- }
- AuthObjTypeID getObjTypeID() const
- {
- return mAssetTypeID;
- }
- const char* getObjTypeName() const
- {
- return getClassName();
- }
- uint32_t forceLoadAssets();
-
- Actor* createIosActor(Scene& scene, IofxAsset* iofxAsset);
- void releaseIosActor(Actor&);
- bool getSupportsDensity() const
- {
- READ_ZONE();
- return mParams->DensityBuffer;
- }
- bool isValidForActorCreation(const ::NvParameterized::Interface& /*actorParams*/, Scene& /*apexScene*/) const
- {
- return true;
- }
-
- bool isDirty() const
- {
- return false;
- }
-
-
- // Private API for this module only
- ParticleIosActorImpl* getIosActorInScene(Scene& scene, bool mesh) const;
-
- // ApexResourceInterface methods
- void setListIndex(ResourceList& list, uint32_t index)
- {
- m_listIndex = index;
- m_list = &list;
- }
- uint32_t getListIndex() const
- {
- return m_listIndex;
- }
-
- float getParticleRadius() const
- {
- READ_ZONE();
- return mParams->particleRadius;
- }
- //float getRestDensity() const { return mParams->restDensity; }
- float getMaxInjectedParticleCount() const
- {
- READ_ZONE();
- return mParams->maxInjectedParticleCount;
- }
- uint32_t getMaxParticleCount() const
- {
- READ_ZONE();
- return mParams->maxParticleCount;
- }
- const char* getParticleTypeClassName() const
- {
- return mParams->particleType->className();
- }
- const ParticleIosAssetParam* getParticleDesc() const
- {
- return mParams;
- }
- float getParticleMass() const
- {
- READ_ZONE();
- return mParams->particleMass;
- }
-
- const NvParameterized::Interface* getAssetNvParameterized() const
- {
- READ_ZONE();
- return mParams;
- }
- /**
- * \brief Releases the ApexAsset but returns the NvParameterized::Interface and *ownership* to the caller.
- */
- virtual NvParameterized::Interface* releaseAndReturnNvParameterizedInterface(void)
- {
- NvParameterized::Interface* ret = mParams;
- mParams = NULL;
- release();
- return ret;
- }
-
- NvParameterized::Interface* getDefaultActorDesc()
- {
- READ_ZONE();
- APEX_INVALID_OPERATION("Not yet implemented!");
- return NULL;
- }
-
- NvParameterized::Interface* getDefaultAssetPreviewDesc()
- {
- READ_ZONE();
- APEX_INVALID_OPERATION("Not yet implemented!");
- return NULL;
- }
-
- virtual Actor* createApexActor(const NvParameterized::Interface& /*parms*/, Scene& /*apexScene*/)
- {
- WRITE_ZONE();
- APEX_INVALID_OPERATION("Not yet implemented!");
- return NULL;
- }
-
- virtual AssetPreview* createApexAssetPreview(const NvParameterized::Interface& /*params*/, AssetPreviewScene* /*previewScene*/)
- {
- WRITE_ZONE();
- APEX_INVALID_OPERATION("Not yet implemented!");
- return NULL;
- }
-
-protected:
- virtual void destroy();
-
- static AuthObjTypeID mAssetTypeID;
- static const char* getClassName()
- {
- return PARTICLE_IOS_AUTHORING_TYPE_NAME;
- }
-
- ResourceList mIosActorList;
-
- ModuleParticleIosImpl* mModule;
- ApexSimpleString mName;
-
- ParticleIosAssetParam* mParams;
-
- friend class ModuleParticleIosImpl;
- friend class ParticleIosActorImpl;
- friend class ParticleIosActorCPU;
- friend class ParticleIosActorGPU;
- template <class T_Module, class T_Asset, class T_AssetAuthoring> friend class nvidia::apex::ApexAuthorableObject;
- friend class ParticleIosAuthorableObject;
-};
-
-#ifndef WITHOUT_APEX_AUTHORING
-class ParticleIosAssetAuthoringImpl : public ParticleIosAssetAuthoring, public ApexAssetAuthoring, public ParticleIosAssetImpl
-{
-public:
- APEX_RW_LOCKABLE_BOILERPLATE
-
- ParticleIosAssetAuthoringImpl(ModuleParticleIosImpl* module, ResourceList& list);
- ParticleIosAssetAuthoringImpl(ModuleParticleIosImpl* module, ResourceList& list, const char* name);
- ParticleIosAssetAuthoringImpl(ModuleParticleIosImpl* module, ResourceList& list, NvParameterized::Interface* params, const char* name);
-
- virtual void release();
-
- const char* getName(void) const
- {
- READ_ZONE();
- return mName.c_str();
- }
- const char* getObjTypeName() const
- {
- READ_ZONE();
- return ParticleIosAssetImpl::getClassName();
- }
- virtual bool prepareForPlatform(nvidia::apex::PlatformTag)
- {
- WRITE_ZONE();
- APEX_INVALID_OPERATION("Not Implemented.");
- return false;
- }
- void setToolString(const char* toolName, const char* toolVersion, uint32_t toolChangelist)
- {
- WRITE_ZONE();
- ApexAssetAuthoring::setToolString(toolName, toolVersion, toolChangelist);
- }
-
- void setParticleRadius(float radius)
- {
- mParams->particleRadius = radius;
- }
- //void setRestDensity( float density ) { mParams->restDensity = density; }
- void setMaxInjectedParticleCount(float count)
- {
- mParams->maxInjectedParticleCount = count;
- }
- void setMaxParticleCount(uint32_t count)
- {
- mParams->maxParticleCount = count;
- }
- void setParticleMass(float mass)
- {
- mParams->particleMass = mass;
- }
-
- void setCollisionGroupName(const char* collisionGroupName);
- void setCollisionGroupMaskName(const char* collisionGroupMaskName);
-
- NvParameterized::Interface* getNvParameterized() const
- {
- return (NvParameterized::Interface*)getAssetNvParameterized();
- }
- /**
- * \brief Releases the ApexAsset but returns the NvParameterized::Interface and *ownership* to the caller.
- */
- virtual NvParameterized::Interface* releaseAndReturnNvParameterizedInterface(void)
- {
- NvParameterized::Interface* ret = mParams;
- mParams = NULL;
- release();
- return ret;
- }
-};
-#endif
-
-}
-} // namespace nvidia
-
-#endif // PARTICLE_IOS_ASSET_IMPL_H