PxConvexFlag Struct Reference

Flags which describe the format and behavior of a convex mesh. More...

#include <PxConvexMeshDesc.h>

List of all members.

Public Types

enum  Enum {
  e16_BIT_INDICES = (1<<0),
  eCOMPUTE_CONVEX = (1<<1),
  eINFLATE_CONVEX = (1<<3),
  eQUANTIZE_INPUT = (1 << 4),
  ePLANE_SHIFTING = (1 << 6),
  eGPU_COMPATIBLE = (1 << 8),
  eSHIFT_VERTICES = (1 << 9)

Detailed Description

Flags which describe the format and behavior of a convex mesh.

Member Enumeration Documentation

e16_BIT_INDICES  Denotes the use of 16-bit vertex indices in PxConvexMeshDesc::triangles or PxConvexMeshDesc::polygons. (otherwise, 32-bit indices are assumed)
See also:
eCOMPUTE_CONVEX  Automatically recomputes the hull from the vertices. If this flag is not set, you must provide the entire geometry manually.

There are two different algorithms for hull computation, please see PxConvexMeshCookingType.
See also:
eCHECK_ZERO_AREA_TRIANGLES  Checks and removes almost zero-area triangles during convex hull computation. The rejected area size is specified in PxCookingParams::areaTestEpsilon.

This flag is only used in combination with eCOMPUTE_CONVEX.

If this flag is used in combination with eINFLATE_CONVEX, the newly added triangles by the inflation algorithm are not checked (size of the triangles depends on PxCooking::skinWidth).

See also:
PxCookingParams PxCookingParams::areaTestEpsilon
eINFLATE_CONVEX  Inflates the convex points according to skin width.

eINFLATE_CONVEX flag has been deprecated. The flag is automatically used when PxConvexMeshCookingType::eINFLATION_INCREMENTAL_HULL is set. The default algorithm PxConvexMeshCookingType::eQUICK_HULL ignores this flag, inflation is not used.
See also:
PxCookingParams PxConvexMeshCookingType
eQUANTIZE_INPUT  Quantizes the input vertices using the k-means clustering.

The input vertices are quantized to PxConvexMeshDesc::quantizedCount see http://en.wikipedia.org/wiki/K-means_clustering
eDISABLE_MESH_VALIDATION  Disables the convex mesh validation to speed-up hull creation. Please use separate validation function in checked/debug builds. Creating a convex mesh with invalid input data without prior validation may result in undefined behavior.

See also:
ePLANE_SHIFTING  Enables plane shifting vertex limit algorithm.

Plane shifting is an alternative algorithm for the case when the computed hull has more vertices than the specified vertex limit.

The default algorithm computes the full hull, and an OBB around the input vertices. This OBB is then sliced with the hull planes until the vertex limit is reached.The default algorithm requires the vertex limit to be set to at least 8, and typically produces results that are much better quality than are produced by plane shifting.

When plane shifting is enabled, the hull computation stops when vertex limit is reached. The hull planes are then shifted to contain all input vertices, and the new plane intersection points are then used to generate the final hull with the given vertex limit.Plane shifting may produce sharp edges to vertices very far away from the input cloud, and does not guarantee that all input vertices are inside the resulting hull.However, it can be used with a vertex limit as low as 4.

eFAST_INERTIA_COMPUTATION  Inertia tensor computation is faster using SIMD code, but the precision is lower, which may result in incorrect inertia for very thin hulls.
eGPU_COMPATIBLE  Convex hulls are created with respect to GPU simulation limitations. Vertex limit is set to 64 and vertex limit per face is internally set to 32.

Can be used only with eCOMPUTE_CONVEX flag.
eSHIFT_VERTICES  Convex hull input vertices are shifted to be around origin to provide better computation stability. It is recommended to provide input vertices around the origin, otherwise use this flag to improve numerical stability.

Is used only with eCOMPUTE_CONVEX flag.

The documentation for this struct was generated from the following file:

Copyright © 2008-2017 NVIDIA Corporation, 2701 San Tomas Expressway, Santa Clara, CA 95050 U.S.A. All rights reserved. www.nvidia.com