Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef RENDER_VOLUME_H
00013 #define RENDER_VOLUME_H
00014
00015 #include "Apex.h"
00016
00017 namespace nvidia
00018 {
00019 namespace apex
00020 {
00021
00022 PX_PUSH_PACK_DEFAULT
00023
00024 class IofxAsset;
00025 class IofxActor;
00026
00037 class RenderVolume : public ApexInterface
00038 {
00039 public:
00041 virtual physx::PxBounds3 getBounds() const = 0;
00042
00044 virtual bool getAffectsAllIofx() const = 0;
00045
00047 virtual bool addIofxAsset(IofxAsset& iofx) = 0;
00048
00050 virtual void setPosition(const PxVec3& pos) = 0;
00051
00053 virtual void setOwnershipBounds(const PxBounds3& b) = 0;
00054
00056 virtual PxBounds3 getOwnershipBounds() const = 0;
00057
00073 virtual IofxActor* const* lockIofxActorList(uint32_t& count) = 0;
00074
00079 virtual void unlockIofxActorList() = 0;
00080
00089 virtual IofxAsset* const* getIofxAssetList(uint32_t& count) const = 0;
00090
00091 virtual PxVec3 getPosition() const = 0;
00092 virtual uint32_t getPriority() const = 0;
00093
00099 virtual bool affectsIofxAsset(const IofxAsset& iofx) const = 0;
00100
00101 protected:
00102 virtual ~RenderVolume() {}
00103 };
00104
00105 PX_POP_PACK
00106
00107 }
00108 }
00109
00110 #endif // RENDER_VOLUME_H