diff options
Diffstat (limited to 'APEX_1.4/module/basicfs/include/BasicFSActor.h')
| -rw-r--r-- | APEX_1.4/module/basicfs/include/BasicFSActor.h | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/APEX_1.4/module/basicfs/include/BasicFSActor.h b/APEX_1.4/module/basicfs/include/BasicFSActor.h new file mode 100644 index 00000000..92898907 --- /dev/null +++ b/APEX_1.4/module/basicfs/include/BasicFSActor.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 __BASIC_FS_ACTOR_H__ +#define __BASIC_FS_ACTOR_H__ + +#include "Apex.h" + +#include "ApexActor.h" +#include "FieldSamplerIntl.h" +#include "BasicFSAssetImpl.h" + +#include "PxTask.h" + +#if APEX_CUDA_SUPPORT +#include "ApexCudaWrapper.h" +#endif + + +namespace nvidia +{ +namespace apex +{ +class RenderMeshActor; +} +namespace basicfs +{ + +class BasicFSScene; + +class BasicFSActor : public ApexActor, public ApexResourceInterface, public ApexResource, public FieldSamplerIntl +{ +public: + BasicFSActor(BasicFSScene&); + virtual ~BasicFSActor(); + + /* ApexResourceInterface, ApexResource */ + uint32_t getListIndex() const + { + return m_listIndex; + } + void setListIndex(class ResourceList& list, uint32_t index) + { + m_list = &list; + m_listIndex = index; + } + + virtual void visualize() + { + } + + virtual void simulate(float dt) + { + PX_UNUSED(dt); + } + + void setPhysXScene(PxScene*); + PxScene* getPhysXScene() const; + + /* FieldSamplerIntl */ + virtual bool updateFieldSampler(FieldShapeDescIntl& shapeDesc, bool& isEnabled) = 0; + +protected: + BasicFSScene* mScene; + + PxTransform mPose; + float mScale; + + bool mFieldSamplerChanged; + bool mFieldSamplerEnabled; + + float mFieldWeight; + + friend class BasicFSScene; +}; + +} +} // end namespace nvidia + +#endif |