Files
PhysX4.1/physx/documentation/PhysXAPI/files/structPxCookingParams.html
2025-11-28 23:13:44 +05:30

398 lines
28 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>PxCookingParams Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="PhysXLogoBlack.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('structPxCookingParams.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="structPxCookingParams-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">PxCookingParams Struct Reference<div class="ingroups"><a class="el" href="group__cooking.html">Cooking</a></div></div> </div>
</div><!--header-->
<div class="contents">
<p>Structure describing parameters affecting mesh cooking.
<a href="structPxCookingParams.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="PxCooking_8h_source.html">PxCooking.h</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for PxCookingParams:</div>
<div class="dyncontent">
<div class="center"><img src="structPxCookingParams__coll__graph.png" border="0" usemap="#PxCookingParams_coll__map" alt="Collaboration graph"/></div>
<map name="PxCookingParams_coll__map" id="PxCookingParams_coll__map">
<area shape="rect" id="node2" href="classPxMidphaseDesc.html" title="Structure describing parameters affecting midphase mesh structure. " alt="" coords="121,102,245,129"/>
<area shape="rect" id="node3" href="structPxBVH34MidphaseDesc.html" title="Structure describing parameters affecting BVH34 midphase mesh structure. " alt="" coords="5,5,171,32"/>
<area shape="rect" id="node4" href="structPxBVH33MidphaseDesc.html" title="Structure describing parameters affecting BVH33 midphase mesh structure. " alt="" coords="195,5,360,32"/>
<area shape="rect" id="node5" href="classPxTolerancesScale.html" title="Class to define the scale at which simulation runs. Most simulation tolerances are calculated in term..." alt="" coords="269,102,403,129"/>
<area shape="rect" id="node6" href="classPxFlags.html" title="PxFlags\&lt; PxMeshPreprocessing\lFlag::Enum, PxU32 \&gt;" alt="" coords="428,95,641,136"/>
</map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a738bc9799f789da5c453cadae5eaec47"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPxCookingParams.html#a738bc9799f789da5c453cadae5eaec47">PxCookingParams</a> (const <a class="el" href="classPxTolerancesScale.html">PxTolerancesScale</a> &amp;sc)</td></tr>
<tr class="separator:a738bc9799f789da5c453cadae5eaec47"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:aec2fbb426b8c0bb2daee1e31b8e2adc2"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPxCookingParams.html#aec2fbb426b8c0bb2daee1e31b8e2adc2">areaTestEpsilon</a></td></tr>
<tr class="memdesc:aec2fbb426b8c0bb2daee1e31b8e2adc2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Zero-size area epsilon used in convex hull computation. <a href="#aec2fbb426b8c0bb2daee1e31b8e2adc2">More...</a><br /></td></tr>
<tr class="separator:aec2fbb426b8c0bb2daee1e31b8e2adc2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45e4d60211cdd58d80a10dad39da64c9"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPxCookingParams.html#a45e4d60211cdd58d80a10dad39da64c9">planeTolerance</a></td></tr>
<tr class="memdesc:a45e4d60211cdd58d80a10dad39da64c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Plane tolerance used in convex hull computation. <a href="#a45e4d60211cdd58d80a10dad39da64c9">More...</a><br /></td></tr>
<tr class="separator:a45e4d60211cdd58d80a10dad39da64c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbc71c4ade3b80715855125413d58f97"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structPxConvexMeshCookingType.html#a5a2ae723aca74c185675cd7ba2c9c115">PxConvexMeshCookingType::Enum</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPxCookingParams.html#afbc71c4ade3b80715855125413d58f97">convexMeshCookingType</a></td></tr>
<tr class="memdesc:afbc71c4ade3b80715855125413d58f97"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convex hull creation algorithm. <a href="#afbc71c4ade3b80715855125413d58f97">More...</a><br /></td></tr>
<tr class="separator:afbc71c4ade3b80715855125413d58f97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50426ff06726ccab3f5e0503077778a6"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPxCookingParams.html#a50426ff06726ccab3f5e0503077778a6">suppressTriangleMeshRemapTable</a></td></tr>
<tr class="memdesc:a50426ff06726ccab3f5e0503077778a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">When true, the face remap table is not created. This saves a significant amount of memory, but the SDK will not be able to provide the remap information for internal mesh triangles returned by collisions, sweeps or raycasts hits. <a href="#a50426ff06726ccab3f5e0503077778a6">More...</a><br /></td></tr>
<tr class="separator:a50426ff06726ccab3f5e0503077778a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaeff18c0f923a7c886bc29bea730c966"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPxCookingParams.html#aaeff18c0f923a7c886bc29bea730c966">buildTriangleAdjacencies</a></td></tr>
<tr class="memdesc:aaeff18c0f923a7c886bc29bea730c966"><td class="mdescLeft">&#160;</td><td class="mdescRight">When true, the triangle adjacency information is created. You can get the adjacency triangles for a given triangle from getTriangle. <a href="#aaeff18c0f923a7c886bc29bea730c966">More...</a><br /></td></tr>
<tr class="separator:aaeff18c0f923a7c886bc29bea730c966"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9c00d38bdcca1c324bba906706d1c63"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPxCookingParams.html#ad9c00d38bdcca1c324bba906706d1c63">buildGPUData</a></td></tr>
<tr class="memdesc:ad9c00d38bdcca1c324bba906706d1c63"><td class="mdescLeft">&#160;</td><td class="mdescRight">When true, addigional information required for GPU-accelerated rigid body simulation is created. This can increase memory usage and cooking times for convex meshes and triangle meshes. <a href="#ad9c00d38bdcca1c324bba906706d1c63">More...</a><br /></td></tr>
<tr class="separator:ad9c00d38bdcca1c324bba906706d1c63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a51be76bb79ac1dd9a2788f54569c60"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classPxTolerancesScale.html">PxTolerancesScale</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPxCookingParams.html#a6a51be76bb79ac1dd9a2788f54569c60">scale</a></td></tr>
<tr class="memdesc:a6a51be76bb79ac1dd9a2788f54569c60"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tolerance scale is used to check if cooked triangles are not too huge. This check will help with simulation stability. <a href="#a6a51be76bb79ac1dd9a2788f54569c60">More...</a><br /></td></tr>
<tr class="separator:a6a51be76bb79ac1dd9a2788f54569c60"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6561b14b68f097c135fe6d83f68908ce"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__cooking.html#ga0a0051ee56690c138fac87d780cca9b4">PxMeshPreprocessingFlags</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPxCookingParams.html#a6561b14b68f097c135fe6d83f68908ce">meshPreprocessParams</a></td></tr>
<tr class="memdesc:a6561b14b68f097c135fe6d83f68908ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mesh pre-processing parameters. Used to control options like whether the mesh cooking performs vertex welding before cooking. <a href="#a6561b14b68f097c135fe6d83f68908ce">More...</a><br /></td></tr>
<tr class="separator:a6561b14b68f097c135fe6d83f68908ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19bb7e28765df5c8ec1a86a45004c7b6"><td class="memItemLeft" align="right" valign="top">PxReal&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPxCookingParams.html#a19bb7e28765df5c8ec1a86a45004c7b6">meshWeldTolerance</a></td></tr>
<tr class="memdesc:a19bb7e28765df5c8ec1a86a45004c7b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mesh weld tolerance. If mesh welding is enabled, this controls the distance at which vertices are welded. If mesh welding is not enabled, this value defines the acceptance distance for mesh validation. Provided no two vertices are within this distance, the mesh is considered to be clean. If not, a warning will be emitted. Having a clean, welded mesh is required to achieve the best possible performance. <a href="#a19bb7e28765df5c8ec1a86a45004c7b6">More...</a><br /></td></tr>
<tr class="separator:a19bb7e28765df5c8ec1a86a45004c7b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8015768aa6024f1283cab006abdb63b5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classPxMidphaseDesc.html">PxMidphaseDesc</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPxCookingParams.html#a8015768aa6024f1283cab006abdb63b5">midphaseDesc</a></td></tr>
<tr class="memdesc:a8015768aa6024f1283cab006abdb63b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Controls the desired midphase desc structure for triangle meshes. <a href="#a8015768aa6024f1283cab006abdb63b5">More...</a><br /></td></tr>
<tr class="separator:a8015768aa6024f1283cab006abdb63b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6be147977f9bd24a55dc3cd16ed390bc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__foundation.html#gacce5749db3dcfb916e98c253374264ed">PxU32</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structPxCookingParams.html#a6be147977f9bd24a55dc3cd16ed390bc">gaussMapLimit</a></td></tr>
<tr class="memdesc:a6be147977f9bd24a55dc3cd16ed390bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vertex limit beyond which additional acceleration structures are computed for each convex mesh. Increase that limit to reduce memory usage. Computing the extra structures all the time does not guarantee optimal performance. There is a per-platform break-even point below which the extra structures actually hurt performance. <a href="#a6be147977f9bd24a55dc3cd16ed390bc">More...</a><br /></td></tr>
<tr class="separator:a6be147977f9bd24a55dc3cd16ed390bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Structure describing parameters affecting mesh cooking. </p>
<dl class="section see"><dt>See also</dt><dd>PxSetCookingParams() PxGetCookingParams() </dd></dl>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a738bc9799f789da5c453cadae5eaec47"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a738bc9799f789da5c453cadae5eaec47">&#9670;&nbsp;</a></span>PxCookingParams()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">PxCookingParams::PxCookingParams </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classPxTolerancesScale.html">PxTolerancesScale</a> &amp;&#160;</td>
<td class="paramname"><em>sc</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="aec2fbb426b8c0bb2daee1e31b8e2adc2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aec2fbb426b8c0bb2daee1e31b8e2adc2">&#9670;&nbsp;</a></span>areaTestEpsilon</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">float PxCookingParams::areaTestEpsilon</td>
</tr>
</table>
</div><div class="memdoc">
<p>Zero-size area epsilon used in convex hull computation. </p>
<p>If the area of a triangle of the hull is below this value, the triangle will be rejected. This test is done only if <a class="el" href="structPxConvexFlag.html#a4b7bd21fa96c72b320a39e880208b4b6a12c7c442cadd1e3474fc613944981c44" title="Checks and removes almost zero-area triangles during convex hull computation. The rejected area size ...">PxConvexFlag::eCHECK_ZERO_AREA_TRIANGLES</a> is used.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structPxConvexFlag.html#a4b7bd21fa96c72b320a39e880208b4b6a12c7c442cadd1e3474fc613944981c44" title="Checks and removes almost zero-area triangles during convex hull computation. The rejected area size ...">PxConvexFlag::eCHECK_ZERO_AREA_TRIANGLES</a></dd></dl>
<p><b>Default value:</b> 0.06f*PxTolerancesScale.length*PxTolerancesScale.length</p>
<p><b>Range:</b> (0.0f, PX_MAX_F32) </p>
</div>
</div>
<a id="ad9c00d38bdcca1c324bba906706d1c63"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad9c00d38bdcca1c324bba906706d1c63">&#9670;&nbsp;</a></span>buildGPUData</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool PxCookingParams::buildGPUData</td>
</tr>
</table>
</div><div class="memdoc">
<p>When true, addigional information required for GPU-accelerated rigid body simulation is created. This can increase memory usage and cooking times for convex meshes and triangle meshes. </p>
<p><b>Default value:</b> false </p>
</div>
</div>
<a id="aaeff18c0f923a7c886bc29bea730c966"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaeff18c0f923a7c886bc29bea730c966">&#9670;&nbsp;</a></span>buildTriangleAdjacencies</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool PxCookingParams::buildTriangleAdjacencies</td>
</tr>
</table>
</div><div class="memdoc">
<p>When true, the triangle adjacency information is created. You can get the adjacency triangles for a given triangle from getTriangle. </p>
<p><b>Default value:</b> false </p>
</div>
</div>
<a id="afbc71c4ade3b80715855125413d58f97"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afbc71c4ade3b80715855125413d58f97">&#9670;&nbsp;</a></span>convexMeshCookingType</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structPxConvexMeshCookingType.html#a5a2ae723aca74c185675cd7ba2c9c115">PxConvexMeshCookingType::Enum</a> PxCookingParams::convexMeshCookingType</td>
</tr>
</table>
</div><div class="memdoc">
<p>Convex hull creation algorithm. </p>
<p><b>Default value:</b> <a class="el" href="structPxConvexMeshCookingType.html#a5a2ae723aca74c185675cd7ba2c9c115a18916173251aae02128c79b69af46906" title="The Quickhull algorithm constructs the hull from the given input points. The resulting hull will only...">PxConvexMeshCookingType::eQUICKHULL</a></p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structPxConvexMeshCookingType.html" title="Enumeration for convex mesh cooking algorithms. ">PxConvexMeshCookingType</a> </dd></dl>
</div>
</div>
<a id="a6be147977f9bd24a55dc3cd16ed390bc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6be147977f9bd24a55dc3cd16ed390bc">&#9670;&nbsp;</a></span>gaussMapLimit</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__foundation.html#gacce5749db3dcfb916e98c253374264ed">PxU32</a> PxCookingParams::gaussMapLimit</td>
</tr>
</table>
</div><div class="memdoc">
<p>Vertex limit beyond which additional acceleration structures are computed for each convex mesh. Increase that limit to reduce memory usage. Computing the extra structures all the time does not guarantee optimal performance. There is a per-platform break-even point below which the extra structures actually hurt performance. </p>
<p><b>Default value:</b> 32 </p>
</div>
</div>
<a id="a6561b14b68f097c135fe6d83f68908ce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6561b14b68f097c135fe6d83f68908ce">&#9670;&nbsp;</a></span>meshPreprocessParams</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__cooking.html#ga0a0051ee56690c138fac87d780cca9b4">PxMeshPreprocessingFlags</a> PxCookingParams::meshPreprocessParams</td>
</tr>
</table>
</div><div class="memdoc">
<p>Mesh pre-processing parameters. Used to control options like whether the mesh cooking performs vertex welding before cooking. </p>
<p><b>Default value:</b> 0 </p>
</div>
</div>
<a id="a19bb7e28765df5c8ec1a86a45004c7b6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a19bb7e28765df5c8ec1a86a45004c7b6">&#9670;&nbsp;</a></span>meshWeldTolerance</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">PxReal PxCookingParams::meshWeldTolerance</td>
</tr>
</table>
</div><div class="memdoc">
<p>Mesh weld tolerance. If mesh welding is enabled, this controls the distance at which vertices are welded. If mesh welding is not enabled, this value defines the acceptance distance for mesh validation. Provided no two vertices are within this distance, the mesh is considered to be clean. If not, a warning will be emitted. Having a clean, welded mesh is required to achieve the best possible performance. </p>
<p>The default vertex welding uses a snap-to-grid approach. This approach effectively truncates each vertex to integer values using meshWeldTolerance. Once these snapped vertices are produced, all vertices that snap to a given vertex on the grid are remapped to reference a single vertex. Following this, all triangles' indices are remapped to reference this subset of clean vertices. It should be noted that the vertices that we do not alter the position of the vertices; the snap-to-grid is only performed to identify nearby vertices.</p>
<p>The mesh validation approach also uses the same snap-to-grid approach to identify nearby vertices. If more than one vertex snaps to a given grid coordinate, we ensure that the distance between the vertices is at least meshWeldTolerance. If this is not the case, a warning is emitted.</p>
<p><b>Default value:</b> 0.0 </p>
</div>
</div>
<a id="a8015768aa6024f1283cab006abdb63b5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8015768aa6024f1283cab006abdb63b5">&#9670;&nbsp;</a></span>midphaseDesc</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classPxMidphaseDesc.html">PxMidphaseDesc</a> PxCookingParams::midphaseDesc</td>
</tr>
</table>
</div><div class="memdoc">
<p>Controls the desired midphase desc structure for triangle meshes. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structPxBVH33MidphaseDesc.html" title="Structure describing parameters affecting BVH33 midphase mesh structure. ">PxBVH33MidphaseDesc</a>, <a class="el" href="structPxBVH34MidphaseDesc.html" title="Structure describing parameters affecting BVH34 midphase mesh structure. ">PxBVH34MidphaseDesc</a>, <a class="el" href="classPxMidphaseDesc.html" title="Structure describing parameters affecting midphase mesh structure. ">PxMidphaseDesc</a></dd></dl>
<p><b>Default value:</b> <a class="el" href="structPxMeshMidPhase.html#a49f740883fbfb1a49631c28818c219f4aa791bfd986fc6edb77db2928e3c5e529" title="Default midphase mesh structure, as used up to PhysX 3.3. ">PxMeshMidPhase::eBVH33</a> </p>
</div>
</div>
<a id="a45e4d60211cdd58d80a10dad39da64c9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a45e4d60211cdd58d80a10dad39da64c9">&#9670;&nbsp;</a></span>planeTolerance</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">float PxCookingParams::planeTolerance</td>
</tr>
</table>
</div><div class="memdoc">
<p>Plane tolerance used in convex hull computation. </p>
<p>The value is used during hull construction. When a new point is about to be added to the hull it gets dropped when the point is closer to the hull than the planeTolerance. The planeTolerance is increased according to the hull size.</p>
<p>If 0.0f is set all points are accepted when the convex hull is created. This may lead to edge cases where the new points may be merged into an existing polygon and the polygons plane equation might slightly change therefore. This might lead to failures during polygon merging phase in the hull computation.</p>
<p>It is recommended to use the default value, however if it is required that all points needs to be accepted or huge thin convexes are created, it might be required to lower the default value.</p>
<dl class="section note"><dt>Note</dt><dd>The plane tolerance is used only within <a class="el" href="structPxConvexMeshCookingType.html#a5a2ae723aca74c185675cd7ba2c9c115a18916173251aae02128c79b69af46906" title="The Quickhull algorithm constructs the hull from the given input points. The resulting hull will only...">PxConvexMeshCookingType::eQUICKHULL</a> algorithm.</dd></dl>
<p><b>Default value:</b> 0.0007f</p>
<p><b>Range:</b> &lt;0.0f, PX_MAX_F32) </p>
</div>
</div>
<a id="a6a51be76bb79ac1dd9a2788f54569c60"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6a51be76bb79ac1dd9a2788f54569c60">&#9670;&nbsp;</a></span>scale</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classPxTolerancesScale.html">PxTolerancesScale</a> PxCookingParams::scale</td>
</tr>
</table>
</div><div class="memdoc">
<p>Tolerance scale is used to check if cooked triangles are not too huge. This check will help with simulation stability. </p>
<dl class="section note"><dt>Note</dt><dd>The <a class="el" href="classPxTolerancesScale.html" title="Class to define the scale at which simulation runs. Most simulation tolerances are calculated in term...">PxTolerancesScale</a> values have to match the values used when creating a <a class="el" href="classPxPhysics.html" title="Abstract singleton factory class used for instancing objects in the Physics SDK. ">PxPhysics</a> or <a class="el" href="classPxScene.html" title="A scene is a collection of bodies and constraints which can interact. ">PxScene</a> instance.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classPxTolerancesScale.html" title="Class to define the scale at which simulation runs. Most simulation tolerances are calculated in term...">PxTolerancesScale</a> </dd></dl>
</div>
</div>
<a id="a50426ff06726ccab3f5e0503077778a6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a50426ff06726ccab3f5e0503077778a6">&#9670;&nbsp;</a></span>suppressTriangleMeshRemapTable</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool PxCookingParams::suppressTriangleMeshRemapTable</td>
</tr>
</table>
</div><div class="memdoc">
<p>When true, the face remap table is not created. This saves a significant amount of memory, but the SDK will not be able to provide the remap information for internal mesh triangles returned by collisions, sweeps or raycasts hits. </p>
<p><b>Default value:</b> false </p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="PxCooking_8h_source.html">PxCooking.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.8.14-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="structPxCookingParams.html">PxCookingParams</a></li>
<li class="footer">Copyright &copy; 2008-2021 NVIDIA Corporation, 2788 San Tomas Expressway, Santa Clara, CA 95051 U.S.A. All rights reserved. <a href="http://www.nvidia.com ">www.nvidia.com</a></li>
</ul>
</div>
</body>
</html>