sdk/extensions/authoring/include/NvBlastExtAuthoringCutout.h

Go to the documentation of this file.
00001 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
00002 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
00003 //
00004 // Information and code furnished is believed to be accurate and reliable.
00005 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
00006 // information or for any infringement of patents or other rights of third parties that may
00007 // result from its use. No license is granted by implication or otherwise under any patent
00008 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
00009 // This code supersedes and replaces all information previously supplied.
00010 // NVIDIA Corporation products are not authorized for use as critical
00011 // components in life support devices or systems without express written approval of
00012 // NVIDIA Corporation.
00013 //
00014 // Copyright (c) 2016-2018 NVIDIA Corporation. All rights reserved.
00015 
00016 #ifndef NVBLASTAUTHORINGCUTOUT_H
00017 #define NVBLASTAUTHORINGCUTOUT_H
00018 
00019 #include "NvBlastExtAuthoringTypes.h"
00020 
00021 
00022 namespace Nv
00023 {
00024 namespace Blast
00025 {
00026 
00036 class CutoutSet
00037 {
00038 public:
00040     virtual uint32_t                getCutoutCount() const = 0;
00041 
00046     virtual uint32_t                getCutoutVertexCount(uint32_t cutoutIndex) const = 0;
00047 
00052     virtual uint32_t                getCutoutLoopCount(uint32_t cutoutIndex) const = 0;
00053 
00058     virtual const physx::PxVec3&    getCutoutVertex(uint32_t cutoutIndex, uint32_t vertexIndex) const = 0;
00059 
00064     virtual uint32_t                getCutoutLoopSize(uint32_t coutoutIndex, uint32_t loopIndex) const = 0;
00065 
00071     virtual uint32_t                getCutoutLoopVertexIndex(uint32_t cutoutIndex, uint32_t loopIndex, uint32_t vertexNum) const = 0;
00072 
00078     virtual uint32_t                getCutoutLoopVertexFlags(uint32_t cutoutIndex, uint32_t loopIndex, uint32_t vertexNum) const = 0;
00079 
00083     virtual bool                    isPeriodic() const = 0;
00084 
00088     virtual const physx::PxVec2&    getDimensions() const = 0;
00089 
00091     //virtual void          serialize(physx::PxFileBuf& stream) const = 0;
00092     //virtual void          deserialize(physx::PxFileBuf& stream) = 0;
00093 
00095     virtual void                    release() = 0;
00096 
00097 protected:
00099     virtual                         ~CutoutSet() {}
00100 };
00101 
00102 } // namespace Blast
00103 } // namespace Nv
00104 
00105 
00106 #endif // idndef NVBLASTAUTHORINGCUTOUT_H