1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
|
<html>
<head>
<title>NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxCookingParams Struct Reference</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<LINK HREF="NVIDIA.css" REL="stylesheet" TYPE="text/css">
</head>
<body bgcolor="#FFFFFF">
<div id="header">
<hr class="first">
<img alt="" src="images/PhysXlogo.png" align="middle"> <br>
<center>
<a class="qindex" href="main.html">Main Page</a>
<a class="qindex" href="hierarchy.html">Class Hierarchy</a>
<a class="qindex" href="annotated.html">Compound List</a>
<a class="qindex" href="functions.html">Compound Members</a>
</center>
<hr class="second">
</div>
<!-- Generated by Doxygen 1.5.8 -->
<div class="contents">
<h1>PxCookingParams Struct Reference<br>
<small>
[<a class="el" href="group__cooking.html">Cooking</a>]</small>
</h1><!-- doxytag: class="PxCookingParams" -->Structure describing parameters affecting mesh cooking.
<a href="#_details">More...</a>
<p>
<code>#include <<a class="el" href="PxCooking_8h-source.html">PxCooking.h</a>></code>
<p>
<div class="dynheader">
Collaboration diagram for PxCookingParams:</div>
<div class="dynsection">
<p><center><img src="structPxCookingParams__coll__graph.png" border="0" usemap="#PxCookingParams__coll__map" alt="Collaboration graph"></center>
<map name="PxCookingParams__coll__map">
<area shape="rect" href="classPxMidphaseDesc.html" title="Structure describing parameters affecting midphase mesh structure." alt="PxMidphaseDesc" coords="115,107,227,128"><area shape="rect" href="structPxBVH34MidphaseDesc.html" title="Structure describing parameters affecting BVH34 midphase mesh structure." alt="PxBVH34MidphaseDesc" coords="7,16,159,37"><area shape="rect" href="structPxBVH33MidphaseDesc.html" title="Structure describing parameters affecting BVH33 midphase mesh structure." alt="PxBVH33MidphaseDesc" coords="183,16,335,37"><area shape="rect" href="classPxTolerancesScale.html" title="Class to define the scale at which simulation runs. Most simulation tolerances are..." alt="PxTolerancesScale" coords="256,107,376,128"><area shape="rect" href="classPxFlags.html" title="PxFlags\< PxMeshPreprocessingFlag::Enum, PxU32 \>" alt="PxFlags\< PxMeshPreprocessingFlag::Enum, PxU32 \>" coords="400,107,720,128"></map>
<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
<p>
<a href="structPxCookingParams-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structPxCookingParams.html#738bc9799f789da5c453cadae5eaec47">PxCookingParams</a> (const <a class="el" href="classPxTolerancesScale.html">PxTolerancesScale</a> &sc)</td></tr>
<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structPxPlatform.html#c4cfddf519b366f9ee60bdd78a958015">PxPlatform::Enum</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structPxCookingParams.html#90bdebb71061b817755baf22c4d59ac9">targetPlatform</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Target platform. <a href="#90bdebb71061b817755baf22c4d59ac9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">PX_DEPRECATED float </td><td class="memItemRight" valign="bottom"><a class="el" href="structPxCookingParams.html#645572e949b89821e81278a675e89176">skinWidth</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Skin width for convexes. <a href="#645572e949b89821e81278a675e89176"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="structPxCookingParams.html#ec2fbb426b8c0bb2daee1e31b8e2adc2">areaTestEpsilon</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Zero-size area epsilon used in convex hull computation. <a href="#ec2fbb426b8c0bb2daee1e31b8e2adc2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="structPxCookingParams.html#45e4d60211cdd58d80a10dad39da64c9">planeTolerance</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Plane tolerance used in convex hull computation. <a href="#45e4d60211cdd58d80a10dad39da64c9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structPxConvexMeshCookingType.html#5a2ae723aca74c185675cd7ba2c9c115">PxConvexMeshCookingType::Enum</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structPxCookingParams.html#fbc71c4ade3b80715855125413d58f97">convexMeshCookingType</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Convex hull creation algorithm. <a href="#fbc71c4ade3b80715855125413d58f97"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="structPxCookingParams.html#50426ff06726ccab3f5e0503077778a6">suppressTriangleMeshRemapTable</a></td></tr>
<tr><td class="mdescLeft"> </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="#50426ff06726ccab3f5e0503077778a6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="structPxCookingParams.html#aeff18c0f923a7c886bc29bea730c966">buildTriangleAdjacencies</a></td></tr>
<tr><td class="mdescLeft"> </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="#aeff18c0f923a7c886bc29bea730c966"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="structPxCookingParams.html#d9c00d38bdcca1c324bba906706d1c63">buildGPUData</a></td></tr>
<tr><td class="mdescLeft"> </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="#d9c00d38bdcca1c324bba906706d1c63"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classPxTolerancesScale.html">PxTolerancesScale</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structPxCookingParams.html#6a51be76bb79ac1dd9a2788f54569c60">scale</a></td></tr>
<tr><td class="mdescLeft"> </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="#6a51be76bb79ac1dd9a2788f54569c60"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classPxFlags.html">PxMeshPreprocessingFlags</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structPxCookingParams.html#6561b14b68f097c135fe6d83f68908ce">meshPreprocessParams</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Mesh pre-processing parameters. Used to control options like whether the mesh cooking performs vertex welding before cooking. <a href="#6561b14b68f097c135fe6d83f68908ce"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">PX_DEPRECATED <br class="typebreak">
<a class="el" href="structPxMeshCookingHint.html#f88f4aeeaffd545c26bc9b5215303796">PxMeshCookingHint::Enum</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structPxCookingParams.html#3cd5e4ba954507ba48882fcd806f66e3">meshCookingHint</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Mesh cooking hint. Used to specify mesh hierarchy construction preference. <a href="#3cd5e4ba954507ba48882fcd806f66e3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">PX_DEPRECATED PxF32 </td><td class="memItemRight" valign="bottom"><a class="el" href="structPxCookingParams.html#72e8ee721f648af02c40db8162bb07e8">meshSizePerformanceTradeOff</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Controls the trade-off between mesh size and runtime performance. <a href="#72e8ee721f648af02c40db8162bb07e8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">PxReal </td><td class="memItemRight" valign="bottom"><a class="el" href="structPxCookingParams.html#19bb7e28765df5c8ec1a86a45004c7b6">meshWeldTolerance</a></td></tr>
<tr><td class="mdescLeft"> </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="#19bb7e28765df5c8ec1a86a45004c7b6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classPxMidphaseDesc.html">PxMidphaseDesc</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structPxCookingParams.html#8015768aa6024f1283cab006abdb63b5">midphaseDesc</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Controls the desired midphase desc structure for triangle meshes. <a href="#8015768aa6024f1283cab006abdb63b5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structPxCookingParams.html#6be147977f9bd24a55dc3cd16ed390bc">gaussMapLimit</a></td></tr>
<tr><td class="mdescLeft"> </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="#6be147977f9bd24a55dc3cd16ed390bc"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Structure describing parameters affecting mesh cooking.
<p>
<dl class="see" compact><dt><b>See also:</b></dt><dd>PxSetCookingParams() PxGetCookingParams() </dd></dl>
<hr><h2>Constructor & Destructor Documentation</h2>
<a class="anchor" name="738bc9799f789da5c453cadae5eaec47"></a><!-- doxytag: member="PxCookingParams::PxCookingParams" ref="738bc9799f789da5c453cadae5eaec47" args="(const PxTolerancesScale &sc)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">PxCookingParams::PxCookingParams </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classPxTolerancesScale.html">PxTolerancesScale</a> & </td>
<td class="paramname"> <em>sc</em> </td>
<td> ) </td>
<td><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>References <a class="el" href="PxCooking_8h-source.html#l00059">PxPlatform::eARM</a>, <a class="el" href="PxCooking_8h-source.html#l00058">PxPlatform::ePC</a>, and <a class="el" href="PxCooking_8h-source.html#l00063">PxGetGaussMapVertexLimitForPlatform()</a>.</p>
</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="ec2fbb426b8c0bb2daee1e31b8e2adc2"></a><!-- doxytag: member="PxCookingParams::areaTestEpsilon" ref="ec2fbb426b8c0bb2daee1e31b8e2adc2" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">float <a class="el" href="structPxCookingParams.html#ec2fbb426b8c0bb2daee1e31b8e2adc2">PxCookingParams::areaTestEpsilon</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Zero-size area epsilon used in convex hull computation.
<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#4b7bd21fa96c72b320a39e880208b4b612c7c442cadd1e3474fc613944981c44" title="Checks and removes almost zero-area triangles during convex hull computation. The...">PxConvexFlag::eCHECK_ZERO_AREA_TRIANGLES</a> is used.<p>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="structPxConvexFlag.html#4b7bd21fa96c72b320a39e880208b4b612c7c442cadd1e3474fc613944981c44" title="Checks and removes almost zero-area triangles during convex hull computation. The...">PxConvexFlag::eCHECK_ZERO_AREA_TRIANGLES</a></dd></dl>
<b>Default value:</b> 0.06f*PxTolerancesScale.length*PxTolerancesScale.length<p>
<b>Range:</b> (0.0f, PX_MAX_F32)
</div>
</div><p>
<a class="anchor" name="d9c00d38bdcca1c324bba906706d1c63"></a><!-- doxytag: member="PxCookingParams::buildGPUData" ref="d9c00d38bdcca1c324bba906706d1c63" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="structPxCookingParams.html#d9c00d38bdcca1c324bba906706d1c63">PxCookingParams::buildGPUData</a> </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>
<b>Default value:</b> false
</div>
</div><p>
<a class="anchor" name="aeff18c0f923a7c886bc29bea730c966"></a><!-- doxytag: member="PxCookingParams::buildTriangleAdjacencies" ref="aeff18c0f923a7c886bc29bea730c966" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="structPxCookingParams.html#aeff18c0f923a7c886bc29bea730c966">PxCookingParams::buildTriangleAdjacencies</a> </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>
<b>Default value:</b> false
</div>
</div><p>
<a class="anchor" name="fbc71c4ade3b80715855125413d58f97"></a><!-- doxytag: member="PxCookingParams::convexMeshCookingType" ref="fbc71c4ade3b80715855125413d58f97" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structPxConvexMeshCookingType.html#5a2ae723aca74c185675cd7ba2c9c115">PxConvexMeshCookingType::Enum</a> <a class="el" href="structPxCookingParams.html#fbc71c4ade3b80715855125413d58f97">PxCookingParams::convexMeshCookingType</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Convex hull creation algorithm.
<p>
<b>Default value:</b> <a class="el" href="structPxConvexMeshCookingType.html#5a2ae723aca74c185675cd7ba2c9c11518916173251aae02128c79b69af46906" title="The Quickhull algorithm constructs the hull from the given input points. The resulting...">PxConvexMeshCookingType::eQUICKHULL</a><p>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="structPxConvexMeshCookingType.html" title="Enumeration for convex mesh cooking algorithms.">PxConvexMeshCookingType</a> </dd></dl>
</div>
</div><p>
<a class="anchor" name="6be147977f9bd24a55dc3cd16ed390bc"></a><!-- doxytag: member="PxCookingParams::gaussMapLimit" ref="6be147977f9bd24a55dc3cd16ed390bc" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> <a class="el" href="structPxCookingParams.html#6be147977f9bd24a55dc3cd16ed390bc">PxCookingParams::gaussMapLimit</a> </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>
<b>Default value:</b> 32
</div>
</div><p>
<a class="anchor" name="3cd5e4ba954507ba48882fcd806f66e3"></a><!-- doxytag: member="PxCookingParams::meshCookingHint" ref="3cd5e4ba954507ba48882fcd806f66e3" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">PX_DEPRECATED <a class="el" href="structPxMeshCookingHint.html#f88f4aeeaffd545c26bc9b5215303796">PxMeshCookingHint::Enum</a> <a class="el" href="structPxCookingParams.html#3cd5e4ba954507ba48882fcd806f66e3">PxCookingParams::meshCookingHint</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Mesh cooking hint. Used to specify mesh hierarchy construction preference.
<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>Deprecated in 3.4, parameter moved to <a class="el" href="structPxBVH33MidphaseDesc.html" title="Structure describing parameters affecting BVH33 midphase mesh structure.">PxBVH33MidphaseDesc</a>.</dd></dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="structPxBVH33MidphaseDesc.html" title="Structure describing parameters affecting BVH33 midphase mesh structure.">PxBVH33MidphaseDesc</a>, PxMidphaseDescUnion</dd></dl>
<b>Default value:</b> <a class="el" href="structPxMeshCookingHint.html#f88f4aeeaffd545c26bc9b5215303796769f30972561dba7eef24120f4f9f7b3" title="Default value. Favors higher quality hierarchy with higher runtime performance over...">PxMeshCookingHint::eSIM_PERFORMANCE</a>
</div>
</div><p>
<a class="anchor" name="6561b14b68f097c135fe6d83f68908ce"></a><!-- doxytag: member="PxCookingParams::meshPreprocessParams" ref="6561b14b68f097c135fe6d83f68908ce" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classPxFlags.html">PxMeshPreprocessingFlags</a> <a class="el" href="structPxCookingParams.html#6561b14b68f097c135fe6d83f68908ce">PxCookingParams::meshPreprocessParams</a> </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>
<b>Default value:</b> 0
</div>
</div><p>
<a class="anchor" name="72e8ee721f648af02c40db8162bb07e8"></a><!-- doxytag: member="PxCookingParams::meshSizePerformanceTradeOff" ref="72e8ee721f648af02c40db8162bb07e8" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">PX_DEPRECATED PxF32 <a class="el" href="structPxCookingParams.html#72e8ee721f648af02c40db8162bb07e8">PxCookingParams::meshSizePerformanceTradeOff</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Controls the trade-off between mesh size and runtime performance.
<p>
Using a value of 1.0 will produce a larger cooked mesh with generally higher runtime performance, using 0.0 will produce a smaller cooked mesh, with generally lower runtime performance.<p>
Values outside of [0,1] range will be clamped and cause a warning when any mesh gets cooked.<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>Deprecated in 3.4, parameter moved to <a class="el" href="structPxBVH33MidphaseDesc.html" title="Structure describing parameters affecting BVH33 midphase mesh structure.">PxBVH33MidphaseDesc</a>.</dd></dl>
<b>Default value:</b> 0.55 <b>Range:</b> [0.0f, 1.0f]
</div>
</div><p>
<a class="anchor" name="19bb7e28765df5c8ec1a86a45004c7b6"></a><!-- doxytag: member="PxCookingParams::meshWeldTolerance" ref="19bb7e28765df5c8ec1a86a45004c7b6" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">PxReal <a class="el" href="structPxCookingParams.html#19bb7e28765df5c8ec1a86a45004c7b6">PxCookingParams::meshWeldTolerance</a> </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>
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>
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>
<b>Default value:</b> 0.0
</div>
</div><p>
<a class="anchor" name="8015768aa6024f1283cab006abdb63b5"></a><!-- doxytag: member="PxCookingParams::midphaseDesc" ref="8015768aa6024f1283cab006abdb63b5" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classPxMidphaseDesc.html">PxMidphaseDesc</a> <a class="el" href="structPxCookingParams.html#8015768aa6024f1283cab006abdb63b5">PxCookingParams::midphaseDesc</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Controls the desired midphase desc structure for triangle meshes.
<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>If <a class="el" href="structPxMeshMidPhase.html#49f740883fbfb1a49631c28818c219f44d8e09539bc0a01c8ffd1b8bae24cbf1" title="Invalid mesh midphase.">PxMeshMidPhase::eINVALID</a> is used, the default <a class="el" href="structPxMeshMidPhase.html#49f740883fbfb1a49631c28818c219f4a791bfd986fc6edb77db2928e3c5e529" title="Default midphase mesh structure, as used up to PhysX 3.3.">PxMeshMidPhase::eBVH33</a> is used and the deprecated parameters <a class="el" href="structPxCookingParams.html#3cd5e4ba954507ba48882fcd806f66e3" title="Mesh cooking hint. Used to specify mesh hierarchy construction preference.">PxCookingParams::meshCookingHint</a> and <a class="el" href="structPxCookingParams.html#72e8ee721f648af02c40db8162bb07e8" title="Controls the trade-off between mesh size and runtime performance.">PxCookingParams::meshSizePerformanceTradeOff</a> are used.</dd></dl>
<dl class="see" compact><dt><b>See also:</b></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>
<b>Default value:</b> <a class="el" href="structPxMeshMidPhase.html#49f740883fbfb1a49631c28818c219f44d8e09539bc0a01c8ffd1b8bae24cbf1" title="Invalid mesh midphase.">PxMeshMidPhase::eINVALID</a>
</div>
</div><p>
<a class="anchor" name="45e4d60211cdd58d80a10dad39da64c9"></a><!-- doxytag: member="PxCookingParams::planeTolerance" ref="45e4d60211cdd58d80a10dad39da64c9" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">float <a class="el" href="structPxCookingParams.html#45e4d60211cdd58d80a10dad39da64c9">PxCookingParams::planeTolerance</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Plane tolerance used in convex hull computation.
<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>
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>
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="note" compact><dt><b>Note:</b></dt><dd>The plane tolerance is used only within <a class="el" href="structPxConvexMeshCookingType.html#5a2ae723aca74c185675cd7ba2c9c11518916173251aae02128c79b69af46906" title="The Quickhull algorithm constructs the hull from the given input points. The resulting...">PxConvexMeshCookingType::eQUICKHULL</a> algorithm.</dd></dl>
<b>Default value:</b> 0.0007f<p>
<b>Range:</b> <0.0f, PX_MAX_F32)
</div>
</div><p>
<a class="anchor" name="6a51be76bb79ac1dd9a2788f54569c60"></a><!-- doxytag: member="PxCookingParams::scale" ref="6a51be76bb79ac1dd9a2788f54569c60" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classPxTolerancesScale.html">PxTolerancesScale</a> <a class="el" href="structPxCookingParams.html#6a51be76bb79ac1dd9a2788f54569c60">PxCookingParams::scale</a> </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="note" compact><dt><b>Note:</b></dt><dd>The <a class="el" href="classPxTolerancesScale.html" title="Class to define the scale at which simulation runs. Most simulation tolerances are...">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, particle systems and constraints which can interact...">PxScene</a> instance.</dd></dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classPxTolerancesScale.html" title="Class to define the scale at which simulation runs. Most simulation tolerances are...">PxTolerancesScale</a> </dd></dl>
</div>
</div><p>
<a class="anchor" name="645572e949b89821e81278a675e89176"></a><!-- doxytag: member="PxCookingParams::skinWidth" ref="645572e949b89821e81278a675e89176" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">PX_DEPRECATED float <a class="el" href="structPxCookingParams.html#645572e949b89821e81278a675e89176">PxCookingParams::skinWidth</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Skin width for convexes.
<p>
Specifies the amount to inflate the convex mesh when the inflation algorithm is used.<p>
The value is used for moving planes outward, and beveling sharp edges. This helps the hull generator code produce more stable convexes for collision detection. Please note that the resulting hull will increase its size, so contact generation may produce noticeable separation between shapes. The separation distance can be reduced by decreasing the contactOffset and restOffset. See the user's manual on 'Shapes - Tuning Shape Collision Behavior' for details.<p>
Change the value if the produced hulls are too thin or improper for your usage. Increasing the value too much will result in incorrect hull size and a large separation between shapes.<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>skinWidth is only used when PxConvexMeshCookingType::eINFLATION_INCREMENTAL_HULL is enabled.</dd></dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="structPxConvexMeshCookingType.html" title="Enumeration for convex mesh cooking algorithms.">PxConvexMeshCookingType</a> <a class="el" href="structPxConvexFlag.html#4b7bd21fa96c72b320a39e880208b4b6136d6a29364af41ef1af645f698d54d1" title="Inflates the convex points according to skin width.">PxConvexFlag::eINFLATE_CONVEX</a></dd></dl>
<b>Default value:</b> 0.025f*PxTolerancesScale.length<p>
<b>Range:</b> (0.0f, PX_MAX_F32)
</div>
</div><p>
<a class="anchor" name="50426ff06726ccab3f5e0503077778a6"></a><!-- doxytag: member="PxCookingParams::suppressTriangleMeshRemapTable" ref="50426ff06726ccab3f5e0503077778a6" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="structPxCookingParams.html#50426ff06726ccab3f5e0503077778a6">PxCookingParams::suppressTriangleMeshRemapTable</a> </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>
<b>Default value:</b> false
</div>
</div><p>
<a class="anchor" name="90bdebb71061b817755baf22c4d59ac9"></a><!-- doxytag: member="PxCookingParams::targetPlatform" ref="90bdebb71061b817755baf22c4d59ac9" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structPxPlatform.html#c4cfddf519b366f9ee60bdd78a958015">PxPlatform::Enum</a> <a class="el" href="structPxCookingParams.html#90bdebb71061b817755baf22c4d59ac9">PxCookingParams::targetPlatform</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Target platform.
<p>
Should be set to the platform which you intend to load the cooked mesh data on. This allows the SDK to optimize the mesh data in an appropriate way for the platform and make sure that endianness issues are accounted for correctly.<p>
<b>Default value:</b> Same as the platform on which the SDK is running.
</div>
</div><p>
<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></ul>
</div>
<hr style="width: 100%; height: 2px;"><br>
Copyright © 2008-2018 NVIDIA Corporation, 2701 San Tomas Expressway, Santa Clara, CA 95050 U.S.A. All rights reserved. <a href="http://www.nvidia.com ">www.nvidia.com</a>
</body>
</html>
|