29 #ifndef NVBLASTAUTHORINGFCUTOUTIMPL_H 30 #define NVBLASTAUTHORINGFCUTOUTIMPL_H 71 return x == other.
x && y == other.
y;
75 if (x == other.
x)
return y < other.
y;
88 return (uint32_t)cutouts.size() - 1;
93 return (uint32_t)cutoutLoops[cutouts[cutoutIndex] + loopIndex].vertices.size();
97 return (uint32_t)cutouts[cutoutIndex + 1] - cutouts[cutoutIndex];
100 const NvcVec3& getCutoutVertex(uint32_t cutoutIndex, uint32_t loopIndex, uint32_t vertexIndex)
const;
104 auto& vRef = cutoutLoops[cutouts[cutoutIndex] + loopIndex].vertices[vertexIndex];
105 for (
auto& v : cutoutLoops[cutouts[cutoutIndex] + loopIndex].smoothingGroups)
107 if ((vRef - v).magnitudeSquared() < 1e-5)
119 const NvcVec2& getDimensions()
const;
136 float segmentationErrorThreshold,
float snapThreshold,
bool periodic,
bool expandGaps);
142 #endif // ifndef NVBLASTAUTHORINGFCUTOUTIMPL_H std::vector< physx::PxVec3 > vertices
Definition: NvBlastExtAuthoringCutoutImpl.h:56
SIMD_FORCE_INLINE const btScalar & x() const
Return the x value.
Definition: btVector3.h:275
Definition: NvBlastExtAuthoringCutout.h:36
Definition: NvBlastExtAuthoringCutoutImpl.h:61
bool operator==(const POINT2D &other) const
Definition: NvBlastExtAuthoringCutoutImpl.h:69
bool operator<(const POINT2D &other) const
Definition: NvBlastExtAuthoringCutoutImpl.h:73
Definition: NvCTypes.h:43
std::vector< physx::PxVec3 > smoothingGroups
Definition: NvBlastExtAuthoringCutoutImpl.h:58
int32_t y
Definition: NvBlastExtAuthoringCutoutImpl.h:67
physx::PxVec2 dimensions
Definition: NvBlastExtAuthoringCutoutImpl.h:132
std::vector< uint32_t > cutouts
Definition: NvBlastExtAuthoringCutoutImpl.h:130
uint32_t getCutoutVertexCount(uint32_t cutoutIndex, uint32_t loopIndex) const
Definition: NvBlastExtAuthoringCutoutImpl.h:91
Definition: NvBlastExtAuthoringCutoutImpl.h:54
Definition: NvBlastExtAuthoringCutoutImpl.h:43
bool isCutoutVertexToggleSmoothingGroup(uint32_t cutoutIndex, uint32_t loopIndex, uint32_t vertexIndex) const
Definition: NvBlastExtAuthoringCutoutImpl.h:102
std::vector< PolyVert > polyVerts
Definition: NvBlastExtAuthoringCutoutImpl.h:51
void release()
Definition: NvBlastExtAuthoringCutoutImpl.h:124
std::vector< Cutout > cutoutLoops
Definition: NvBlastExtAuthoringCutoutImpl.h:129
SIMD_FORCE_INLINE const btScalar & y() const
Return the y value.
Definition: btVector3.h:277
void createCutoutSet(Nv::Blast::CutoutSetImpl &cutoutSet, const uint8_t *pixelBuffer, uint32_t bufferWidth, uint32_t bufferHeight, float segmentationErrorThreshold, float snapThreshold, bool periodic, bool expandGaps)
int32_t x
Definition: NvBlastExtAuthoringCutoutImpl.h:66
uint32_t getCutoutLoopCount(uint32_t cutoutIndex) const
Definition: NvBlastExtAuthoringCutoutImpl.h:95
Definition: NvBlastExtAuthoringCutoutImpl.h:80
bool isPeriodic() const
Definition: NvBlastExtAuthoringCutoutImpl.h:115
Definition: NvBlastExtAuthoringCutoutImpl.h:49
POINT2D()
Definition: NvBlastExtAuthoringCutoutImpl.h:63
POINT2D(int32_t _x, int32_t _y)
Definition: NvBlastExtAuthoringCutoutImpl.h:64
uint16_t flags
Definition: NvBlastExtAuthoringCutoutImpl.h:46
Definition: NvBlastArray.h:37
bool periodic
Definition: NvBlastExtAuthoringCutoutImpl.h:131
CutoutSetImpl()
Definition: NvBlastExtAuthoringCutoutImpl.h:82
Definition: NvCTypes.h:49
uint16_t index
Definition: NvBlastExtAuthoringCutoutImpl.h:45
uint32_t getCutoutCount() const
Definition: NvBlastExtAuthoringCutoutImpl.h:86