PxTriangleMeshAnalysisResult
Defined in include/extensions/PxTriangleMeshAnalysisResult.h
-
class PxTriangleMeshAnalysisResult
These flags indicate what kind of deficiencies a triangle mesh has and describe if the mesh is considered ok, problematic or invalid for tetmeshing.
Public Types
-
enum Enum
Values:
-
enumerator eVALID
-
enumerator eZERO_VOLUME
invalid: Flat mesh without meaningful amount of volume - cannot be meshed since a tetmesh is volumetric
-
enumerator eOPEN_BOUNDARIES
problematic: Open boundary means that the mesh is not watertight and that there are holes. The mesher can fill holes but the surface might have an unexpected shape where the hole was.
-
enumerator eSELF_INTERSECTIONS
problematic: The surface of the resulting mesh won’t match exactly at locations of self-intersections. The tetmesh might be connected at self-intersections even if the input triangle mesh is not
-
enumerator eINCONSISTENT_TRIANGLE_ORIENTATION
invalid: It is not possible to distinguish what is inside and outside of the mesh. If there are no self-intersections and not edges shared by more than two triangles, a call to makeTriOrientationConsistent can fix this. Without fixing it, the output from the tetmesher will be incorrect
-
enumerator eCONTAINS_ACUTE_ANGLED_TRIANGLES
problematic: An ideal mesh for a softbody has triangles with similar angles and evenly distributed vertices. Acute angles can be handled but might lead to a poor quality tetmesh.
-
enumerator eEDGE_SHARED_BY_MORE_THAN_TWO_TRIANGLES
problematic: Border case of a self-intersecting mesh. The tetmesh might not match the surace exactly near such edges.
-
enumerator eCONTAINS_DUPLICATE_POINTS
ok: Duplicate points can be handled by the mesher without problems. The resulting tetmesh will only make use of first unique point that is found, duplicate points will get mapped to that unique point in the tetmesh. Therefore the tetmesh can contain points that are not accessed by a tet.
-
enumerator eCONTAINS_INVALID_POINTS
invalid: Points contain NAN, infinity or similar values that will lead to an invalid mesh
-
enumerator eREQUIRES_32BIT_INDEX_BUFFER
invalid: Mesh contains more indices than a 16bit index buffer can address
-
enumerator eTRIANGLE_INDEX_OUT_OF_RANGE
invalid: A mesh triangle index is negative or lager than the size of the vertex buffer
-
enumerator eMESH_IS_PROBLEMATIC
flag is set if the mesh is categorized as problematic
-
enumerator eMESH_IS_INVALID
flag is set if the mesh is categorized as invalid
-
enumerator eVALID
-
enum Enum