/* * Copyright (c) 2016-2017, 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 NVBLASTEXTPXACTOR_H #define NVBLASTEXTPXACTOR_H #include "NvBlastTypes.h" // Forward declarations namespace physx { class PxRigidDynamic; } namespace Nv { namespace Blast { // Forward declarations class ExtPxFamily; class TkActor; /** Actor. Corresponds one to one to PxRigidDynamic and ExtActor. */ class ExtPxActor { public: /** Get the number of visible chunks for this actor. May be used in conjunction with getChunkIndices(). \return the number of visible chunk indices for the actor. */ virtual uint32_t getChunkCount() const = 0; /** Access actor's array of chunk indices. Use getChunkCount() to get a size of this array. \return a pointer to an array of chunk indices of an actor. */ virtual const uint32_t* getChunkIndices() const = 0; /** Every actor has corresponding PxActor. /return a pointer to PxRigidDynamic actor. */ virtual physx::PxRigidDynamic& getPhysXActor() const = 0; /** Every actor has corresponding TkActor. /return a pointer to TkActor actor. */ virtual TkActor& getTkActor() const = 0; /** Every actor has corresponding ExtPxFamily. /return a pointer to ExtPxFamily family. */ virtual ExtPxFamily& getFamily() const = 0; }; } // namespace Blast } // namespace Nv #endif // ifndef NVBLASTEXTPXACTOR_H