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
|
<html>
<head>
<title>NVIDIA(R) PhysX(R) SDK 3.4 API Reference: Scenequery</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>Scenequery</h1><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxBatchQuery.html">PxBatchQuery</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Batched queries object. This is used to perform several queries at the same time. <a href="classPxBatchQuery.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structPxQueryFlag.html">PxQueryFlag</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Filtering flags for scene queries. <a href="structPxQueryFlag.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structPxQueryHitType.html">PxQueryHitType</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Classification of scene query hits (intersections). <a href="structPxQueryHitType.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structPxQueryFilterData.html">PxQueryFilterData</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Scene query filtering data. <a href="structPxQueryFilterData.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classPxQueryFilterCallback.html">PxQueryFilterCallback</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Scene query filtering callbacks. <a href="classPxQueryFilterCallback.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structPxHitFlag.html">PxHitFlag</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Scene query and geometry query behavior flags. <a href="structPxHitFlag.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structPxActorShape.html">PxActorShape</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">collection of set bits defined in <a class="el" href="structPxHitFlag.html" title="Scene query and geometry query behavior flags.">PxHitFlag</a>. <a href="structPxActorShape.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structPxQueryHit.html">PxQueryHit</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Scene query hit information. <a href="structPxQueryHit.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structPxLocationHit.html">PxLocationHit</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Scene query hit information for raycasts and sweeps returning hit position and normal information. <a href="structPxLocationHit.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structPxRaycastHit.html">PxRaycastHit</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Stores results of raycast queries. <a href="structPxRaycastHit.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structPxOverlapHit.html">PxOverlapHit</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Stores results of overlap queries. <a href="structPxOverlapHit.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structPxSweepHit.html">PxSweepHit</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Stores results of sweep queries. <a href="structPxSweepHit.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structPxHitCallback.html">PxHitCallback< HitType ></a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">This callback class facilitates reporting scene query hits (intersections) to the user. <a href="structPxHitCallback.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structPxHitBuffer.html">PxHitBuffer< HitType ></a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns scene query hits (intersections) to the user in a preallocated buffer. <a href="structPxHitBuffer.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structPxRaycastBufferN.html">PxRaycastBufferN< N ></a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns touching raycast hits to the user in a fixed size array embedded in the buffer class. <a href="structPxRaycastBufferN.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structPxOverlapBufferN.html">PxOverlapBufferN< N ></a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns touching overlap hits to the user in a fixed size array embedded in the buffer class. <a href="structPxOverlapBufferN.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structPxSweepBufferN.html">PxSweepBufferN< N ></a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns touching sweep hits to the user in a fixed size array embedded in the buffer class. <a href="structPxSweepBufferN.html#_details">More...</a><br></td></tr>
<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classPxFlags.html">PxFlags</a><br class="typebreak">
< <a class="el" href="structPxQueryFlag.html#2124ff0cff0a021e01e6880a1bba431f">PxQueryFlag::Enum</a>, PxU16 > </td><td class="memItemRight" valign="bottom"><a class="el" href="group__scenequery.html#gacf083b040f6c841644782282171bd61">PxQueryFlags</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Flags typedef for the set of bits defined in <a class="el" href="structPxQueryFlag.html" title="Filtering flags for scene queries.">PxQueryFlag</a>. <a href="#gacf083b040f6c841644782282171bd61"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef PX_DEPRECATED <br class="typebreak">
<a class="el" href="structPxQueryHitType.html#cab1ef408184995d169330ed689b79e3">PxQueryHitType::Enum</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group__scenequery.html#ga1264802560d96e1740850b2e1a9856b">PxBatchQueryPreFilterShader</a> )(<a class="el" href="structPxFilterData.html">PxFilterData</a> queryFilterData, <a class="el" href="structPxFilterData.html">PxFilterData</a> objectFilterData, const void *constantBlock, <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> constantBlockSize, PxHitFlags &hitFlags)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Batched query pre-filter shader. <a href="#ga1264802560d96e1740850b2e1a9856b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef PX_DEPRECATED <br class="typebreak">
<a class="el" href="structPxQueryHitType.html#cab1ef408184995d169330ed689b79e3">PxQueryHitType::Enum</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group__scenequery.html#g043a6549307b8fd63c96f48edafddad0">PxBatchQueryPostFilterShader</a> )(<a class="el" href="structPxFilterData.html">PxFilterData</a> queryFilterData, <a class="el" href="structPxFilterData.html">PxFilterData</a> objectFilterData, const void *constantBlock, <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> constantBlockSize, const <a class="el" href="structPxQueryHit.html">PxQueryHit</a> &hit)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Batched query post-filter shader. <a href="#g043a6549307b8fd63c96f48edafddad0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__scenequery.html#g4d0184965c0a910f5c96cb69c0690f5c">PxAgain</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Describes query behavior after returning a partial query result via a callback. <a href="#g4d0184965c0a910f5c96cb69c0690f5c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structPxHitCallback.html">PxHitCallback</a><br class="typebreak">
< <a class="el" href="structPxRaycastHit.html">PxRaycastHit</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="group__scenequery.html#g4dbe8142d799492bd8e7c5ec70bfac41">PxRaycastCallback</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Raycast query callback. <a href="#g4dbe8142d799492bd8e7c5ec70bfac41"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structPxHitCallback.html">PxHitCallback</a><br class="typebreak">
< <a class="el" href="structPxOverlapHit.html">PxOverlapHit</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="group__scenequery.html#g9baa3a8cad31bbb8ef666fe01b3afeb7">PxOverlapCallback</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Overlap query callback. <a href="#g9baa3a8cad31bbb8ef666fe01b3afeb7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structPxHitCallback.html">PxHitCallback</a>< <a class="el" href="structPxSweepHit.html">PxSweepHit</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="group__scenequery.html#g6f93f556cef747d50f643499928dd865">PxSweepCallback</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Sweep query callback. <a href="#g6f93f556cef747d50f643499928dd865"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structPxHitBuffer.html">PxHitBuffer</a>< <a class="el" href="structPxRaycastHit.html">PxRaycastHit</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="group__scenequery.html#gb21a68ce9e5a18aa742111920b75a84c">PxRaycastBuffer</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Raycast query buffer. <a href="#gb21a68ce9e5a18aa742111920b75a84c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structPxHitBuffer.html">PxHitBuffer</a>< <a class="el" href="structPxOverlapHit.html">PxOverlapHit</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="group__scenequery.html#g54a708942a891f3321c2427d5c160750">PxOverlapBuffer</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Overlap query buffer. <a href="#g54a708942a891f3321c2427d5c160750"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structPxHitBuffer.html">PxHitBuffer</a>< <a class="el" href="structPxSweepHit.html">PxSweepHit</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="group__scenequery.html#gecfed2b83a930b922b3d95e22ff30665">PxSweepBuffer</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Sweep query buffer. <a href="#gecfed2b83a930b922b3d95e22ff30665"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__scenequery.html#g037fc04d69de2f4067656836ab9d7298">PX_COMPILE_TIME_ASSERT</a> (PxQueryFlag::eSTATIC==(1<< 0))</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__scenequery.html#ga231e804efb78bc7d3405c9e4bd31502">PX_COMPILE_TIME_ASSERT</a> (PxQueryFlag::eDYNAMIC==(1<< 1))</td></tr>
</table>
<hr><h2>Typedef Documentation</h2>
<a class="anchor" name="g4d0184965c0a910f5c96cb69c0690f5c"></a><!-- doxytag: member="PxQueryReport.h::PxAgain" ref="g4d0184965c0a910f5c96cb69c0690f5c" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef bool <a class="el" href="group__scenequery.html#g4d0184965c0a910f5c96cb69c0690f5c">PxAgain</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Describes query behavior after returning a partial query result via a callback.
<p>
If callback returns true, traversal will continue and callback can be issued again. If callback returns false, traversal will stop, callback will not be issued again.<p>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="structPxHitCallback.html" title="This callback class facilitates reporting scene query hits (intersections) to the...">PxHitCallback</a> </dd></dl>
</div>
</div><p>
<a class="anchor" name="g043a6549307b8fd63c96f48edafddad0"></a><!-- doxytag: member="PxQueryFiltering.h::PxBatchQueryPostFilterShader" ref="g043a6549307b8fd63c96f48edafddad0" args=")(PxFilterData queryFilterData, PxFilterData objectFilterData, const void *constantBlock, PxU32 constantBlockSize, const PxQueryHit &hit)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef PX_DEPRECATED <a class="el" href="structPxQueryHitType.html#cab1ef408184995d169330ed689b79e3">PxQueryHitType::Enum</a>(* <a class="el" href="group__scenequery.html#g043a6549307b8fd63c96f48edafddad0">PxBatchQueryPostFilterShader</a>)(<a class="el" href="structPxFilterData.html">PxFilterData</a> queryFilterData, <a class="el" href="structPxFilterData.html">PxFilterData</a> objectFilterData, const void *constantBlock, <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> constantBlockSize, const <a class="el" href="structPxQueryHit.html">PxQueryHit</a> &hit) </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Batched query post-filter shader.
<p>
Custom filtering logic for batched query intersection candidates. If an intersection candidate object passes the data based filter (see <a class="el" href="structPxQueryFilterData.html" title="Scene query filtering data.">PxQueryFilterData</a>), the filtering shader run on request (see <a class="el" href="structPxQueryFilterData.html#02180ad928beb2e5d3d5caf4cc84f387" title="Filter flags (see PxQueryFlags).">PxQueryFilterData.flags</a>)<p>
<ul>
<li>If <a class="el" href="structPxQueryFlag.html#2124ff0cff0a021e01e6880a1bba431f98ce80be9551f124bd882bdb83dafb7e" title="Run the post-intersection-test filter (see PxQueryFilterCallback::postFilter()).">PxQueryFlag::ePOSTFILTER</a> is set, the postFilter shader is called for each intersection to determine the touch/block status. This overrides any touch/block status previously returned from the preFilter function for this shape.</li>
</ul>
Filtering shaders are not in order along the query direction, rather they are processed in the order in which candidate shapes for testing are found by PhysX' scene traversal algorithms.<p>
<dl compact><dt><b><a class="el" href="deprecated.html#_deprecated000027">Deprecated:</a></b></dt><dd>The batched query feature has been deprecated in PhysX version 3.4</dd></dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classPxBatchQueryDesc.html#1eae24bb23c561c4a656d7234d9d2e5e" title="The custom postFilter shader to use for filtering.">PxBatchQueryDesc.postFilterShader</a> <a class="el" href="classPxQueryFilterCallback.html#a93cf87c4ec4548afc8cc5476c719781" title="This filter callback is executed if the exact intersection test returned true and...">PxQueryFilterCallback.postFilter</a> <a class="el" href="group__scenequery.html#ga1264802560d96e1740850b2e1a9856b" title="Batched query pre-filter shader.">PxBatchQueryPreFilterShader</a> </dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>queryFilterData</em> </td><td>Query filter data </td></tr>
<tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>objectFilterData</em> </td><td>Object filter data </td></tr>
<tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>constantBlock</em> </td><td>Global constant filter data (see <a class="el" href="classPxBatchQuery.html" title="Batched queries object. This is used to perform several queries at the same time...">PxBatchQuery</a>) </td></tr>
<tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>constantBlockSize</em> </td><td>Size of global filter data (see <a class="el" href="classPxBatchQuery.html" title="Batched queries object. This is used to perform several queries at the same time...">PxBatchQuery</a>) </td></tr>
<tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>hit</em> </td><td>Hit data from the prior exact intersection test. </td></tr>
</table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the new hit type for this hit (see <a class="el" href="structPxQueryHitType.html" title="Classification of scene query hits (intersections).">PxQueryHitType</a>)</dd></dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__scenequery.html#ga1264802560d96e1740850b2e1a9856b" title="Batched query pre-filter shader.">PxBatchQueryPreFilterShader</a> </dd></dl>
</div>
</div><p>
<a class="anchor" name="ga1264802560d96e1740850b2e1a9856b"></a><!-- doxytag: member="PxQueryFiltering.h::PxBatchQueryPreFilterShader" ref="ga1264802560d96e1740850b2e1a9856b" args=")(PxFilterData queryFilterData, PxFilterData objectFilterData, const void *constantBlock, PxU32 constantBlockSize, PxHitFlags &hitFlags)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef PX_DEPRECATED <a class="el" href="structPxQueryHitType.html#cab1ef408184995d169330ed689b79e3">PxQueryHitType::Enum</a>(* <a class="el" href="group__scenequery.html#ga1264802560d96e1740850b2e1a9856b">PxBatchQueryPreFilterShader</a>)(<a class="el" href="structPxFilterData.html">PxFilterData</a> queryFilterData, <a class="el" href="structPxFilterData.html">PxFilterData</a> objectFilterData, const void *constantBlock, <a class="el" href="group__foundation.html#gcce5749db3dcfb916e98c253374264ed">PxU32</a> constantBlockSize, PxHitFlags &hitFlags) </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Batched query pre-filter shader.
<p>
Custom filtering logic for batched query intersection candidates. If an intersection candidate object passes the data based filter (see <a class="el" href="structPxQueryFilterData.html" title="Scene query filtering data.">PxQueryFilterData</a>), filtering shader runs if specified in filtering flags (see <a class="el" href="structPxQueryFilterData.html#02180ad928beb2e5d3d5caf4cc84f387" title="Filter flags (see PxQueryFlags).">PxQueryFilterData.flags</a>)<p>
<ul>
<li>If <a class="el" href="structPxQueryFlag.html#2124ff0cff0a021e01e6880a1bba431f8afbf3ede02abfeef2a9e8d38f0b9a78" title="Run the pre-intersection-test filter (see PxQueryFilterCallback::preFilter()).">PxQueryFlag::ePREFILTER</a> is set, the preFilter shader runs before exact intersection tests. If the shader returns <a class="el" href="structPxQueryHitType.html#cab1ef408184995d169330ed689b79e3ac7ebce08c20ff88ea4328035daa2498" title="a hit on the shape touches the intersection geometry of the query but does not block...">PxQueryHitType::eTOUCH</a> or <a class="el" href="structPxQueryHitType.html#cab1ef408184995d169330ed689b79e360dc59a348d85c101747ed45d9b20750" title="a hit on the shape blocks the query (does not block overlap queries)">PxQueryHitType::eBLOCK</a>, exact testing is performed to determine the intersection location.</li>
</ul>
The preFilter shader may overwrite the copy of queryFlags it receives as an argument to specify any of <a class="el" href="structPxHitFlag.html#44c173f6ddf0522ffbd8fa3c585e6b6496f3049caa29758b18308a37e97370f1" title="Only this subset of flags can be modified by pre-filter. Other modifications will...">PxHitFlag::eMODIFIABLE_FLAGS</a> on a per-shape basis. Changes apply only to the shape being filtered, and changes to other flags are ignored.<p>
<ul>
<li>If <a class="el" href="structPxQueryFlag.html#2124ff0cff0a021e01e6880a1bba431f8afbf3ede02abfeef2a9e8d38f0b9a78" title="Run the pre-intersection-test filter (see PxQueryFilterCallback::preFilter()).">PxQueryFlag::ePREFILTER</a> is not set, precise intersection testing is performed using the original query's filterData.flags.</li>
</ul>
Filtering calls are not guaranteed to be sorted along the ray or sweep direction.<p>
<dl compact><dt><b><a class="el" href="deprecated.html#_deprecated000026">Deprecated:</a></b></dt><dd>The batched query feature has been deprecated in PhysX version 3.4</dd></dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classPxBatchQueryDesc.html#f116e4058958b7c747dfd008317764ba" title="The custom preFilter shader to use for filtering.">PxBatchQueryDesc.preFilterShader</a> <a class="el" href="classPxQueryFilterCallback.html#227beae6749182b04ae18728c1aecd26" title="This filter callback is executed before the exact intersection test if PxQueryFlag::ePREFILTER...">PxQueryFilterCallback.preFilter</a> <a class="el" href="group__scenequery.html#g043a6549307b8fd63c96f48edafddad0" title="Batched query post-filter shader.">PxBatchQueryPostFilterShader</a> </dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>queryFilterData</em> </td><td>Query filter data </td></tr>
<tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>objectFilterData</em> </td><td>Object filter data </td></tr>
<tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>constantBlock</em> </td><td>Global constant filter data (see <a class="el" href="classPxBatchQuery.html" title="Batched queries object. This is used to perform several queries at the same time...">PxBatchQuery</a>) </td></tr>
<tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>constantBlockSize</em> </td><td>Size of global filter data (see <a class="el" href="classPxBatchQuery.html" title="Batched queries object. This is used to perform several queries at the same time...">PxBatchQuery</a>) </td></tr>
<tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>hitFlags</em> </td><td>Per-object modifiable hit flags (only flags from <a class="el" href="structPxHitFlag.html#44c173f6ddf0522ffbd8fa3c585e6b6496f3049caa29758b18308a37e97370f1" title="Only this subset of flags can be modified by pre-filter. Other modifications will...">PxHitFlag::eMODIFIABLE_FLAGS</a> mask can be modified) </td></tr>
</table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the updated hit type for this hit (see <a class="el" href="structPxQueryHitType.html" title="Classification of scene query hits (intersections).">PxQueryHitType</a>)</dd></dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__scenequery.html#g043a6549307b8fd63c96f48edafddad0" title="Batched query post-filter shader.">PxBatchQueryPostFilterShader</a> </dd></dl>
</div>
</div><p>
<a class="anchor" name="g54a708942a891f3321c2427d5c160750"></a><!-- doxytag: member="PxQueryReport.h::PxOverlapBuffer" ref="g54a708942a891f3321c2427d5c160750" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="structPxHitBuffer.html">PxHitBuffer</a><<a class="el" href="structPxOverlapHit.html">PxOverlapHit</a>> <a class="el" href="structPxHitBuffer.html">PxOverlapBuffer</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Overlap query buffer.
<p>
</div>
</div><p>
<a class="anchor" name="g9baa3a8cad31bbb8ef666fe01b3afeb7"></a><!-- doxytag: member="PxQueryReport.h::PxOverlapCallback" ref="g9baa3a8cad31bbb8ef666fe01b3afeb7" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="structPxHitCallback.html">PxHitCallback</a><<a class="el" href="structPxOverlapHit.html">PxOverlapHit</a>> <a class="el" href="structPxHitCallback.html">PxOverlapCallback</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Overlap query callback.
<p>
</div>
</div><p>
<a class="anchor" name="gacf083b040f6c841644782282171bd61"></a><!-- doxytag: member="PxQueryFiltering.h::PxQueryFlags" ref="gacf083b040f6c841644782282171bd61" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="classPxFlags.html">PxFlags</a><<a class="el" href="structPxQueryFlag.html#2124ff0cff0a021e01e6880a1bba431f">PxQueryFlag::Enum</a>,PxU16> <a class="el" href="classPxFlags.html">PxQueryFlags</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Flags typedef for the set of bits defined in <a class="el" href="structPxQueryFlag.html" title="Filtering flags for scene queries.">PxQueryFlag</a>.
<p>
</div>
</div><p>
<a class="anchor" name="gb21a68ce9e5a18aa742111920b75a84c"></a><!-- doxytag: member="PxQueryReport.h::PxRaycastBuffer" ref="gb21a68ce9e5a18aa742111920b75a84c" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="structPxHitBuffer.html">PxHitBuffer</a><<a class="el" href="structPxRaycastHit.html">PxRaycastHit</a>> <a class="el" href="structPxHitBuffer.html">PxRaycastBuffer</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Raycast query buffer.
<p>
</div>
</div><p>
<a class="anchor" name="g4dbe8142d799492bd8e7c5ec70bfac41"></a><!-- doxytag: member="PxQueryReport.h::PxRaycastCallback" ref="g4dbe8142d799492bd8e7c5ec70bfac41" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="structPxHitCallback.html">PxHitCallback</a><<a class="el" href="structPxRaycastHit.html">PxRaycastHit</a>> <a class="el" href="structPxHitCallback.html">PxRaycastCallback</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Raycast query callback.
<p>
</div>
</div><p>
<a class="anchor" name="gecfed2b83a930b922b3d95e22ff30665"></a><!-- doxytag: member="PxQueryReport.h::PxSweepBuffer" ref="gecfed2b83a930b922b3d95e22ff30665" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="structPxHitBuffer.html">PxHitBuffer</a><<a class="el" href="structPxSweepHit.html">PxSweepHit</a>> <a class="el" href="structPxHitBuffer.html">PxSweepBuffer</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Sweep query buffer.
<p>
</div>
</div><p>
<a class="anchor" name="g6f93f556cef747d50f643499928dd865"></a><!-- doxytag: member="PxQueryReport.h::PxSweepCallback" ref="g6f93f556cef747d50f643499928dd865" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="structPxHitCallback.html">PxHitCallback</a><<a class="el" href="structPxSweepHit.html">PxSweepHit</a>> <a class="el" href="structPxHitCallback.html">PxSweepCallback</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Sweep query callback.
<p>
</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="ga231e804efb78bc7d3405c9e4bd31502"></a><!-- doxytag: member="PxQueryFiltering.h::PX_COMPILE_TIME_ASSERT" ref="ga231e804efb78bc7d3405c9e4bd31502" args="(PxQueryFlag::eDYNAMIC==(1<< 1))" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">PX_COMPILE_TIME_ASSERT </td>
<td>(</td>
<td class="paramtype">PxQueryFlag::eDYNAMIC </td>
<td class="paramname"> = <code>=(1<< 1)</code> </td>
<td> ) </td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
</div>
</div><p>
<a class="anchor" name="g037fc04d69de2f4067656836ab9d7298"></a><!-- doxytag: member="PxQueryFiltering.h::PX_COMPILE_TIME_ASSERT" ref="g037fc04d69de2f4067656836ab9d7298" args="(PxQueryFlag::eSTATIC==(1<< 0))" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">PX_COMPILE_TIME_ASSERT </td>
<td>(</td>
<td class="paramtype">PxQueryFlag::eSTATIC </td>
<td class="paramname"> = <code>=(1<< 0)</code> </td>
<td> ) </td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
</div>
</div><p>
</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>
|