Package physx.cooking

Enum Class PxConvexFlagEnum

java.lang.Object
java.lang.Enum<PxConvexFlagEnum>
physx.cooking.PxConvexFlagEnum
All Implemented Interfaces:
Serializable, Comparable<PxConvexFlagEnum>, Constable

public enum PxConvexFlagEnum extends Enum<PxConvexFlagEnum>
Flags which describe the format and behavior of a convex mesh.
  • Enum Constant Details

    • e16_BIT_INDICES

      public static final PxConvexFlagEnum 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: #PxConvexMeshDesc.indices
    • eCOMPUTE_CONVEX

      public static final PxConvexFlagEnum eCOMPUTE_CONVEX
      Automatically recomputes the hull from the vertices. If this flag is not set, you must provide the entire geometry manually.

      Note: There are two different algorithms for hull computation, please see PxConvexMeshCookingType.

      See also: PxConvexMeshCookingType

    • eCHECK_ZERO_AREA_TRIANGLES

      public static final PxConvexFlagEnum eCHECK_ZERO_AREA_TRIANGLES
      Checks and removes almost zero-area triangles during convex hull computation. The rejected area size is specified in PxCookingParams::areaTestEpsilon

      Note: This flag is only used in combination with eCOMPUTE_CONVEX.

      See also: PxCookingParams PxCookingParams::areaTestEpsilon

    • eQUANTIZE_INPUT

      public static final PxConvexFlagEnum eQUANTIZE_INPUT
      Quantizes the input vertices using the k-means clustering

      Note: The input vertices are quantized to PxConvexMeshDesc::quantizedCount see http://en.wikipedia.org/wiki/K-means_clustering

    • eDISABLE_MESH_VALIDATION

      public static final PxConvexFlagEnum 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: PxCooking::validateConvexMesh

    • ePLANE_SHIFTING

      public static final PxConvexFlagEnum 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

      public static final PxConvexFlagEnum 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

      public static final PxConvexFlagEnum eGPU_COMPATIBLE
    • eSHIFT_VERTICES

      public static final PxConvexFlagEnum 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. Note: Is used only with eCOMPUTE_CONVEX flag.
  • Field Details

    • value

      public final int value
  • Method Details

    • values

      public static PxConvexFlagEnum[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static PxConvexFlagEnum valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null
    • forValue

      public static PxConvexFlagEnum forValue(int value)