APEX Framework: RenderVolume.h Source File

NVIDIA APEX

RenderVolume.h
00001 /*
00002  * Copyright (c) 2008-2017, NVIDIA CORPORATION.  All rights reserved.
00003  *
00004  * NVIDIA CORPORATION and its licensors retain all intellectual property
00005  * and proprietary rights in and to this software, related documentation
00006  * and any modifications thereto.  Any use, reproduction, disclosure or
00007  * distribution of this software and related documentation without an express
00008  * license agreement from NVIDIA CORPORATION is strictly prohibited.
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 } // namespace nvidia
00109 
00110 #endif // RENDER_VOLUME_H

Generated on Fri Dec 15 2017 13:58:35
Copyright © 2012-2017 NVIDIA Corporation, 2701 San Tomas Expressway, Santa Clara, CA 95050 U.S.A. All rights reserved.