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-2020 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, uint32_t loopIndex) const = 0;
00047 
00052     virtual uint32_t                getCutoutLoopCount(uint32_t cutoutIndex) const = 0;
00053 
00058     virtual const NvcVec3&          getCutoutVertex(uint32_t cutoutIndex, uint32_t loopIndex, uint32_t vertexIndex) const = 0;
00059 
00063     virtual bool                    isCutoutVertexToggleSmoothingGroup(uint32_t cutoutIndex, uint32_t loopIndex, uint32_t vertexIndex) const = 0;
00064 
00068     virtual bool                    isPeriodic() const = 0;
00069 
00073     virtual const NvcVec2&          getDimensions() const = 0;
00074 
00076     virtual void                    release() = 0;
00077 
00078 protected:
00080     virtual                         ~CutoutSet() {}
00081 };
00082 
00083 } // namespace Blast
00084 } // namespace Nv
00085 
00086 
00087 #endif // idndef NVBLASTAUTHORINGCUTOUT_H