29#ifndef GU_CONVEX_EDGE_FLAGS_H
30#define GU_CONVEX_EDGE_FLAGS_H
32#include "foundation/PxSimpleTypes.h"
38 enum ExtraTrigDataFlag
40 ETD_SILHOUETTE_EDGE_01 = (1 << 0),
41 ETD_SILHOUETTE_EDGE_12 = (1 << 1),
42 ETD_SILHOUETTE_EDGE_20 = (1 << 2),
43 ETD_CONVEX_EDGE_01 = (1<<3),
44 ETD_CONVEX_EDGE_12 = (1<<4),
45 ETD_CONVEX_EDGE_20 = (1<<5),
47 ETD_CONVEX_EDGE_ALL = ETD_CONVEX_EDGE_01|ETD_CONVEX_EDGE_12|ETD_CONVEX_EDGE_20
51 PX_FORCE_INLINE PxU8 getConvexEdgeFlags(
const PxU8* extraTrigData, PxU32 triangleIndex)
53 return extraTrigData ? extraTrigData[triangleIndex] : PxU8(ETD_CONVEX_EDGE_ALL);
63 const PxU8 convex01 = extraData & Gu::ETD_CONVEX_EDGE_01;
64 const PxU8 convex12 = extraData & Gu::ETD_CONVEX_EDGE_12;
65 const PxU8 convex20 = extraData & Gu::ETD_CONVEX_EDGE_20;
66 const PxU8 silhouette01 = extraData & Gu::ETD_SILHOUETTE_EDGE_01;
67 const PxU8 silhouette12 = extraData & Gu::ETD_SILHOUETTE_EDGE_12;
68 const PxU8 silhouette20 = extraData & Gu::ETD_SILHOUETTE_EDGE_20;
69 extraData = convex12|silhouette12;
71 extraData |= Gu::ETD_CONVEX_EDGE_20;
73 extraData |= Gu::ETD_CONVEX_EDGE_01;
75 extraData |= Gu::ETD_SILHOUETTE_EDGE_20;
77 extraData |= Gu::ETD_SILHOUETTE_EDGE_01;
#define PX_FORCE_INLINE
Definition PxPreprocessor.h:335
Sorts an array of objects in ascending order, assuming that the predicate implements the < operator:
Definition PxBoxController.h:39