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
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
|
<!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.9.1"/>
<title>FLEX: NvFlexExt.h Source File</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="doxygen.css" rel="stylesheet" type="text/css" />
<link href="flex.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="nvidia.png"/></td>
<td style="padding-left: 0.5em;">
<div id="projectname">FLEX
 <span id="projectnumber">1.2.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.9.1 -->
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">NvFlexExt.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="_nv_flex_ext_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">// This code contains NVIDIA Confidential Information and is disclosed to you</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">// under a form of NVIDIA software license agreement provided separately to you.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">//</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">// Notice</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// NVIDIA Corporation and its licensors retain all intellectual property and</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">// proprietary rights in and to this software and related documentation and</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">// any modifications thereto. Any use, reproduction, disclosure, or</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">// distribution of this software and related documentation without an express</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">// license agreement from NVIDIA Corporation is strictly prohibited.</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">//</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment">// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment">// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">//</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment">// Information and code furnished is believed to be accurate and reliable.</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment">// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment">// information or for any infringement of patents or other rights of third parties that may</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">// result from its use. No license is granted by implication or otherwise under any patent</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">// or patent rights of NVIDIA Corporation. Details are subject to change without notice.</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">// This code supersedes and replaces all information previously supplied.</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">// NVIDIA Corporation products are not authorized for use as critical</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">// components in life support devices or systems without express written approval of</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">// NVIDIA Corporation.</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">//</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">// Copyright (c) 2013-2020 NVIDIA Corporation. All rights reserved.</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifndef NV_FLEX_EXT_H</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#define NV_FLEX_EXT_H</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "<a class="code" href="_nv_flex_8h.html">NvFlex.h</a>"</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include <cassert></span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include <cstddef></span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">// A vector type that wraps a NvFlexBuffer, behaves like a standard vector for POD types (no construction)</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">// The vector must be mapped using map() before any read/write access to elements or resize operation</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> </div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="struct_nv_flex_vector.html"> 45</a></span> <span class="keyword">struct </span><a class="code" href="struct_nv_flex_vector.html">NvFlexVector</a></div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> {</div>
<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="struct_nv_flex_vector.html#a51edbab41cc249bc117c7ce17651007c"> 47</a></span>  <a class="code" href="struct_nv_flex_vector.html#a51edbab41cc249bc117c7ce17651007c">NvFlexVector</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* l, <span class="keywordtype">int</span> <a class="code" href="struct_nv_flex_vector.html#a1933b633e9055d9adf8b62c4aa8a3bc0">size</a> = 0, <a class="code" href="_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3">NvFlexBufferType</a> <a class="code" href="struct_nv_flex_vector.html#a24fa4e3807b492cd5fbdc6c1c235062b">type</a> = <a class="code" href="_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3aec63221ddc1b13eff4db55fbf6cd85f8">eNvFlexBufferHost</a>) : <a class="code" href="struct_nv_flex_vector.html#ab08ce71766df91fc9201a61a48054d0c">lib</a>(l), <a class="code" href="struct_nv_flex_vector.html#aa408aa5327d07f69fc12314df2d5dcfb">buffer</a>(NULL), <a class="code" href="struct_nv_flex_vector.html#aa4422fcaa24d5bbd71aa7772639512b9">mappedPtr</a>(NULL), <a class="code" href="struct_nv_flex_vector.html#ad462ae46f0270161c79572762b558124">count</a>(0), <a class="code" href="struct_nv_flex_vector.html#ac28b5fd10fd519265c66cf4a0ce8e6ae">capacity</a>(0), <a class="code" href="struct_nv_flex_vector.html#a24fa4e3807b492cd5fbdc6c1c235062b">type</a>(<a class="code" href="struct_nv_flex_vector.html#a24fa4e3807b492cd5fbdc6c1c235062b">type</a>)</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  {</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="keywordflow">if</span> (<a class="code" href="struct_nv_flex_vector.html#a1933b633e9055d9adf8b62c4aa8a3bc0">size</a>)</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  {</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <a class="code" href="struct_nv_flex_vector.html#a6c4a1f4acb4d6275c9e1ac01d4e35ab1">resize</a>(<a class="code" href="struct_nv_flex_vector.html#a1933b633e9055d9adf8b62c4aa8a3bc0">size</a>);</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="comment">// resize implicitly maps, unmap initial allocation</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <a class="code" href="struct_nv_flex_vector.html#afca9914468beb61f6c98bc052e2af5e0">unmap</a>();</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  } </div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  }</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  </div>
<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="struct_nv_flex_vector.html#ae5818b10d20083ee9ed0aa7826ea7ab8"> 58</a></span>  <a class="code" href="struct_nv_flex_vector.html#ae5818b10d20083ee9ed0aa7826ea7ab8">NvFlexVector</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* l, <span class="keyword">const</span> T* ptr, <span class="keywordtype">int</span> <a class="code" href="struct_nv_flex_vector.html#a1933b633e9055d9adf8b62c4aa8a3bc0">size</a>, <a class="code" href="_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3">NvFlexBufferType</a> <a class="code" href="struct_nv_flex_vector.html#a24fa4e3807b492cd5fbdc6c1c235062b">type</a> = <a class="code" href="_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3aec63221ddc1b13eff4db55fbf6cd85f8">eNvFlexBufferHost</a>) : <a class="code" href="struct_nv_flex_vector.html#ab08ce71766df91fc9201a61a48054d0c">lib</a>(l), <a class="code" href="struct_nv_flex_vector.html#aa408aa5327d07f69fc12314df2d5dcfb">buffer</a>(NULL), <a class="code" href="struct_nv_flex_vector.html#aa4422fcaa24d5bbd71aa7772639512b9">mappedPtr</a>(NULL), <a class="code" href="struct_nv_flex_vector.html#ad462ae46f0270161c79572762b558124">count</a>(0), <a class="code" href="struct_nv_flex_vector.html#ac28b5fd10fd519265c66cf4a0ce8e6ae">capacity</a>(0), <a class="code" href="struct_nv_flex_vector.html#a24fa4e3807b492cd5fbdc6c1c235062b">type</a>(<a class="code" href="struct_nv_flex_vector.html#a24fa4e3807b492cd5fbdc6c1c235062b">type</a>)</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  {</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <a class="code" href="struct_nv_flex_vector.html#acd29b9b2b27e53e3640c24da6959e3cd">assign</a>(ptr, size);</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <a class="code" href="struct_nv_flex_vector.html#afca9914468beb61f6c98bc052e2af5e0">unmap</a>();</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  }</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  </div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div>
<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="struct_nv_flex_vector.html#afb9c0f47544c0cdebe21efb6908dd3a0"> 65</a></span>  <a class="code" href="struct_nv_flex_vector.html#afb9c0f47544c0cdebe21efb6908dd3a0">~NvFlexVector</a>() </div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  {</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <a class="code" href="struct_nv_flex_vector.html#ade3c494ee6e75e54a6ba73d6bc100bd9">destroy</a>();</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  }</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div>
<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="struct_nv_flex_vector.html#ab08ce71766df91fc9201a61a48054d0c"> 70</a></span>  <a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* <a class="code" href="struct_nv_flex_vector.html#ab08ce71766df91fc9201a61a48054d0c">lib</a>;</div>
<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="struct_nv_flex_vector.html#aa408aa5327d07f69fc12314df2d5dcfb"> 71</a></span>  <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* <a class="code" href="struct_nv_flex_vector.html#aa408aa5327d07f69fc12314df2d5dcfb">buffer</a>;</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div>
<div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="struct_nv_flex_vector.html#aa4422fcaa24d5bbd71aa7772639512b9"> 73</a></span>  T* <a class="code" href="struct_nv_flex_vector.html#aa4422fcaa24d5bbd71aa7772639512b9">mappedPtr</a>;</div>
<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="struct_nv_flex_vector.html#ad462ae46f0270161c79572762b558124"> 74</a></span>  <span class="keywordtype">int</span> <a class="code" href="struct_nv_flex_vector.html#ad462ae46f0270161c79572762b558124">count</a>;</div>
<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="struct_nv_flex_vector.html#ac28b5fd10fd519265c66cf4a0ce8e6ae"> 75</a></span>  <span class="keywordtype">int</span> <a class="code" href="struct_nv_flex_vector.html#ac28b5fd10fd519265c66cf4a0ce8e6ae">capacity</a>;</div>
<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="struct_nv_flex_vector.html#a24fa4e3807b492cd5fbdc6c1c235062b"> 76</a></span>  <a class="code" href="_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3">NvFlexBufferType</a> <a class="code" href="struct_nv_flex_vector.html#a24fa4e3807b492cd5fbdc6c1c235062b">type</a>;</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <span class="comment">// reinitialize the vector leaving it unmapped</span></div>
<div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="struct_nv_flex_vector.html#a0309d584abbe900d3af3823a79e89ee7"> 79</a></span>  <span class="keywordtype">void</span> <a class="code" href="struct_nv_flex_vector.html#a0309d584abbe900d3af3823a79e89ee7">init</a>(<span class="keywordtype">int</span> <a class="code" href="struct_nv_flex_vector.html#a1933b633e9055d9adf8b62c4aa8a3bc0">size</a>)</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  {</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <a class="code" href="struct_nv_flex_vector.html#ade3c494ee6e75e54a6ba73d6bc100bd9">destroy</a>();</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <a class="code" href="struct_nv_flex_vector.html#a6c4a1f4acb4d6275c9e1ac01d4e35ab1">resize</a>(size);</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <a class="code" href="struct_nv_flex_vector.html#afca9914468beb61f6c98bc052e2af5e0">unmap</a>();</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  }</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> </div>
<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="struct_nv_flex_vector.html#ade3c494ee6e75e54a6ba73d6bc100bd9"> 86</a></span>  <span class="keywordtype">void</span> <a class="code" href="struct_nv_flex_vector.html#ade3c494ee6e75e54a6ba73d6bc100bd9">destroy</a>()</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  { </div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="keywordflow">if</span> (mappedPtr)</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <a class="code" href="_nv_flex_8h.html#a054cb27646a389ea257d1bbde46a6e97">NvFlexUnmap</a>(buffer);</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="keywordflow">if</span> (buffer)</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <a class="code" href="_nv_flex_8h.html#ab559759820a4322aff061745ef26c867">NvFlexFreeBuffer</a>(buffer);</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> </div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  mappedPtr = NULL;</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  buffer = NULL;</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  capacity = 0; </div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  count = 0;</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  }</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> </div>
<div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="struct_nv_flex_vector.html#a56640fd10b06a4024a4bf01c306c436b"> 100</a></span>  <span class="keywordtype">void</span> <a class="code" href="struct_nv_flex_vector.html#a56640fd10b06a4024a4bf01c306c436b">map</a>(<span class="keywordtype">int</span> flags=<a class="code" href="_nv_flex_8h.html#a6541b33eaca7b2323e73b30cea34d16ca11adf517d180983daec217e761acc3d6">eNvFlexMapWait</a>)</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  {</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="keywordflow">if</span> (!buffer)</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> </div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  assert(!mappedPtr);</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  mappedPtr = (T*)<a class="code" href="_nv_flex_8h.html#a0898bb9210440b159688d4647f6eb083">NvFlexMap</a>(buffer, flags);</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  }</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  </div>
<div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="struct_nv_flex_vector.html#afca9914468beb61f6c98bc052e2af5e0"> 109</a></span>  <span class="keywordtype">void</span> <a class="code" href="struct_nv_flex_vector.html#afca9914468beb61f6c98bc052e2af5e0">unmap</a>()</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  {</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <span class="keywordflow">if</span> (!buffer)</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> </div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  assert(mappedPtr);</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <a class="code" href="_nv_flex_8h.html#a054cb27646a389ea257d1bbde46a6e97">NvFlexUnmap</a>(buffer);</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  mappedPtr = 0;</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  }</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div>
<div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="struct_nv_flex_vector.html#a3871fbd5422c9b3f41bd5dc2046e1aa7"> 120</a></span>  <span class="keyword">const</span> T& <a class="code" href="struct_nv_flex_vector.html#a3871fbd5422c9b3f41bd5dc2046e1aa7">operator[]</a>(<span class="keywordtype">int</span> index)<span class="keyword"> const</span></div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keyword"> </span>{ </div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  assert(mappedPtr);</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  assert(index < count);</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <span class="keywordflow">return</span> mappedPtr[index];</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  }</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> </div>
<div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="struct_nv_flex_vector.html#a769d5ad0723a3fceac7951967e8b4d03"> 128</a></span>  T& <a class="code" href="struct_nv_flex_vector.html#a769d5ad0723a3fceac7951967e8b4d03">operator[]</a>(<span class="keywordtype">int</span> index)</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  {</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  assert(mappedPtr);</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  assert(index < count);</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> </div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <span class="keywordflow">return</span> mappedPtr[index];</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  }</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> </div>
<div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="struct_nv_flex_vector.html#a98584303358b70fd12ead231cd750335"> 136</a></span>  <span class="keywordtype">void</span> <a class="code" href="struct_nv_flex_vector.html#a98584303358b70fd12ead231cd750335">push_back</a>(<span class="keyword">const</span> T& t)</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  {</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  assert(mappedPtr || !buffer);</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <a class="code" href="struct_nv_flex_vector.html#ae0e6ce694fb95a50c2974c6c2cc0ffc8">reserve</a>(count+1);</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="comment">// copy element</span></div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  mappedPtr[count++] = t; </div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  }</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> </div>
<div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="struct_nv_flex_vector.html#acd29b9b2b27e53e3640c24da6959e3cd"> 146</a></span>  <span class="keywordtype">void</span> <a class="code" href="struct_nv_flex_vector.html#acd29b9b2b27e53e3640c24da6959e3cd">assign</a>(<span class="keyword">const</span> T* srcPtr, <span class="keywordtype">int</span> newCount)</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  {</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  assert(mappedPtr || !buffer);</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  <a class="code" href="struct_nv_flex_vector.html#a6c4a1f4acb4d6275c9e1ac01d4e35ab1">resize</a>(newCount);</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  memcpy(mappedPtr, srcPtr, newCount*<span class="keyword">sizeof</span>(T));</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  }</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div>
<div class="line"><a name="l00155"></a><span class="lineno"><a class="line" href="struct_nv_flex_vector.html#a225da2c753ca0bb95b570c303f0cd761"> 155</a></span>  <span class="keywordtype">void</span> <a class="code" href="struct_nv_flex_vector.html#a225da2c753ca0bb95b570c303f0cd761">copyto</a>(T* dest, <span class="keywordtype">int</span> count) </div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  {</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  assert(mappedPtr);</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  memcpy(dest, mappedPtr, <span class="keyword">sizeof</span>(T)*count);</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  }</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div>
<div class="line"><a name="l00162"></a><span class="lineno"><a class="line" href="struct_nv_flex_vector.html#a1933b633e9055d9adf8b62c4aa8a3bc0"> 162</a></span>  <span class="keywordtype">int</span> <a class="code" href="struct_nv_flex_vector.html#a1933b633e9055d9adf8b62c4aa8a3bc0">size</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="struct_nv_flex_vector.html#ad462ae46f0270161c79572762b558124">count</a>; }</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div>
<div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="struct_nv_flex_vector.html#a73f78b1efc76c96666a96a79064670c5"> 164</a></span>  <span class="keywordtype">bool</span> <a class="code" href="struct_nv_flex_vector.html#a73f78b1efc76c96666a96a79064670c5">empty</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="struct_nv_flex_vector.html#a1933b633e9055d9adf8b62c4aa8a3bc0">size</a>() == 0; }</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div>
<div class="line"><a name="l00166"></a><span class="lineno"><a class="line" href="struct_nv_flex_vector.html#a37fbf38300ea57635af4b60c934e9f46"> 166</a></span>  <span class="keyword">const</span> T& <a class="code" href="struct_nv_flex_vector.html#a37fbf38300ea57635af4b60c934e9f46">back</a>()<span class="keyword"> const</span></div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="keyword"> </span>{</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  assert(mappedPtr);</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  assert(!<a class="code" href="struct_nv_flex_vector.html#a73f78b1efc76c96666a96a79064670c5">empty</a>());</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="keywordflow">return</span> mappedPtr[count-1];</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  }</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div>
<div class="line"><a name="l00174"></a><span class="lineno"><a class="line" href="struct_nv_flex_vector.html#ae0e6ce694fb95a50c2974c6c2cc0ffc8"> 174</a></span>  <span class="keywordtype">void</span> <a class="code" href="struct_nv_flex_vector.html#ae0e6ce694fb95a50c2974c6c2cc0ffc8">reserve</a>(<span class="keywordtype">int</span> minCapacity)</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  {</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  <span class="keywordflow">if</span> (minCapacity > capacity)</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  {</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <span class="comment">// growth factor of 1.5</span></div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> newCapacity = minCapacity*3/2;</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  <a class="code" href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a>* newBuf = <a class="code" href="_nv_flex_8h.html#ad48f83b8442323687d2268206e913496">NvFlexAllocBuffer</a>(lib, newCapacity, <span class="keyword">sizeof</span>(T), type);</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  <span class="comment">// copy contents to new buffer </span></div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  <span class="keywordtype">void</span>* newPtr = <a class="code" href="_nv_flex_8h.html#a0898bb9210440b159688d4647f6eb083">NvFlexMap</a>(newBuf, <a class="code" href="_nv_flex_8h.html#a6541b33eaca7b2323e73b30cea34d16ca11adf517d180983daec217e761acc3d6">eNvFlexMapWait</a>);</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  memcpy(newPtr, mappedPtr, count*<span class="keyword">sizeof</span>(T));</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  <span class="comment">// unmap old buffer, but leave new buffer mapped</span></div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <a class="code" href="struct_nv_flex_vector.html#afca9914468beb61f6c98bc052e2af5e0">unmap</a>();</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  </div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  <span class="keywordflow">if</span> (buffer)</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  <a class="code" href="_nv_flex_8h.html#ab559759820a4322aff061745ef26c867">NvFlexFreeBuffer</a>(buffer);</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <span class="comment">// swap</span></div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  buffer = newBuf;</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  mappedPtr = (T*)newPtr;</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  capacity = newCapacity; </div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  }</div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  }</div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> </div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  <span class="comment">// resizes mapped buffer and leaves new buffer mapped </span></div>
<div class="line"><a name="l00201"></a><span class="lineno"><a class="line" href="struct_nv_flex_vector.html#a6c4a1f4acb4d6275c9e1ac01d4e35ab1"> 201</a></span>  <span class="keywordtype">void</span> <a class="code" href="struct_nv_flex_vector.html#a6c4a1f4acb4d6275c9e1ac01d4e35ab1">resize</a>(<span class="keywordtype">int</span> newCount)</div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  {</div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  assert(mappedPtr || !buffer);</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <a class="code" href="struct_nv_flex_vector.html#ae0e6ce694fb95a50c2974c6c2cc0ffc8">reserve</a>(newCount); </div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> </div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  <span class="comment">// resize but do not initialize new entries</span></div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  count = newCount;</div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  }</div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> </div>
<div class="line"><a name="l00211"></a><span class="lineno"><a class="line" href="struct_nv_flex_vector.html#a36a3fd5e42c5d8005f72bcc43217cf37"> 211</a></span>  <span class="keywordtype">void</span> <a class="code" href="struct_nv_flex_vector.html#a36a3fd5e42c5d8005f72bcc43217cf37">resize</a>(<span class="keywordtype">int</span> newCount, <span class="keyword">const</span> T& val)</div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  {</div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  assert(mappedPtr || !buffer);</div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> </div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> startInit = <a class="code" href="struct_nv_flex_vector.html#ad462ae46f0270161c79572762b558124">count</a>;</div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> endInit = newCount;</div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> </div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  <a class="code" href="struct_nv_flex_vector.html#a6c4a1f4acb4d6275c9e1ac01d4e35ab1">resize</a>(newCount);</div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  <span class="comment">// init any new entries</span></div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i=startInit; i < endInit; ++i)</div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  mappedPtr[i] = val;</div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  }</div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> };</div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> </div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="keyword">extern</span> <span class="stringliteral">"C"</span> {</div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> </div>
<div class="line"><a name="l00231"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html"> 231</a></span> <span class="keyword">struct </span><a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_moving_frame">NvFlexExtMovingFrame</a></div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> {</div>
<div class="line"><a name="l00233"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a7d35ea2def3a05a5f85a5cdfd5abdc56"> 233</a></span>  <span class="keywordtype">float</span> <a class="code" href="_nv_flex_ext_8h.html#a7d35ea2def3a05a5f85a5cdfd5abdc56">position</a>[3];</div>
<div class="line"><a name="l00234"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#ad1af111e19f7ca92fd913c25c4d9288b"> 234</a></span>  <span class="keywordtype">float</span> <a class="code" href="_nv_flex_ext_8h.html#ad1af111e19f7ca92fd913c25c4d9288b">rotation</a>[4];</div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> </div>
<div class="line"><a name="l00236"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#acc246770a0f65f1e50b43c618955dc84"> 236</a></span>  <span class="keywordtype">float</span> <a class="code" href="_nv_flex_ext_8h.html#acc246770a0f65f1e50b43c618955dc84">velocity</a>[3];</div>
<div class="line"><a name="l00237"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a95fbd8d303fe90992b95b63a29eb5344"> 237</a></span>  <span class="keywordtype">float</span> <a class="code" href="_nv_flex_ext_8h.html#a95fbd8d303fe90992b95b63a29eb5344">omega</a>[3];</div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> </div>
<div class="line"><a name="l00239"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a0705c9d2b5960057b37f097083d96f33"> 239</a></span>  <span class="keywordtype">float</span> <a class="code" href="_nv_flex_ext_8h.html#a0705c9d2b5960057b37f097083d96f33">acceleration</a>[3];</div>
<div class="line"><a name="l00240"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#aab0ea63bac05cd6aee5054d369687fb0"> 240</a></span>  <span class="keywordtype">float</span> <a class="code" href="_nv_flex_ext_8h.html#aab0ea63bac05cd6aee5054d369687fb0">tau</a>[3];</div>
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> </div>
<div class="line"><a name="l00242"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#ae03f4690a66ba4e06e4b2519c688aaba"> 242</a></span>  <span class="keywordtype">float</span> <a class="code" href="_nv_flex_ext_8h.html#ae03f4690a66ba4e06e4b2519c688aaba">delta</a>[4][4];</div>
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> };</div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> </div>
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#a6a20d814e3b083b069daa0f20a3e756e">NvFlexExtMovingFrameInit</a>(<a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_moving_frame">NvFlexExtMovingFrame</a>* frame, <span class="keyword">const</span> <span class="keywordtype">float</span>* worldTranslation, <span class="keyword">const</span> <span class="keywordtype">float</span>* worldRotation);</div>
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> </div>
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="comment">/* Update a frame to a new position, this will automatically update the velocity and acceleration of</span></div>
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="comment"> * the frame, which can then be used to calculate inertial forces. This should be called once per-frame</span></div>
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="comment"> * with the new position and time-step used when moving the frame.</span></div>
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="comment"> * @param[in] frame A pointer to a user-allocated NvFlexExtMovingFrame struct</span></div>
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="comment"> * @param[in] worldTranslation A pointer to a vec3 storing the frame's initial translation in world space</span></div>
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="comment"> * @param[in] worldRotation A pointer to a quaternion storing the frame's initial rotation in world space</span></div>
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="comment"> * @param[in] dt The time that elapsed since the last call to the frame update</span></div>
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#a780022c1b8425074ce08328e8e8c35cc">NvFlexExtMovingFrameUpdate</a>(<a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_moving_frame">NvFlexExtMovingFrame</a>* frame, <span class="keyword">const</span> <span class="keywordtype">float</span>* worldTranslation, <span class="keyword">const</span> <span class="keywordtype">float</span>* worldRotation, <span class="keywordtype">float</span> dt);</div>
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> </div>
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="comment">/* Teleport particles to the frame's new position and apply the inertial forces</span></div>
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="comment"> * @param[in] frame A pointer to a user-allocated NvFlexExtMovingFrame struct</span></div>
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="comment"> * @param[in] positions A pointer to an array of particle positions in (x, y, z, 1/m) format</span></div>
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <span class="comment"> * @param[in] velocities A pointer to an array of particle velocities in (vx, vy, vz) format</span></div>
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="comment"> * @param[in] numParticles The number of particles to update</span></div>
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="comment"> * @param[in] linearScale How strongly the translational inertial forces should be applied, 0.0 corresponds to a purely local space simulation removing all inertial forces, 1.0 corresponds to no inertial damping and has no benefit over regular world space simulation</span></div>
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="comment"> * @param[in] angularScale How strongly the angular inertial forces should be applied, 0.0 corresponds to a purely local space simulation, 1.0 corresponds to no inertial damping</span></div>
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="comment"> * @param[in] dt The time that elapsed since the last call to the frame update, should match the value passed to NvFlexExtMovingFrameUpdate()</span></div>
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#a4ffe9bcd59a6cfc8900ac136f5123304">NvFlexExtMovingFrameApply</a>(<a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_moving_frame">NvFlexExtMovingFrame</a>* frame, <span class="keywordtype">float</span>* positions, <span class="keywordtype">float</span>* velocities, <span class="keywordtype">int</span> numParticles, <span class="keywordtype">float</span> linearScale, <span class="keywordtype">float</span> angularScale, <span class="keywordtype">float</span> dt);</div>
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> </div>
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> </div>
<div class="line"><a name="l00311"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html"> 311</a></span> <span class="keyword">struct </span><a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_asset">NvFlexExtAsset</a></div>
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> { </div>
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  <span class="comment">// particles</span></div>
<div class="line"><a name="l00314"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a0ac3c8cc1bb87eaa50690f44e56a74da"> 314</a></span>  <span class="keywordtype">float</span>* <a class="code" href="_nv_flex_ext_8h.html#a0ac3c8cc1bb87eaa50690f44e56a74da">particles</a>; </div>
<div class="line"><a name="l00315"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a4eceb2845977219379afdd06397a6706"> 315</a></span>  <span class="keywordtype">int</span> <a class="code" href="_nv_flex_ext_8h.html#a4eceb2845977219379afdd06397a6706">numParticles</a>; </div>
<div class="line"><a name="l00316"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#ab421c4d72574f468af6827c18c36a387"> 316</a></span>  <span class="keywordtype">int</span> <a class="code" href="_nv_flex_ext_8h.html#ab421c4d72574f468af6827c18c36a387">maxParticles</a>; </div>
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> </div>
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  <span class="comment">// springs</span></div>
<div class="line"><a name="l00319"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a8b7a9bd9cbd2f33c6b3da02687a6bd9d"> 319</a></span>  <span class="keywordtype">int</span>* <a class="code" href="_nv_flex_ext_8h.html#a8b7a9bd9cbd2f33c6b3da02687a6bd9d">springIndices</a>; </div>
<div class="line"><a name="l00320"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a1e8252d5e5f66b3d8920c1371f23cc05"> 320</a></span>  <span class="keywordtype">float</span>* <a class="code" href="_nv_flex_ext_8h.html#a1e8252d5e5f66b3d8920c1371f23cc05">springCoefficients</a>; </div>
<div class="line"><a name="l00321"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a9020959583f85486e060a7b5e611476d"> 321</a></span>  <span class="keywordtype">float</span>* <a class="code" href="_nv_flex_ext_8h.html#a9020959583f85486e060a7b5e611476d">springRestLengths</a>; </div>
<div class="line"><a name="l00322"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#ae5f81891f59382b133319dc3bcea8ba0"> 322</a></span>  <span class="keywordtype">int</span> <a class="code" href="_nv_flex_ext_8h.html#ae5f81891f59382b133319dc3bcea8ba0">numSprings</a>; </div>
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> </div>
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  <span class="comment">// shapes</span></div>
<div class="line"><a name="l00325"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a8a4a122a0a95b8262fc4673298a5cb1c"> 325</a></span>  <span class="keywordtype">int</span>* <a class="code" href="_nv_flex_ext_8h.html#a8a4a122a0a95b8262fc4673298a5cb1c">shapeIndices</a>; </div>
<div class="line"><a name="l00326"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a4810f46c27fd0cfacfb1f4be9dff0479"> 326</a></span>  <span class="keywordtype">int</span> <a class="code" href="_nv_flex_ext_8h.html#a4810f46c27fd0cfacfb1f4be9dff0479">numShapeIndices</a>; </div>
<div class="line"><a name="l00327"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a96b73b81c5db272d950efe3f03a8cef8"> 327</a></span>  <span class="keywordtype">int</span>* <a class="code" href="_nv_flex_ext_8h.html#a96b73b81c5db272d950efe3f03a8cef8">shapeOffsets</a>; </div>
<div class="line"><a name="l00328"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a0fd9407aad5001d3a9fe90e989da1aad"> 328</a></span>  <span class="keywordtype">float</span>* <a class="code" href="_nv_flex_ext_8h.html#a0fd9407aad5001d3a9fe90e989da1aad">shapeCoefficients</a>; </div>
<div class="line"><a name="l00329"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a24866c3fe2c482073325062c9c80d043"> 329</a></span>  <span class="keywordtype">float</span>* <a class="code" href="_nv_flex_ext_8h.html#a24866c3fe2c482073325062c9c80d043">shapeCenters</a>; </div>
<div class="line"><a name="l00330"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#afc07cf2edbf4d5bf504890b312a98bd7"> 330</a></span>  <span class="keywordtype">int</span> <a class="code" href="_nv_flex_ext_8h.html#afc07cf2edbf4d5bf504890b312a98bd7">numShapes</a>; </div>
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> </div>
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  <span class="comment">// plastic deformation</span></div>
<div class="line"><a name="l00333"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#aac7ec52c127730c381d4b8cbac8134bf"> 333</a></span>  <span class="keywordtype">float</span>* <a class="code" href="_nv_flex_ext_8h.html#aac7ec52c127730c381d4b8cbac8134bf">shapePlasticThresholds</a>; </div>
<div class="line"><a name="l00334"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a9342d21bf875d0f1a9d287ced08c087a"> 334</a></span>  <span class="keywordtype">float</span>* <a class="code" href="_nv_flex_ext_8h.html#a9342d21bf875d0f1a9d287ced08c087a">shapePlasticCreeps</a>; </div>
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> </div>
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  <span class="comment">// faces for cloth</span></div>
<div class="line"><a name="l00337"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#aeee311155e99ce95c506078964a7dc3c"> 337</a></span>  <span class="keywordtype">int</span>* <a class="code" href="_nv_flex_ext_8h.html#aeee311155e99ce95c506078964a7dc3c">triangleIndices</a>; </div>
<div class="line"><a name="l00338"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#ad858d4df98a4300668f2b8048881c0d5"> 338</a></span>  <span class="keywordtype">int</span> <a class="code" href="_nv_flex_ext_8h.html#ad858d4df98a4300668f2b8048881c0d5">numTriangles</a>; </div>
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> </div>
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  <span class="comment">// inflatable params</span></div>
<div class="line"><a name="l00341"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a960073478e49b229d1d19ac64c5b23f7"> 341</a></span>  <span class="keywordtype">bool</span> <a class="code" href="_nv_flex_ext_8h.html#a960073478e49b229d1d19ac64c5b23f7">inflatable</a>; </div>
<div class="line"><a name="l00342"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a3fc55581814cbab90a0c4167428893df"> 342</a></span>  <span class="keywordtype">float</span> <a class="code" href="_nv_flex_ext_8h.html#a3fc55581814cbab90a0c4167428893df">inflatableVolume</a>; </div>
<div class="line"><a name="l00343"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#ab556b9c29acfda73e14c68edc43be7e3"> 343</a></span>  <span class="keywordtype">float</span> <a class="code" href="_nv_flex_ext_8h.html#ab556b9c29acfda73e14c68edc43be7e3">inflatablePressure</a>; </div>
<div class="line"><a name="l00344"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#ad4d5551b97bd31b9e1ca5c57f2c82452"> 344</a></span>  <span class="keywordtype">float</span> <a class="code" href="_nv_flex_ext_8h.html#ad4d5551b97bd31b9e1ca5c57f2c82452">inflatableStiffness</a>; </div>
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> };</div>
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> </div>
<div class="line"><a name="l00350"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html"> 350</a></span> <span class="keyword">struct </span><a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_instance">NvFlexExtInstance</a></div>
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> {</div>
<div class="line"><a name="l00352"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a1a0c7a0c03148b1586c4fb48f14a565f"> 352</a></span>  <span class="keywordtype">int</span>* <a class="code" href="_nv_flex_ext_8h.html#a1a0c7a0c03148b1586c4fb48f14a565f">particleIndices</a>; </div>
<div class="line"><a name="l00353"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#aca9a5ecc1fd26fedf90f8f17e87e3ca8"> 353</a></span>  <span class="keywordtype">int</span> <a class="code" href="_nv_flex_ext_8h.html#aca9a5ecc1fd26fedf90f8f17e87e3ca8">numParticles</a>; </div>
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  </div>
<div class="line"><a name="l00355"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a3288fee0b909e9e768d9abc9b8da74cf"> 355</a></span>  <span class="keywordtype">int</span> <a class="code" href="_nv_flex_ext_8h.html#a3288fee0b909e9e768d9abc9b8da74cf">triangleIndex</a>; </div>
<div class="line"><a name="l00356"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#aa67489d3beb86e2b566e0fa2e978ed11"> 356</a></span>  <span class="keywordtype">int</span> <a class="code" href="_nv_flex_ext_8h.html#aa67489d3beb86e2b566e0fa2e978ed11">shapeIndex</a>; </div>
<div class="line"><a name="l00357"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#ac2ef832cadd91e257ba80eb97d936340"> 357</a></span>  <span class="keywordtype">int</span> <a class="code" href="_nv_flex_ext_8h.html#ac2ef832cadd91e257ba80eb97d936340">inflatableIndex</a>; </div>
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> </div>
<div class="line"><a name="l00359"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#aa6fb48cb1199af96a29de7616f7a4d18"> 359</a></span>  <span class="keywordtype">float</span>* <a class="code" href="_nv_flex_ext_8h.html#aa6fb48cb1199af96a29de7616f7a4d18">shapeTranslations</a>; </div>
<div class="line"><a name="l00360"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a3d0a712689ce07a5652d48ea25fa05b9"> 360</a></span>  <span class="keywordtype">float</span>* <a class="code" href="_nv_flex_ext_8h.html#a3d0a712689ce07a5652d48ea25fa05b9">shapeRotations</a>; </div>
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> </div>
<div class="line"><a name="l00362"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#aa4f19c17fa4ae35ceda90c8b3d1fcca4"> 362</a></span>  <span class="keyword">const</span> <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_asset">NvFlexExtAsset</a>* <a class="code" href="_nv_flex_ext_8h.html#aa4f19c17fa4ae35ceda90c8b3d1fcca4">asset</a>; </div>
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  </div>
<div class="line"><a name="l00364"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a8000e722ce864bbfbce0f303f39186d7"> 364</a></span>  <span class="keywordtype">void</span>* <a class="code" href="_nv_flex_ext_8h.html#a8000e722ce864bbfbce0f303f39186d7">userData</a>; </div>
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> };</div>
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> </div>
<div class="line"><a name="l00371"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html"> 371</a></span> <span class="keyword">struct </span><a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_soft_joint">NvFlexExtSoftJoint</a></div>
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> {</div>
<div class="line"><a name="l00373"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a9b81cabbc738fc2650c978bd39ae3bad"> 373</a></span>  <span class="keywordtype">int</span>* <a class="code" href="_nv_flex_ext_8h.html#a9b81cabbc738fc2650c978bd39ae3bad">particleIndices</a>; </div>
<div class="line"><a name="l00374"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a284e220726302e761f7cf5aa07884723"> 374</a></span>  <span class="keywordtype">float</span>* <a class="code" href="_nv_flex_ext_8h.html#a284e220726302e761f7cf5aa07884723">particleLocalPositions</a>; </div>
<div class="line"><a name="l00375"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a7850f47d32a8fe6107aae7a098de8f01"> 375</a></span>  <span class="keywordtype">int</span> <a class="code" href="_nv_flex_ext_8h.html#a7850f47d32a8fe6107aae7a098de8f01">shapeIndex</a>; </div>
<div class="line"><a name="l00376"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a77c2b96e59d92c49f902c2707df095f0"> 376</a></span>  <span class="keywordtype">int</span> <a class="code" href="_nv_flex_ext_8h.html#a77c2b96e59d92c49f902c2707df095f0">numParticles</a>; </div>
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> </div>
<div class="line"><a name="l00378"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a0a01f7b650db1077ffc165762703552b"> 378</a></span>  <span class="keywordtype">float</span> <a class="code" href="_nv_flex_ext_8h.html#a0a01f7b650db1077ffc165762703552b">shapeTranslations</a>[3]; </div>
<div class="line"><a name="l00379"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#aad1bc1104e48d8839d1b9c4c41b8ed42"> 379</a></span>  <span class="keywordtype">float</span> <a class="code" href="_nv_flex_ext_8h.html#aad1bc1104e48d8839d1b9c4c41b8ed42">shapeRotations</a>[4]; </div>
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> </div>
<div class="line"><a name="l00381"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a53b814424d9b4cd111a95a2b8ea16f14"> 381</a></span>  <span class="keywordtype">float</span> <a class="code" href="_nv_flex_ext_8h.html#a53b814424d9b4cd111a95a2b8ea16f14">stiffness</a>; </div>
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> </div>
<div class="line"><a name="l00383"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#ad5a3a0aed59d8fb5dedbabe189749bc3"> 383</a></span>  <span class="keywordtype">bool</span> <a class="code" href="_nv_flex_ext_8h.html#ad5a3a0aed59d8fb5dedbabe189749bc3">initialized</a>; </div>
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> };</div>
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> </div>
<div class="line"><a name="l00389"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4"> 389</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a> <a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>;</div>
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> </div>
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> NV_FLEX_API <span class="keywordtype">int</span> <a class="code" href="_nv_flex_ext_8h.html#a82a15dfd40b338a07cf4517f55f16720">NvFlexExtCreateWeldedMeshIndices</a>(<span class="keyword">const</span> <span class="keywordtype">float</span>* vertices, <span class="keywordtype">int</span> numVertices, <span class="keywordtype">int</span>* uniqueVerts, <span class="keywordtype">int</span>* originalToUniqueMap, <span class="keywordtype">float</span> threshold);</div>
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> </div>
<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> NV_FLEX_API <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_asset">NvFlexExtAsset</a>* <a class="code" href="_nv_flex_ext_8h.html#a8bef033b2a8567dfcc954e22534147ee">NvFlexExtCreateClothFromMesh</a>(<span class="keyword">const</span> <span class="keywordtype">float</span>* particles, <span class="keywordtype">int</span> numParticles, <span class="keyword">const</span> <span class="keywordtype">int</span>* indices, <span class="keywordtype">int</span> numTriangles, <span class="keywordtype">float</span> stretchStiffness, <span class="keywordtype">float</span> bendStiffness, <span class="keywordtype">float</span> tetherStiffness, <span class="keywordtype">float</span> tetherGive, <span class="keywordtype">float</span> pressure);</div>
<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> </div>
<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> NV_FLEX_API <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_asset">NvFlexExtAsset</a>* <a class="code" href="_nv_flex_ext_8h.html#addad82b3598059ffde7b3b5babe17bd4">NvFlexExtCreateTearingClothFromMesh</a>(<span class="keyword">const</span> <span class="keywordtype">float</span>* particles, <span class="keywordtype">int</span> numParticles, <span class="keywordtype">int</span> maxParticles, <span class="keyword">const</span> <span class="keywordtype">int</span>* indices, <span class="keywordtype">int</span> numTriangles, <span class="keywordtype">float</span> stretchStiffness, <span class="keywordtype">float</span> bendStiffness, <span class="keywordtype">float</span> pressure);</div>
<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> </div>
<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#a88054283907d3386f1a30cdc4475acb0">NvFlexExtDestroyTearingCloth</a>(<a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_asset">NvFlexExtAsset</a>* asset);</div>
<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> </div>
<div class="line"><a name="l00452"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html"> 452</a></span> <span class="keyword">struct </span><a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_tearing_particle_clone">NvFlexExtTearingParticleClone</a></div>
<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> {</div>
<div class="line"><a name="l00454"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a431c97a2756c45752dd7508f0810a397"> 454</a></span>  <span class="keywordtype">int</span> <a class="code" href="_nv_flex_ext_8h.html#a431c97a2756c45752dd7508f0810a397">srcIndex</a>; </div>
<div class="line"><a name="l00455"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a9034efff0f1b158a12a9ed6991d620fa"> 455</a></span>  <span class="keywordtype">int</span> <a class="code" href="_nv_flex_ext_8h.html#a9034efff0f1b158a12a9ed6991d620fa">destIndex</a>;</div>
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> };</div>
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> </div>
<div class="line"><a name="l00465"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html"> 465</a></span> <span class="keyword">struct </span><a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_tearing_mesh_edit">NvFlexExtTearingMeshEdit</a></div>
<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> {</div>
<div class="line"><a name="l00467"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a46b80c02097ebc40bf777708e8f17ed4"> 467</a></span>  <span class="keywordtype">int</span> <a class="code" href="_nv_flex_ext_8h.html#a46b80c02097ebc40bf777708e8f17ed4">triIndex</a>; <span class="comment">// index into the triangle indices array to update</span></div>
<div class="line"><a name="l00468"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a8cf124de0fc370757cb890f83984ced8"> 468</a></span>  <span class="keywordtype">int</span> <a class="code" href="_nv_flex_ext_8h.html#a8cf124de0fc370757cb890f83984ced8">newParticleIndex</a>; <span class="comment">// new value for the index</span></div>
<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> };</div>
<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> </div>
<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#a5efc0113d5432eb959437e6e3a98cc5f">NvFlexExtTearClothMesh</a>(<a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_asset">NvFlexExtAsset</a>* asset, <span class="keywordtype">float</span> maxStrain, <span class="keywordtype">int</span> maxSplits, <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_tearing_particle_clone">NvFlexExtTearingParticleClone</a>* particleCopies, <span class="keywordtype">int</span>* numParticleCopies, <span class="keywordtype">int</span> maxCopies, <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_tearing_mesh_edit">NvFlexExtTearingMeshEdit</a>* triangleEdits, <span class="keywordtype">int</span>* numTriangleEdits, <span class="keywordtype">int</span> maxEdits);</div>
<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> </div>
<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> NV_FLEX_API <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_asset">NvFlexExtAsset</a>* <a class="code" href="_nv_flex_ext_8h.html#ad0a9c7e2f907e46b60f6bacf402987ce">NvFlexExtCreateRigidFromMesh</a>(<span class="keyword">const</span> <span class="keywordtype">float</span>* vertices, <span class="keywordtype">int</span> numVertices, <span class="keyword">const</span> <span class="keywordtype">int</span>* indices, <span class="keywordtype">int</span> numTriangleIndices, <span class="keywordtype">float</span> radius, <span class="keywordtype">float</span> expand);</div>
<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> </div>
<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> NV_FLEX_API <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_asset">NvFlexExtAsset</a>* <a class="code" href="_nv_flex_ext_8h.html#a3a9ce6bba709625f6c338bd3070bd012">NvFlexExtCreateSoftFromMesh</a>(<span class="keyword">const</span> <span class="keywordtype">float</span>* vertices, <span class="keywordtype">int</span> numVertices, <span class="keyword">const</span> <span class="keywordtype">int</span>* indices, <span class="keywordtype">int</span> numTriangleIndices, <span class="keywordtype">float</span> particleSpacing, <span class="keywordtype">float</span> volumeSampling, <span class="keywordtype">float</span> surfaceSampling, <span class="keywordtype">float</span> clusterSpacing, <span class="keywordtype">float</span> clusterRadius, <span class="keywordtype">float</span> clusterStiffness, <span class="keywordtype">float</span> linkRadius, <span class="keywordtype">float</span> linkStiffness, <span class="keywordtype">float</span> globalStiffness, <span class="keywordtype">float</span> clusterPlasticThreshold, <span class="keywordtype">float</span> clusterPlasticCreep);</div>
<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> </div>
<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#a36c33fafe13c5fd5773bf9a2af2dd745">NvFlexExtDestroyAsset</a>(<a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_asset">NvFlexExtAsset</a>* asset);</div>
<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> </div>
<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#a6e3f12e9e92abb31b115cf31b33e34bb">NvFlexExtCreateSoftMeshSkinning</a>(<span class="keyword">const</span> <span class="keywordtype">float</span>* vertices, <span class="keywordtype">int</span> numVertices, <span class="keyword">const</span> <span class="keywordtype">float</span>* bones, <span class="keywordtype">int</span> numBones, <span class="keywordtype">float</span> falloff, <span class="keywordtype">float</span> maxDistance, <span class="keywordtype">float</span>* skinningWeights, <span class="keywordtype">int</span>* skinningIndices);</div>
<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> </div>
<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> NV_FLEX_API <a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* <a class="code" href="_nv_flex_ext_8h.html#a49906c9e3466d40383cddf627fe26658">NvFlexExtCreateContainer</a>(<a class="code" href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a>* lib, <a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver, <span class="keywordtype">int</span> maxParticles);</div>
<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> </div>
<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#a2509137d9fb8ab6818f35ab7761da7a5">NvFlexExtDestroyContainer</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container);</div>
<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> </div>
<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> NV_FLEX_API <span class="keywordtype">int</span> <a class="code" href="_nv_flex_ext_8h.html#a7c036ccca83df3659529858068e0593d">NvFlexExtAllocParticles</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container, <span class="keywordtype">int</span> n, <span class="keywordtype">int</span>* indices);</div>
<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> </div>
<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#ab0a259d159116b7fba9b229784b02c70">NvFlexExtFreeParticles</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container, <span class="keywordtype">int</span> n, <span class="keyword">const</span> <span class="keywordtype">int</span>* indices);</div>
<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> </div>
<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> </div>
<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> NV_FLEX_API <span class="keywordtype">int</span> <a class="code" href="_nv_flex_ext_8h.html#a7fc268a27306f6fc68dd1c106cfa62db">NvFlexExtGetActiveList</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container, <span class="keywordtype">int</span>* indices);</div>
<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> </div>
<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> </div>
<div class="line"><a name="l00588"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html"> 588</a></span> <span class="keyword">struct </span><a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_particle_data">NvFlexExtParticleData</a></div>
<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> {</div>
<div class="line"><a name="l00590"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a780c0bac62cc5dd8d04da11cff07eeba"> 590</a></span>  <span class="keywordtype">float</span>* <a class="code" href="_nv_flex_ext_8h.html#a780c0bac62cc5dd8d04da11cff07eeba">particles</a>; </div>
<div class="line"><a name="l00591"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a69962fe23c7fef594fb5f36a175ff148"> 591</a></span>  <span class="keywordtype">float</span>* <a class="code" href="_nv_flex_ext_8h.html#a69962fe23c7fef594fb5f36a175ff148">restParticles</a>; </div>
<div class="line"><a name="l00592"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#adbb39b1f8b0705bb3e19d2cb6145640f"> 592</a></span>  <span class="keywordtype">float</span>* <a class="code" href="_nv_flex_ext_8h.html#adbb39b1f8b0705bb3e19d2cb6145640f">velocities</a>; </div>
<div class="line"><a name="l00593"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a7fa35a822a4e856fee45b3263e679270"> 593</a></span>  <span class="keywordtype">int</span>* <a class="code" href="_nv_flex_ext_8h.html#a7fa35a822a4e856fee45b3263e679270">phases</a>; </div>
<div class="line"><a name="l00594"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#afcacbd584e2041855af50eae3f287779"> 594</a></span>  <span class="keywordtype">float</span>* <a class="code" href="_nv_flex_ext_8h.html#afcacbd584e2041855af50eae3f287779">normals</a>; </div>
<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> </div>
<div class="line"><a name="l00596"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#af911b47ddb538a0542f6e2c38a82d701"> 596</a></span>  <span class="keyword">const</span> <span class="keywordtype">float</span>* <a class="code" href="_nv_flex_ext_8h.html#af911b47ddb538a0542f6e2c38a82d701">lower</a>; </div>
<div class="line"><a name="l00597"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#ad722c319fe60d8a0933df217ba04b2ac"> 597</a></span>  <span class="keyword">const</span> <span class="keywordtype">float</span>* <a class="code" href="_nv_flex_ext_8h.html#ad722c319fe60d8a0933df217ba04b2ac">upper</a>; </div>
<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> };</div>
<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> </div>
<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> NV_FLEX_API <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_particle_data">NvFlexExtParticleData</a> <a class="code" href="_nv_flex_ext_8h.html#a3fa8bd4b7d4096602e611faf0bb62dfb">NvFlexExtMapParticleData</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container);</div>
<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#af0cd639c21be28640fe5e1dd94931d59">NvFlexExtUnmapParticleData</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container);</div>
<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> </div>
<div class="line"><a name="l00609"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html"> 609</a></span> <span class="keyword">struct </span><a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_triangle_data">NvFlexExtTriangleData</a></div>
<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> {</div>
<div class="line"><a name="l00611"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a806a707d6b32c41ab561a4893f43ddde"> 611</a></span>  <span class="keywordtype">int</span>* <a class="code" href="_nv_flex_ext_8h.html#a806a707d6b32c41ab561a4893f43ddde">indices</a>; </div>
<div class="line"><a name="l00612"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a56bf3b1fe603c79b871ead2efb65cc78"> 612</a></span>  <span class="keywordtype">float</span>* <a class="code" href="_nv_flex_ext_8h.html#a56bf3b1fe603c79b871ead2efb65cc78">normals</a>; </div>
<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> };</div>
<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> </div>
<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> NV_FLEX_API <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_triangle_data">NvFlexExtTriangleData</a> <a class="code" href="_nv_flex_ext_8h.html#a1646bf409084777cd0ff5d4fcccf07de">NvFlexExtMapTriangleData</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container);</div>
<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> </div>
<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#a89e582ae93e0256b06f22d9abf361783">NvFlexExtUnmapTriangleData</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container);</div>
<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> </div>
<div class="line"><a name="l00627"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html"> 627</a></span> <span class="keyword">struct </span><a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_shape_data">NvFlexExtShapeData</a></div>
<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> {</div>
<div class="line"><a name="l00629"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a6517fee9c5e151673ecd5ad91cbf2ae2"> 629</a></span>  <span class="keywordtype">float</span>* <a class="code" href="_nv_flex_ext_8h.html#a6517fee9c5e151673ecd5ad91cbf2ae2">rotations</a>; </div>
<div class="line"><a name="l00630"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#acd73f347463a114da73bb1ab5eff00b4"> 630</a></span>  <span class="keywordtype">float</span>* <a class="code" href="_nv_flex_ext_8h.html#acd73f347463a114da73bb1ab5eff00b4">positions</a>; </div>
<div class="line"><a name="l00631"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a4e845f47484e00a272ad351b4bf28e95"> 631</a></span>  <span class="keywordtype">int</span> <a class="code" href="_nv_flex_ext_8h.html#a4e845f47484e00a272ad351b4bf28e95">n</a>; </div>
<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> };</div>
<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> </div>
<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> NV_FLEX_API <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_shape_data">NvFlexExtShapeData</a> <a class="code" href="_nv_flex_ext_8h.html#a90f2d3ba5be20e70e7efead911ee7acc">NvFlexExtMapShapeData</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container);</div>
<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> </div>
<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#ab51f04114586b5bf0f6fc5816fda9c69">NvFlexExtUnmapShapeData</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container);</div>
<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> </div>
<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> NV_FLEX_API <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_instance">NvFlexExtInstance</a>* <a class="code" href="_nv_flex_ext_8h.html#a3bf10e2c9370602142b7be01e920f973">NvFlexExtCreateInstance</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container, <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_particle_data">NvFlexExtParticleData</a>* particleData, <span class="keyword">const</span> <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_asset">NvFlexExtAsset</a>* asset, <span class="keyword">const</span> <span class="keywordtype">float</span>* transform, <span class="keywordtype">float</span> vx, <span class="keywordtype">float</span> vy, <span class="keywordtype">float</span> vz, <span class="keywordtype">int</span> phase, <span class="keywordtype">float</span> invMassScale);</div>
<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> </div>
<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#a2b5634f64bd0d8d86f894885a1c16a33">NvFlexExtDestroyInstance</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container, <span class="keyword">const</span> <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_instance">NvFlexExtInstance</a>* instance);</div>
<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> </div>
<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#ad9343d07f49098ee205a1ed48dc9db34">NvFlexExtNotifyAssetChanged</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container, <span class="keyword">const</span> <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_asset">NvFlexExtAsset</a>* asset);</div>
<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> </div>
<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#ab4caadf5a6b19674849bfce91d986e7b">NvFlexExtTickContainer</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container, <span class="keywordtype">float</span> dt, <span class="keywordtype">int</span> numSubsteps, <span class="keywordtype">bool</span> enableTimers=<span class="keyword">false</span>);</div>
<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> </div>
<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#a425f4e472bb83797498c904ab228209c">NvFlexExtPushToDevice</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container);</div>
<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> </div>
<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#a89ea7bbd26bec46f1b82d84257de1f58">NvFlexExtPullFromDevice</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container);</div>
<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> </div>
<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#a4695d37db8b61495f200bfd88a2be628">NvFlexExtUpdateInstances</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container);</div>
<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> </div>
<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> </div>
<div class="line"><a name="l00734"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68e"> 734</a></span> <span class="keyword">enum</span> <a class="code" href="_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68e">NvFlexExtForceMode</a></div>
<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> {</div>
<div class="line"><a name="l00737"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68ea9d4e8413b628837f9d1982897fd1f4a2"> 737</a></span>  <a class="code" href="_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68ea9d4e8413b628837f9d1982897fd1f4a2">eNvFlexExtModeForce</a> = 0,</div>
<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> </div>
<div class="line"><a name="l00740"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68ea92265f22fc2a724baf640fdace8f8ea0"> 740</a></span>  <a class="code" href="_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68ea92265f22fc2a724baf640fdace8f8ea0">eNvFlexExtModeImpulse</a> = 1,</div>
<div class="line"><a name="l00741"></a><span class="lineno"> 741</span> </div>
<div class="line"><a name="l00743"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68ea6a2e4817b1e86764147c81e8d5e5070c"> 743</a></span>  <a class="code" href="_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68ea6a2e4817b1e86764147c81e8d5e5070c">eNvFlexExtModeVelocityChange</a> = 2,</div>
<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> };</div>
<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> </div>
<div class="line"><a name="l00749"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html"> 749</a></span> <span class="keyword">struct </span><a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_force_field">NvFlexExtForceField</a></div>
<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> {</div>
<div class="line"><a name="l00751"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a9e6134ffeca22636dcd467fa4dee1ba0"> 751</a></span>  <span class="keywordtype">float</span> <a class="code" href="_nv_flex_ext_8h.html#a9e6134ffeca22636dcd467fa4dee1ba0">mPosition</a>[3]; </div>
<div class="line"><a name="l00752"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a7ad225a762dcf91b7155c7229dd08d38"> 752</a></span>  <span class="keywordtype">float</span> <a class="code" href="_nv_flex_ext_8h.html#a7ad225a762dcf91b7155c7229dd08d38">mRadius</a>; </div>
<div class="line"><a name="l00753"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a0b9729f9896faba45c861a1e8d15290b"> 753</a></span>  <span class="keywordtype">float</span> <a class="code" href="_nv_flex_ext_8h.html#a0b9729f9896faba45c861a1e8d15290b">mStrength</a>; </div>
<div class="line"><a name="l00754"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a3d7dba5a4d9fce7230bc20a8bb567951"> 754</a></span>  <a class="code" href="_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68e">NvFlexExtForceMode</a> <a class="code" href="_nv_flex_ext_8h.html#a3d7dba5a4d9fce7230bc20a8bb567951">mMode</a>; </div>
<div class="line"><a name="l00755"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a785f5a041fb93cf460cde7153f87fa02"> 755</a></span>  <span class="keywordtype">bool</span> <a class="code" href="_nv_flex_ext_8h.html#a785f5a041fb93cf460cde7153f87fa02">mLinearFalloff</a>; </div>
<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> };</div>
<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> </div>
<div class="line"><a name="l00762"></a><span class="lineno"><a class="line" href="_nv_flex_ext_8h.html#a1117ce527b6b483cc756ab5352f6dc3f"> 762</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="_nv_flex_ext_8h.html#a1117ce527b6b483cc756ab5352f6dc3f">NvFlexExtForceFieldCallback</a> <a class="code" href="_nv_flex_ext_8h.html#a1117ce527b6b483cc756ab5352f6dc3f">NvFlexExtForceFieldCallback</a>;</div>
<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> </div>
<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> NV_FLEX_API <a class="code" href="_nv_flex_ext_8h.html#a1117ce527b6b483cc756ab5352f6dc3f">NvFlexExtForceFieldCallback</a>* <a class="code" href="_nv_flex_ext_8h.html#ac1ed9ff49120d0691352399c8173bdcf">NvFlexExtCreateForceFieldCallback</a>(<a class="code" href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a>* solver);</div>
<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> </div>
<div class="line"><a name="l00778"></a><span class="lineno"> 778</span> NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#ad08da77f432ca56bc59647bf73da86cb">NvFlexExtDestroyForceFieldCallback</a>(<a class="code" href="_nv_flex_ext_8h.html#a1117ce527b6b483cc756ab5352f6dc3f">NvFlexExtForceFieldCallback</a>* callback);</div>
<div class="line"><a name="l00779"></a><span class="lineno"> 779</span> </div>
<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#aa36d43b9e53b9b66d43c2bc5eb5abf98">NvFlexExtSetForceFields</a>(<a class="code" href="_nv_flex_ext_8h.html#a1117ce527b6b483cc756ab5352f6dc3f">NvFlexExtForceFieldCallback</a>* callback, <span class="keyword">const</span> <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_force_field">NvFlexExtForceField</a>* forceFields, <span class="keywordtype">int</span> numForceFields);</div>
<div class="line"><a name="l00788"></a><span class="lineno"> 788</span> </div>
<div class="line"><a name="l00799"></a><span class="lineno"> 799</span> NV_FLEX_API <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_soft_joint">NvFlexExtSoftJoint</a>* <a class="code" href="_nv_flex_ext_8h.html#af52527c58c7bd671d26b2985b078aff4">NvFlexExtCreateSoftJoint</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container, <span class="keyword">const</span> <span class="keywordtype">int</span>* particleIndices, <span class="keyword">const</span> <span class="keywordtype">float</span>* particleLocalPositions, <span class="keyword">const</span> <span class="keywordtype">int</span> numJointParticles, <span class="keyword">const</span> <span class="keywordtype">float</span> stiffness);</div>
<div class="line"><a name="l00800"></a><span class="lineno"> 800</span> </div>
<div class="line"><a name="l00806"></a><span class="lineno"> 806</span> NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#a021a25caa64e7f9e9542ea0bc7e6d632">NvFlexExtDestroySoftJoint</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container, <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_soft_joint">NvFlexExtSoftJoint</a>* joint);</div>
<div class="line"><a name="l00807"></a><span class="lineno"> 807</span> </div>
<div class="line"><a name="l00815"></a><span class="lineno"> 815</span> NV_FLEX_API <span class="keywordtype">void</span> <a class="code" href="_nv_flex_ext_8h.html#a3fea23644fb7b0840132eee46ea971e4">NvFlexExtSoftJointSetTransform</a>(<a class="code" href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a>* container, <a class="code" href="_nv_flex_ext_8h.html#struct_nv_flex_ext_soft_joint">NvFlexExtSoftJoint</a>* joint, <span class="keyword">const</span> <span class="keywordtype">float</span>* position, <span class="keyword">const</span> <span class="keywordtype">float</span>* rotation);</div>
<div class="line"><a name="l00816"></a><span class="lineno"> 816</span> </div>
<div class="line"><a name="l00817"></a><span class="lineno"> 817</span> } <span class="comment">// extern "C"</span></div>
<div class="line"><a name="l00818"></a><span class="lineno"> 818</span> </div>
<div class="line"><a name="l00819"></a><span class="lineno"> 819</span> <span class="preprocessor">#endif // NV_FLEX_EXT_H</span></div>
<div class="line"><a name="l00820"></a><span class="lineno"> 820</span> </div>
<div class="ttc" id="_nv_flex_ext_8h_html_a785f5a041fb93cf460cde7153f87fa02"><div class="ttname"><a href="_nv_flex_ext_8h.html#a785f5a041fb93cf460cde7153f87fa02">NvFlexExtForceField::mLinearFalloff</a></div><div class="ttdeci">bool mLinearFalloff</div><div class="ttdoc">Linear or no falloff. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:755</div></div>
<div class="ttc" id="struct_nv_flex_vector_html_ade3c494ee6e75e54a6ba73d6bc100bd9"><div class="ttname"><a href="struct_nv_flex_vector.html#ade3c494ee6e75e54a6ba73d6bc100bd9">NvFlexVector::destroy</a></div><div class="ttdeci">void destroy()</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:86</div></div>
<div class="ttc" id="struct_nv_flex_vector_html_a24fa4e3807b492cd5fbdc6c1c235062b"><div class="ttname"><a href="struct_nv_flex_vector.html#a24fa4e3807b492cd5fbdc6c1c235062b">NvFlexVector::type</a></div><div class="ttdeci">NvFlexBufferType type</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:76</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a4eceb2845977219379afdd06397a6706"><div class="ttname"><a href="_nv_flex_ext_8h.html#a4eceb2845977219379afdd06397a6706">NvFlexExtAsset::numParticles</a></div><div class="ttdeci">int numParticles</div><div class="ttdoc">Number of particles. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:315</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a24866c3fe2c482073325062c9c80d043"><div class="ttname"><a href="_nv_flex_ext_8h.html#a24866c3fe2c482073325062c9c80d043">NvFlexExtAsset::shapeCenters</a></div><div class="ttdeci">float * shapeCenters</div><div class="ttdoc">The position of the center of mass of each shape, an array of vec3s mNumShapes in length...</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:329</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_aa36d43b9e53b9b66d43c2bc5eb5abf98"><div class="ttname"><a href="_nv_flex_ext_8h.html#aa36d43b9e53b9b66d43c2bc5eb5abf98">NvFlexExtSetForceFields</a></div><div class="ttdeci">NV_FLEX_API void NvFlexExtSetForceFields(NvFlexExtForceFieldCallback *callback, const NvFlexExtForceField *forceFields, int numForceFields)</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a4ffe9bcd59a6cfc8900ac136f5123304"><div class="ttname"><a href="_nv_flex_ext_8h.html#a4ffe9bcd59a6cfc8900ac136f5123304">NvFlexExtMovingFrameApply</a></div><div class="ttdeci">NV_FLEX_API void NvFlexExtMovingFrameApply(NvFlexExtMovingFrame *frame, float *positions, float *velocities, int numParticles, float linearScale, float angularScale, float dt)</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a3d0a712689ce07a5652d48ea25fa05b9"><div class="ttname"><a href="_nv_flex_ext_8h.html#a3d0a712689ce07a5652d48ea25fa05b9">NvFlexExtInstance::shapeRotations</a></div><div class="ttdeci">float * shapeRotations</div><div class="ttdoc">Shape matching group rotations (quaternions) </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:360</div></div>
<div class="ttc" id="struct_nv_flex_vector_html_ae5818b10d20083ee9ed0aa7826ea7ab8"><div class="ttname"><a href="struct_nv_flex_vector.html#ae5818b10d20083ee9ed0aa7826ea7ab8">NvFlexVector::NvFlexVector</a></div><div class="ttdeci">NvFlexVector(NvFlexLibrary *l, const T *ptr, int size, NvFlexBufferType type=eNvFlexBufferHost)</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:58</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a4e845f47484e00a272ad351b4bf28e95"><div class="ttname"><a href="_nv_flex_ext_8h.html#a4e845f47484e00a272ad351b4bf28e95">NvFlexExtShapeData::n</a></div><div class="ttdeci">int n</div><div class="ttdoc">Number of valid tranforms. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:631</div></div>
<div class="ttc" id="struct_nv_flex_vector_html_ab08ce71766df91fc9201a61a48054d0c"><div class="ttname"><a href="struct_nv_flex_vector.html#ab08ce71766df91fc9201a61a48054d0c">NvFlexVector::lib</a></div><div class="ttdeci">NvFlexLibrary * lib</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:70</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a0ac3c8cc1bb87eaa50690f44e56a74da"><div class="ttname"><a href="_nv_flex_ext_8h.html#a0ac3c8cc1bb87eaa50690f44e56a74da">NvFlexExtAsset::particles</a></div><div class="ttdeci">float * particles</div><div class="ttdoc">Local space particle positions, x,y,z,1/mass. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:314</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a96b73b81c5db272d950efe3f03a8cef8"><div class="ttname"><a href="_nv_flex_ext_8h.html#a96b73b81c5db272d950efe3f03a8cef8">NvFlexExtAsset::shapeOffsets</a></div><div class="ttdeci">int * shapeOffsets</div><div class="ttdoc">Each entry stores the end of the shape's indices in the indices array (exclusive prefix sum of shape ...</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:327</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a8cf124de0fc370757cb890f83984ced8"><div class="ttname"><a href="_nv_flex_ext_8h.html#a8cf124de0fc370757cb890f83984ced8">NvFlexExtTearingMeshEdit::newParticleIndex</a></div><div class="ttdeci">int newParticleIndex</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:468</div></div>
<div class="ttc" id="_nv_flex_8h_html_a054cb27646a389ea257d1bbde46a6e97"><div class="ttname"><a href="_nv_flex_8h.html#a054cb27646a389ea257d1bbde46a6e97">NvFlexUnmap</a></div><div class="ttdeci">NV_FLEX_API void NvFlexUnmap(NvFlexBuffer *buffer)</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a2b5634f64bd0d8d86f894885a1c16a33"><div class="ttname"><a href="_nv_flex_ext_8h.html#a2b5634f64bd0d8d86f894885a1c16a33">NvFlexExtDestroyInstance</a></div><div class="ttdeci">NV_FLEX_API void NvFlexExtDestroyInstance(NvFlexExtContainer *container, const NvFlexExtInstance *instance)</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a780022c1b8425074ce08328e8e8c35cc"><div class="ttname"><a href="_nv_flex_ext_8h.html#a780022c1b8425074ce08328e8e8c35cc">NvFlexExtMovingFrameUpdate</a></div><div class="ttdeci">NV_FLEX_API void NvFlexExtMovingFrameUpdate(NvFlexExtMovingFrame *frame, const float *worldTranslation, const float *worldRotation, float dt)</div></div>
<div class="ttc" id="struct_nv_flex_vector_html_a0309d584abbe900d3af3823a79e89ee7"><div class="ttname"><a href="struct_nv_flex_vector.html#a0309d584abbe900d3af3823a79e89ee7">NvFlexVector::init</a></div><div class="ttdeci">void init(int size)</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:79</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_ad0a9c7e2f907e46b60f6bacf402987ce"><div class="ttname"><a href="_nv_flex_ext_8h.html#ad0a9c7e2f907e46b60f6bacf402987ce">NvFlexExtCreateRigidFromMesh</a></div><div class="ttdeci">NV_FLEX_API NvFlexExtAsset * NvFlexExtCreateRigidFromMesh(const float *vertices, int numVertices, const int *indices, int numTriangleIndices, float radius, float expand)</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a9020959583f85486e060a7b5e611476d"><div class="ttname"><a href="_nv_flex_ext_8h.html#a9020959583f85486e060a7b5e611476d">NvFlexExtAsset::springRestLengths</a></div><div class="ttdeci">float * springRestLengths</div><div class="ttdoc">Spring rest-lengths. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:321</div></div>
<div class="ttc" id="struct_nv_flex_vector_html_a1933b633e9055d9adf8b62c4aa8a3bc0"><div class="ttname"><a href="struct_nv_flex_vector.html#a1933b633e9055d9adf8b62c4aa8a3bc0">NvFlexVector::size</a></div><div class="ttdeci">int size() const </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:162</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_ab4caadf5a6b19674849bfce91d986e7b"><div class="ttname"><a href="_nv_flex_ext_8h.html#ab4caadf5a6b19674849bfce91d986e7b">NvFlexExtTickContainer</a></div><div class="ttdeci">NV_FLEX_API void NvFlexExtTickContainer(NvFlexExtContainer *container, float dt, int numSubsteps, bool enableTimers=false)</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_struct_nv_flex_ext_particle_data"><div class="ttname"><a href="_nv_flex_ext_8h.html#struct_nv_flex_ext_particle_data">NvFlexExtParticleData</a></div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:588</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_aca9a5ecc1fd26fedf90f8f17e87e3ca8"><div class="ttname"><a href="_nv_flex_ext_8h.html#aca9a5ecc1fd26fedf90f8f17e87e3ca8">NvFlexExtInstance::numParticles</a></div><div class="ttdeci">int numParticles</div><div class="ttdoc">Number of simulation particles. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:353</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_af0cd639c21be28640fe5e1dd94931d59"><div class="ttname"><a href="_nv_flex_ext_8h.html#af0cd639c21be28640fe5e1dd94931d59">NvFlexExtUnmapParticleData</a></div><div class="ttdeci">NV_FLEX_API void NvFlexExtUnmapParticleData(NvFlexExtContainer *container)</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_afaf84632a42346a718009bcda5efc8b4"><div class="ttname"><a href="_nv_flex_ext_8h.html#afaf84632a42346a718009bcda5efc8b4">NvFlexExtContainer</a></div><div class="ttdeci">struct NvFlexExtContainer NvFlexExtContainer</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:389</div></div>
<div class="ttc" id="struct_nv_flex_vector_html_a769d5ad0723a3fceac7951967e8b4d03"><div class="ttname"><a href="struct_nv_flex_vector.html#a769d5ad0723a3fceac7951967e8b4d03">NvFlexVector::operator[]</a></div><div class="ttdeci">T & operator[](int index)</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:128</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_af52527c58c7bd671d26b2985b078aff4"><div class="ttname"><a href="_nv_flex_ext_8h.html#af52527c58c7bd671d26b2985b078aff4">NvFlexExtCreateSoftJoint</a></div><div class="ttdeci">NV_FLEX_API NvFlexExtSoftJoint * NvFlexExtCreateSoftJoint(NvFlexExtContainer *container, const int *particleIndices, const float *particleLocalPositions, const int numJointParticles, const float stiffness)</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a8000e722ce864bbfbce0f303f39186d7"><div class="ttname"><a href="_nv_flex_ext_8h.html#a8000e722ce864bbfbce0f303f39186d7">NvFlexExtInstance::userData</a></div><div class="ttdeci">void * userData</div><div class="ttdoc">User data pointer. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:364</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a89ea7bbd26bec46f1b82d84257de1f58"><div class="ttname"><a href="_nv_flex_ext_8h.html#a89ea7bbd26bec46f1b82d84257de1f58">NvFlexExtPullFromDevice</a></div><div class="ttdeci">NV_FLEX_API void NvFlexExtPullFromDevice(NvFlexExtContainer *container)</div></div>
<div class="ttc" id="struct_nv_flex_vector_html_a36a3fd5e42c5d8005f72bcc43217cf37"><div class="ttname"><a href="struct_nv_flex_vector.html#a36a3fd5e42c5d8005f72bcc43217cf37">NvFlexVector::resize</a></div><div class="ttdeci">void resize(int newCount, const T &val)</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:211</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_aeee311155e99ce95c506078964a7dc3c"><div class="ttname"><a href="_nv_flex_ext_8h.html#aeee311155e99ce95c506078964a7dc3c">NvFlexExtAsset::triangleIndices</a></div><div class="ttdeci">int * triangleIndices</div><div class="ttdoc">Indexed triangle mesh indices for clothing. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:337</div></div>
<div class="ttc" id="struct_nv_flex_vector_html_ac28b5fd10fd519265c66cf4a0ce8e6ae"><div class="ttname"><a href="struct_nv_flex_vector.html#ac28b5fd10fd519265c66cf4a0ce8e6ae">NvFlexVector::capacity</a></div><div class="ttdeci">int capacity</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:75</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a1a0c7a0c03148b1586c4fb48f14a565f"><div class="ttname"><a href="_nv_flex_ext_8h.html#a1a0c7a0c03148b1586c4fb48f14a565f">NvFlexExtInstance::particleIndices</a></div><div class="ttdeci">int * particleIndices</div><div class="ttdoc">Simulation particle indices. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:352</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a7ad225a762dcf91b7155c7229dd08d38"><div class="ttname"><a href="_nv_flex_ext_8h.html#a7ad225a762dcf91b7155c7229dd08d38">NvFlexExtForceField::mRadius</a></div><div class="ttdeci">float mRadius</div><div class="ttdoc">Radius of the force field. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:752</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_ad858d4df98a4300668f2b8048881c0d5"><div class="ttname"><a href="_nv_flex_ext_8h.html#ad858d4df98a4300668f2b8048881c0d5">NvFlexExtAsset::numTriangles</a></div><div class="ttdeci">int numTriangles</div><div class="ttdoc">Number of triangles. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:338</div></div>
<div class="ttc" id="_nv_flex_8h_html_a6541b33eaca7b2323e73b30cea34d16ca11adf517d180983daec217e761acc3d6"><div class="ttname"><a href="_nv_flex_8h.html#a6541b33eaca7b2323e73b30cea34d16ca11adf517d180983daec217e761acc3d6">eNvFlexMapWait</a></div><div class="ttdoc">Calling thread will be blocked until buffer is ready for access, default. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:69</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a53b814424d9b4cd111a95a2b8ea16f14"><div class="ttname"><a href="_nv_flex_ext_8h.html#a53b814424d9b4cd111a95a2b8ea16f14">NvFlexExtSoftJoint::stiffness</a></div><div class="ttdeci">float stiffness</div><div class="ttdoc">Joint stiffness. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:381</div></div>
<div class="ttc" id="_nv_flex_8h_html_afaeb57f4ee7e54b1ae1b912a465ed39e"><div class="ttname"><a href="_nv_flex_8h.html#afaeb57f4ee7e54b1ae1b912a465ed39e">NvFlexSolver</a></div><div class="ttdeci">struct NvFlexSolver NvFlexSolver</div><div class="ttdef"><b>Definition:</b> NvFlex.h:57</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a8bef033b2a8567dfcc954e22534147ee"><div class="ttname"><a href="_nv_flex_ext_8h.html#a8bef033b2a8567dfcc954e22534147ee">NvFlexExtCreateClothFromMesh</a></div><div class="ttdeci">NV_FLEX_API NvFlexExtAsset * NvFlexExtCreateClothFromMesh(const float *particles, int numParticles, const int *indices, int numTriangles, float stretchStiffness, float bendStiffness, float tetherStiffness, float tetherGive, float pressure)</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_struct_nv_flex_ext_force_field"><div class="ttname"><a href="_nv_flex_ext_8h.html#struct_nv_flex_ext_force_field">NvFlexExtForceField</a></div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:749</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a4810f46c27fd0cfacfb1f4be9dff0479"><div class="ttname"><a href="_nv_flex_ext_8h.html#a4810f46c27fd0cfacfb1f4be9dff0479">NvFlexExtAsset::numShapeIndices</a></div><div class="ttdeci">int numShapeIndices</div><div class="ttdoc">Total number of indices for shape constraints. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:326</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a88054283907d3386f1a30cdc4475acb0"><div class="ttname"><a href="_nv_flex_ext_8h.html#a88054283907d3386f1a30cdc4475acb0">NvFlexExtDestroyTearingCloth</a></div><div class="ttdeci">NV_FLEX_API void NvFlexExtDestroyTearingCloth(NvFlexExtAsset *asset)</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a6517fee9c5e151673ecd5ad91cbf2ae2"><div class="ttname"><a href="_nv_flex_ext_8h.html#a6517fee9c5e151673ecd5ad91cbf2ae2">NvFlexExtShapeData::rotations</a></div><div class="ttdeci">float * rotations</div><div class="ttdoc">Receives a pointer to the array quaternion rotation data in [x, y z, w] format. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:629</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a7fc268a27306f6fc68dd1c106cfa62db"><div class="ttname"><a href="_nv_flex_ext_8h.html#a7fc268a27306f6fc68dd1c106cfa62db">NvFlexExtGetActiveList</a></div><div class="ttdeci">NV_FLEX_API int NvFlexExtGetActiveList(NvFlexExtContainer *container, int *indices)</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_aa67489d3beb86e2b566e0fa2e978ed11"><div class="ttname"><a href="_nv_flex_ext_8h.html#aa67489d3beb86e2b566e0fa2e978ed11">NvFlexExtInstance::shapeIndex</a></div><div class="ttdeci">int shapeIndex</div><div class="ttdoc">Index in the container's shape body constraints array. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:356</div></div>
<div class="ttc" id="struct_nv_flex_vector_html"><div class="ttname"><a href="struct_nv_flex_vector.html">NvFlexVector</a></div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:45</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_ad08da77f432ca56bc59647bf73da86cb"><div class="ttname"><a href="_nv_flex_ext_8h.html#ad08da77f432ca56bc59647bf73da86cb">NvFlexExtDestroyForceFieldCallback</a></div><div class="ttdeci">NV_FLEX_API void NvFlexExtDestroyForceFieldCallback(NvFlexExtForceFieldCallback *callback)</div></div>
<div class="ttc" id="_nv_flex_8h_html_a0898bb9210440b159688d4647f6eb083"><div class="ttname"><a href="_nv_flex_8h.html#a0898bb9210440b159688d4647f6eb083">NvFlexMap</a></div><div class="ttdeci">NV_FLEX_API void * NvFlexMap(NvFlexBuffer *buffer, int flags)</div></div>
<div class="ttc" id="struct_nv_flex_vector_html_a51edbab41cc249bc117c7ce17651007c"><div class="ttname"><a href="struct_nv_flex_vector.html#a51edbab41cc249bc117c7ce17651007c">NvFlexVector::NvFlexVector</a></div><div class="ttdeci">NvFlexVector(NvFlexLibrary *l, int size=0, NvFlexBufferType type=eNvFlexBufferHost)</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:47</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a8b7a9bd9cbd2f33c6b3da02687a6bd9d"><div class="ttname"><a href="_nv_flex_ext_8h.html#a8b7a9bd9cbd2f33c6b3da02687a6bd9d">NvFlexExtAsset::springIndices</a></div><div class="ttdeci">int * springIndices</div><div class="ttdoc">Spring indices. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:319</div></div>
<div class="ttc" id="struct_nv_flex_vector_html_ae0e6ce694fb95a50c2974c6c2cc0ffc8"><div class="ttname"><a href="struct_nv_flex_vector.html#ae0e6ce694fb95a50c2974c6c2cc0ffc8">NvFlexVector::reserve</a></div><div class="ttdeci">void reserve(int minCapacity)</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:174</div></div>
<div class="ttc" id="struct_nv_flex_vector_html_afb9c0f47544c0cdebe21efb6908dd3a0"><div class="ttname"><a href="struct_nv_flex_vector.html#afb9c0f47544c0cdebe21efb6908dd3a0">NvFlexVector::~NvFlexVector</a></div><div class="ttdeci">~NvFlexVector()</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:65</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_ab421c4d72574f468af6827c18c36a387"><div class="ttname"><a href="_nv_flex_ext_8h.html#ab421c4d72574f468af6827c18c36a387">NvFlexExtAsset::maxParticles</a></div><div class="ttdeci">int maxParticles</div><div class="ttdoc">Maximum number of particles, allows extra space for tearable assets which duplicate particles...</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:316</div></div>
<div class="ttc" id="struct_nv_flex_vector_html_a98584303358b70fd12ead231cd750335"><div class="ttname"><a href="struct_nv_flex_vector.html#a98584303358b70fd12ead231cd750335">NvFlexVector::push_back</a></div><div class="ttdeci">void push_back(const T &t)</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:136</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a2509137d9fb8ab6818f35ab7761da7a5"><div class="ttname"><a href="_nv_flex_ext_8h.html#a2509137d9fb8ab6818f35ab7761da7a5">NvFlexExtDestroyContainer</a></div><div class="ttdeci">NV_FLEX_API void NvFlexExtDestroyContainer(NvFlexExtContainer *container)</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_aab0ea63bac05cd6aee5054d369687fb0"><div class="ttname"><a href="_nv_flex_ext_8h.html#aab0ea63bac05cd6aee5054d369687fb0">NvFlexExtMovingFrame::tau</a></div><div class="ttdeci">float tau[3]</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:240</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a95fbd8d303fe90992b95b63a29eb5344"><div class="ttname"><a href="_nv_flex_ext_8h.html#a95fbd8d303fe90992b95b63a29eb5344">NvFlexExtMovingFrame::omega</a></div><div class="ttdeci">float omega[3]</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:237</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a6e3f12e9e92abb31b115cf31b33e34bb"><div class="ttname"><a href="_nv_flex_ext_8h.html#a6e3f12e9e92abb31b115cf31b33e34bb">NvFlexExtCreateSoftMeshSkinning</a></div><div class="ttdeci">NV_FLEX_API void NvFlexExtCreateSoftMeshSkinning(const float *vertices, int numVertices, const float *bones, int numBones, float falloff, float maxDistance, float *skinningWeights, int *skinningIndices)</div></div>
<div class="ttc" id="struct_nv_flex_vector_html_a73f78b1efc76c96666a96a79064670c5"><div class="ttname"><a href="struct_nv_flex_vector.html#a73f78b1efc76c96666a96a79064670c5">NvFlexVector::empty</a></div><div class="ttdeci">bool empty() const </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:164</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_struct_nv_flex_ext_tearing_mesh_edit"><div class="ttname"><a href="_nv_flex_ext_8h.html#struct_nv_flex_ext_tearing_mesh_edit">NvFlexExtTearingMeshEdit</a></div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:465</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a49906c9e3466d40383cddf627fe26658"><div class="ttname"><a href="_nv_flex_ext_8h.html#a49906c9e3466d40383cddf627fe26658">NvFlexExtCreateContainer</a></div><div class="ttdeci">NV_FLEX_API NvFlexExtContainer * NvFlexExtCreateContainer(NvFlexLibrary *lib, NvFlexSolver *solver, int maxParticles)</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a3bf10e2c9370602142b7be01e920f973"><div class="ttname"><a href="_nv_flex_ext_8h.html#a3bf10e2c9370602142b7be01e920f973">NvFlexExtCreateInstance</a></div><div class="ttdeci">NV_FLEX_API NvFlexExtInstance * NvFlexExtCreateInstance(NvFlexExtContainer *container, NvFlexExtParticleData *particleData, const NvFlexExtAsset *asset, const float *transform, float vx, float vy, float vz, int phase, float invMassScale)</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_ad1af111e19f7ca92fd913c25c4d9288b"><div class="ttname"><a href="_nv_flex_ext_8h.html#ad1af111e19f7ca92fd913c25c4d9288b">NvFlexExtMovingFrame::rotation</a></div><div class="ttdeci">float rotation[4]</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:234</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a3fc55581814cbab90a0c4167428893df"><div class="ttname"><a href="_nv_flex_ext_8h.html#a3fc55581814cbab90a0c4167428893df">NvFlexExtAsset::inflatableVolume</a></div><div class="ttdeci">float inflatableVolume</div><div class="ttdoc">The rest volume for the inflatable constraint. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:342</div></div>
<div class="ttc" id="_nv_flex_8h_html_a169e4c126acf46bdebf76c36a44deca3aec63221ddc1b13eff4db55fbf6cd85f8"><div class="ttname"><a href="_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3aec63221ddc1b13eff4db55fbf6cd85f8">eNvFlexBufferHost</a></div><div class="ttdoc">A host mappable buffer, pinned memory on CUDA, staging buffer on DX. </div><div class="ttdef"><b>Definition:</b> NvFlex.h:78</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_ab51f04114586b5bf0f6fc5816fda9c69"><div class="ttname"><a href="_nv_flex_ext_8h.html#ab51f04114586b5bf0f6fc5816fda9c69">NvFlexExtUnmapShapeData</a></div><div class="ttdeci">NV_FLEX_API void NvFlexExtUnmapShapeData(NvFlexExtContainer *container)</div></div>
<div class="ttc" id="_nv_flex_8h_html_a50a3933d3f7b77d0500c702b1fa9ba9a"><div class="ttname"><a href="_nv_flex_8h.html#a50a3933d3f7b77d0500c702b1fa9ba9a">NvFlexBuffer</a></div><div class="ttdeci">struct NvFlexBuffer NvFlexBuffer</div><div class="ttdef"><b>Definition:</b> NvFlex.h:62</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a90f2d3ba5be20e70e7efead911ee7acc"><div class="ttname"><a href="_nv_flex_ext_8h.html#a90f2d3ba5be20e70e7efead911ee7acc">NvFlexExtMapShapeData</a></div><div class="ttdeci">NV_FLEX_API NvFlexExtShapeData NvFlexExtMapShapeData(NvFlexExtContainer *container)</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a502acd5c1db4ba6eef61eba25f26d68ea92265f22fc2a724baf640fdace8f8ea0"><div class="ttname"><a href="_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68ea92265f22fc2a724baf640fdace8f8ea0">eNvFlexExtModeImpulse</a></div><div class="ttdoc">Apply field value as an impulse. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:740</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a780c0bac62cc5dd8d04da11cff07eeba"><div class="ttname"><a href="_nv_flex_ext_8h.html#a780c0bac62cc5dd8d04da11cff07eeba">NvFlexExtParticleData::particles</a></div><div class="ttdeci">float * particles</div><div class="ttdoc">Receives a pointer to the particle position / mass data. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:590</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a1e8252d5e5f66b3d8920c1371f23cc05"><div class="ttname"><a href="_nv_flex_ext_8h.html#a1e8252d5e5f66b3d8920c1371f23cc05">NvFlexExtAsset::springCoefficients</a></div><div class="ttdeci">float * springCoefficients</div><div class="ttdoc">Spring coefficients. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:320</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a3a9ce6bba709625f6c338bd3070bd012"><div class="ttname"><a href="_nv_flex_ext_8h.html#a3a9ce6bba709625f6c338bd3070bd012">NvFlexExtCreateSoftFromMesh</a></div><div class="ttdeci">NV_FLEX_API NvFlexExtAsset * NvFlexExtCreateSoftFromMesh(const float *vertices, int numVertices, const int *indices, int numTriangleIndices, float particleSpacing, float volumeSampling, float surfaceSampling, float clusterSpacing, float clusterRadius, float clusterStiffness, float linkRadius, float linkStiffness, float globalStiffness, float clusterPlasticThreshold, float clusterPlasticCreep)</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a69962fe23c7fef594fb5f36a175ff148"><div class="ttname"><a href="_nv_flex_ext_8h.html#a69962fe23c7fef594fb5f36a175ff148">NvFlexExtParticleData::restParticles</a></div><div class="ttdeci">float * restParticles</div><div class="ttdoc">Receives a pointer to the particle's rest position (used for self collision culling) ...</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:591</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_acd73f347463a114da73bb1ab5eff00b4"><div class="ttname"><a href="_nv_flex_ext_8h.html#acd73f347463a114da73bb1ab5eff00b4">NvFlexExtShapeData::positions</a></div><div class="ttdeci">float * positions</div><div class="ttdoc">Receives a pointer to an array of shape body translations in [x, y, z] format. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:630</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_struct_nv_flex_ext_moving_frame"><div class="ttname"><a href="_nv_flex_ext_8h.html#struct_nv_flex_ext_moving_frame">NvFlexExtMovingFrame</a></div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:231</div></div>
<div class="ttc" id="struct_nv_flex_vector_html_a3871fbd5422c9b3f41bd5dc2046e1aa7"><div class="ttname"><a href="struct_nv_flex_vector.html#a3871fbd5422c9b3f41bd5dc2046e1aa7">NvFlexVector::operator[]</a></div><div class="ttdeci">const T & operator[](int index) const </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:120</div></div>
<div class="ttc" id="struct_nv_flex_vector_html_afca9914468beb61f6c98bc052e2af5e0"><div class="ttname"><a href="struct_nv_flex_vector.html#afca9914468beb61f6c98bc052e2af5e0">NvFlexVector::unmap</a></div><div class="ttdeci">void unmap()</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:109</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_struct_nv_flex_ext_instance"><div class="ttname"><a href="_nv_flex_ext_8h.html#struct_nv_flex_ext_instance">NvFlexExtInstance</a></div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:350</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a4695d37db8b61495f200bfd88a2be628"><div class="ttname"><a href="_nv_flex_ext_8h.html#a4695d37db8b61495f200bfd88a2be628">NvFlexExtUpdateInstances</a></div><div class="ttdeci">NV_FLEX_API void NvFlexExtUpdateInstances(NvFlexExtContainer *container)</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_ad5a3a0aed59d8fb5dedbabe189749bc3"><div class="ttname"><a href="_nv_flex_ext_8h.html#ad5a3a0aed59d8fb5dedbabe189749bc3">NvFlexExtSoftJoint::initialized</a></div><div class="ttdeci">bool initialized</div><div class="ttdoc">Joint status flag. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:383</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a9e6134ffeca22636dcd467fa4dee1ba0"><div class="ttname"><a href="_nv_flex_ext_8h.html#a9e6134ffeca22636dcd467fa4dee1ba0">NvFlexExtForceField::mPosition</a></div><div class="ttdeci">float mPosition[3]</div><div class="ttdoc">Center of force field. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:751</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a806a707d6b32c41ab561a4893f43ddde"><div class="ttname"><a href="_nv_flex_ext_8h.html#a806a707d6b32c41ab561a4893f43ddde">NvFlexExtTriangleData::indices</a></div><div class="ttdeci">int * indices</div><div class="ttdoc">Receives a pointer to the array of triangle index data. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:611</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a56bf3b1fe603c79b871ead2efb65cc78"><div class="ttname"><a href="_nv_flex_ext_8h.html#a56bf3b1fe603c79b871ead2efb65cc78">NvFlexExtTriangleData::normals</a></div><div class="ttdeci">float * normals</div><div class="ttdoc">Receives a pointer to an array of triangle normal data stored with 16 byte stride, i.e.: [nx, ny, nz]. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:612</div></div>
<div class="ttc" id="_nv_flex_8h_html"><div class="ttname"><a href="_nv_flex_8h.html">NvFlex.h</a></div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a3fea23644fb7b0840132eee46ea971e4"><div class="ttname"><a href="_nv_flex_ext_8h.html#a3fea23644fb7b0840132eee46ea971e4">NvFlexExtSoftJointSetTransform</a></div><div class="ttdeci">NV_FLEX_API void NvFlexExtSoftJointSetTransform(NvFlexExtContainer *container, NvFlexExtSoftJoint *joint, const float *position, const float *rotation)</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a5efc0113d5432eb959437e6e3a98cc5f"><div class="ttname"><a href="_nv_flex_ext_8h.html#a5efc0113d5432eb959437e6e3a98cc5f">NvFlexExtTearClothMesh</a></div><div class="ttdeci">NV_FLEX_API void NvFlexExtTearClothMesh(NvFlexExtAsset *asset, float maxStrain, int maxSplits, NvFlexExtTearingParticleClone *particleCopies, int *numParticleCopies, int maxCopies, NvFlexExtTearingMeshEdit *triangleEdits, int *numTriangleEdits, int maxEdits)</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a0705c9d2b5960057b37f097083d96f33"><div class="ttname"><a href="_nv_flex_ext_8h.html#a0705c9d2b5960057b37f097083d96f33">NvFlexExtMovingFrame::acceleration</a></div><div class="ttdeci">float acceleration[3]</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:239</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a9b81cabbc738fc2650c978bd39ae3bad"><div class="ttname"><a href="_nv_flex_ext_8h.html#a9b81cabbc738fc2650c978bd39ae3bad">NvFlexExtSoftJoint::particleIndices</a></div><div class="ttdeci">int * particleIndices</div><div class="ttdoc">Global indices. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:373</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a502acd5c1db4ba6eef61eba25f26d68ea9d4e8413b628837f9d1982897fd1f4a2"><div class="ttname"><a href="_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68ea9d4e8413b628837f9d1982897fd1f4a2">eNvFlexExtModeForce</a></div><div class="ttdoc">Apply field value as a force. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:737</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_ad4d5551b97bd31b9e1ca5c57f2c82452"><div class="ttname"><a href="_nv_flex_ext_8h.html#ad4d5551b97bd31b9e1ca5c57f2c82452">NvFlexExtAsset::inflatableStiffness</a></div><div class="ttdeci">float inflatableStiffness</div><div class="ttdoc">How stiff the inflatable is. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:344</div></div>
<div class="ttc" id="_nv_flex_8h_html_a3078976e98f370a9fbdb11db80f1f318"><div class="ttname"><a href="_nv_flex_8h.html#a3078976e98f370a9fbdb11db80f1f318">NvFlexLibrary</a></div><div class="ttdeci">struct NvFlexLibrary NvFlexLibrary</div><div class="ttdef"><b>Definition:</b> NvFlex.h:52</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a46b80c02097ebc40bf777708e8f17ed4"><div class="ttname"><a href="_nv_flex_ext_8h.html#a46b80c02097ebc40bf777708e8f17ed4">NvFlexExtTearingMeshEdit::triIndex</a></div><div class="ttdeci">int triIndex</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:467</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_afcacbd584e2041855af50eae3f287779"><div class="ttname"><a href="_nv_flex_ext_8h.html#afcacbd584e2041855af50eae3f287779">NvFlexExtParticleData::normals</a></div><div class="ttdeci">float * normals</div><div class="ttdoc">Receives a pointer to the particle normal data with 16 byte stride in format [nx, ny...</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:594</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a77c2b96e59d92c49f902c2707df095f0"><div class="ttname"><a href="_nv_flex_ext_8h.html#a77c2b96e59d92c49f902c2707df095f0">NvFlexExtSoftJoint::numParticles</a></div><div class="ttdeci">int numParticles</div><div class="ttdoc">Number of particles in the joint. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:376</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a1646bf409084777cd0ff5d4fcccf07de"><div class="ttname"><a href="_nv_flex_ext_8h.html#a1646bf409084777cd0ff5d4fcccf07de">NvFlexExtMapTriangleData</a></div><div class="ttdeci">NV_FLEX_API NvFlexExtTriangleData NvFlexExtMapTriangleData(NvFlexExtContainer *container)</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a9034efff0f1b158a12a9ed6991d620fa"><div class="ttname"><a href="_nv_flex_ext_8h.html#a9034efff0f1b158a12a9ed6991d620fa">NvFlexExtTearingParticleClone::destIndex</a></div><div class="ttdeci">int destIndex</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:455</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a0b9729f9896faba45c861a1e8d15290b"><div class="ttname"><a href="_nv_flex_ext_8h.html#a0b9729f9896faba45c861a1e8d15290b">NvFlexExtForceField::mStrength</a></div><div class="ttdeci">float mStrength</div><div class="ttdoc">Strength of the force field. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:753</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a7d35ea2def3a05a5f85a5cdfd5abdc56"><div class="ttname"><a href="_nv_flex_ext_8h.html#a7d35ea2def3a05a5f85a5cdfd5abdc56">NvFlexExtMovingFrame::position</a></div><div class="ttdeci">float position[3]</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:233</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a0a01f7b650db1077ffc165762703552b"><div class="ttname"><a href="_nv_flex_ext_8h.html#a0a01f7b650db1077ffc165762703552b">NvFlexExtSoftJoint::shapeTranslations</a></div><div class="ttdeci">float shapeTranslations[3]</div><div class="ttdoc">Joint shape matching group translations (vec3s) </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:378</div></div>
<div class="ttc" id="struct_nv_flex_vector_html_a6c4a1f4acb4d6275c9e1ac01d4e35ab1"><div class="ttname"><a href="struct_nv_flex_vector.html#a6c4a1f4acb4d6275c9e1ac01d4e35ab1">NvFlexVector::resize</a></div><div class="ttdeci">void resize(int newCount)</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:201</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_struct_nv_flex_ext_asset"><div class="ttname"><a href="_nv_flex_ext_8h.html#struct_nv_flex_ext_asset">NvFlexExtAsset</a></div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:311</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a7850f47d32a8fe6107aae7a098de8f01"><div class="ttname"><a href="_nv_flex_ext_8h.html#a7850f47d32a8fe6107aae7a098de8f01">NvFlexExtSoftJoint::shapeIndex</a></div><div class="ttdeci">int shapeIndex</div><div class="ttdoc">Index in the container's shape body constraints array. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:375</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a425f4e472bb83797498c904ab228209c"><div class="ttname"><a href="_nv_flex_ext_8h.html#a425f4e472bb83797498c904ab228209c">NvFlexExtPushToDevice</a></div><div class="ttdeci">NV_FLEX_API void NvFlexExtPushToDevice(NvFlexExtContainer *container)</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a1117ce527b6b483cc756ab5352f6dc3f"><div class="ttname"><a href="_nv_flex_ext_8h.html#a1117ce527b6b483cc756ab5352f6dc3f">NvFlexExtForceFieldCallback</a></div><div class="ttdeci">struct NvFlexExtForceFieldCallback NvFlexExtForceFieldCallback</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:762</div></div>
<div class="ttc" id="struct_nv_flex_vector_html_ad462ae46f0270161c79572762b558124"><div class="ttname"><a href="struct_nv_flex_vector.html#ad462ae46f0270161c79572762b558124">NvFlexVector::count</a></div><div class="ttdeci">int count</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:74</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a502acd5c1db4ba6eef61eba25f26d68e"><div class="ttname"><a href="_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68e">NvFlexExtForceMode</a></div><div class="ttdeci">NvFlexExtForceMode</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:734</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a0fd9407aad5001d3a9fe90e989da1aad"><div class="ttname"><a href="_nv_flex_ext_8h.html#a0fd9407aad5001d3a9fe90e989da1aad">NvFlexExtAsset::shapeCoefficients</a></div><div class="ttdeci">float * shapeCoefficients</div><div class="ttdoc">The stiffness coefficient for each shape. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:328</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_aad1bc1104e48d8839d1b9c4c41b8ed42"><div class="ttname"><a href="_nv_flex_ext_8h.html#aad1bc1104e48d8839d1b9c4c41b8ed42">NvFlexExtSoftJoint::shapeRotations</a></div><div class="ttdeci">float shapeRotations[4]</div><div class="ttdoc">Joint shape matching group rotations (quaternions) </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:379</div></div>
<div class="ttc" id="struct_nv_flex_vector_html_a56640fd10b06a4024a4bf01c306c436b"><div class="ttname"><a href="struct_nv_flex_vector.html#a56640fd10b06a4024a4bf01c306c436b">NvFlexVector::map</a></div><div class="ttdeci">void map(int flags=eNvFlexMapWait)</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:100</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a502acd5c1db4ba6eef61eba25f26d68ea6a2e4817b1e86764147c81e8d5e5070c"><div class="ttname"><a href="_nv_flex_ext_8h.html#a502acd5c1db4ba6eef61eba25f26d68ea6a2e4817b1e86764147c81e8d5e5070c">eNvFlexExtModeVelocityChange</a></div><div class="ttdoc">Apply field value as a velocity change. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:743</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_addad82b3598059ffde7b3b5babe17bd4"><div class="ttname"><a href="_nv_flex_ext_8h.html#addad82b3598059ffde7b3b5babe17bd4">NvFlexExtCreateTearingClothFromMesh</a></div><div class="ttdeci">NV_FLEX_API NvFlexExtAsset * NvFlexExtCreateTearingClothFromMesh(const float *particles, int numParticles, int maxParticles, const int *indices, int numTriangles, float stretchStiffness, float bendStiffness, float pressure)</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_struct_nv_flex_ext_shape_data"><div class="ttname"><a href="_nv_flex_ext_8h.html#struct_nv_flex_ext_shape_data">NvFlexExtShapeData</a></div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:627</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a6a20d814e3b083b069daa0f20a3e756e"><div class="ttname"><a href="_nv_flex_ext_8h.html#a6a20d814e3b083b069daa0f20a3e756e">NvFlexExtMovingFrameInit</a></div><div class="ttdeci">NV_FLEX_API void NvFlexExtMovingFrameInit(NvFlexExtMovingFrame *frame, const float *worldTranslation, const float *worldRotation)</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_ab556b9c29acfda73e14c68edc43be7e3"><div class="ttname"><a href="_nv_flex_ext_8h.html#ab556b9c29acfda73e14c68edc43be7e3">NvFlexExtAsset::inflatablePressure</a></div><div class="ttdeci">float inflatablePressure</div><div class="ttdoc">How much over the rest volume the inflatable should attempt to maintain. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:343</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_ad722c319fe60d8a0933df217ba04b2ac"><div class="ttname"><a href="_nv_flex_ext_8h.html#ad722c319fe60d8a0933df217ba04b2ac">NvFlexExtParticleData::upper</a></div><div class="ttdeci">const float * upper</div><div class="ttdoc">Receive a pointer to the particle upper bounds [x, y, z]. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:597</div></div>
<div class="ttc" id="_nv_flex_8h_html_ad48f83b8442323687d2268206e913496"><div class="ttname"><a href="_nv_flex_8h.html#ad48f83b8442323687d2268206e913496">NvFlexAllocBuffer</a></div><div class="ttdeci">NV_FLEX_API NvFlexBuffer * NvFlexAllocBuffer(NvFlexLibrary *lib, int elementCount, int elementByteStride, NvFlexBufferType type)</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_ac2ef832cadd91e257ba80eb97d936340"><div class="ttname"><a href="_nv_flex_ext_8h.html#ac2ef832cadd91e257ba80eb97d936340">NvFlexExtInstance::inflatableIndex</a></div><div class="ttdeci">int inflatableIndex</div><div class="ttdoc">Index in the container's inflatables array. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:357</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_ab0a259d159116b7fba9b229784b02c70"><div class="ttname"><a href="_nv_flex_ext_8h.html#ab0a259d159116b7fba9b229784b02c70">NvFlexExtFreeParticles</a></div><div class="ttdeci">NV_FLEX_API void NvFlexExtFreeParticles(NvFlexExtContainer *container, int n, const int *indices)</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a8a4a122a0a95b8262fc4673298a5cb1c"><div class="ttname"><a href="_nv_flex_ext_8h.html#a8a4a122a0a95b8262fc4673298a5cb1c">NvFlexExtAsset::shapeIndices</a></div><div class="ttdeci">int * shapeIndices</div><div class="ttdoc">The indices of the shape matching constraints. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:325</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a82a15dfd40b338a07cf4517f55f16720"><div class="ttname"><a href="_nv_flex_ext_8h.html#a82a15dfd40b338a07cf4517f55f16720">NvFlexExtCreateWeldedMeshIndices</a></div><div class="ttdeci">NV_FLEX_API int NvFlexExtCreateWeldedMeshIndices(const float *vertices, int numVertices, int *uniqueVerts, int *originalToUniqueMap, float threshold)</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a3fa8bd4b7d4096602e611faf0bb62dfb"><div class="ttname"><a href="_nv_flex_ext_8h.html#a3fa8bd4b7d4096602e611faf0bb62dfb">NvFlexExtMapParticleData</a></div><div class="ttdeci">NV_FLEX_API NvFlexExtParticleData NvFlexExtMapParticleData(NvFlexExtContainer *container)</div></div>
<div class="ttc" id="struct_nv_flex_vector_html_acd29b9b2b27e53e3640c24da6959e3cd"><div class="ttname"><a href="struct_nv_flex_vector.html#acd29b9b2b27e53e3640c24da6959e3cd">NvFlexVector::assign</a></div><div class="ttdeci">void assign(const T *srcPtr, int newCount)</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:146</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a021a25caa64e7f9e9542ea0bc7e6d632"><div class="ttname"><a href="_nv_flex_ext_8h.html#a021a25caa64e7f9e9542ea0bc7e6d632">NvFlexExtDestroySoftJoint</a></div><div class="ttdeci">NV_FLEX_API void NvFlexExtDestroySoftJoint(NvFlexExtContainer *container, NvFlexExtSoftJoint *joint)</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_aac7ec52c127730c381d4b8cbac8134bf"><div class="ttname"><a href="_nv_flex_ext_8h.html#aac7ec52c127730c381d4b8cbac8134bf">NvFlexExtAsset::shapePlasticThresholds</a></div><div class="ttdeci">float * shapePlasticThresholds</div><div class="ttdoc">The plastic threshold coefficient for each shape. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:333</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_aa4f19c17fa4ae35ceda90c8b3d1fcca4"><div class="ttname"><a href="_nv_flex_ext_8h.html#aa4f19c17fa4ae35ceda90c8b3d1fcca4">NvFlexExtInstance::asset</a></div><div class="ttdeci">const NvFlexExtAsset * asset</div><div class="ttdoc">Source asset used to create this instance. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:362</div></div>
<div class="ttc" id="struct_nv_flex_vector_html_aa4422fcaa24d5bbd71aa7772639512b9"><div class="ttname"><a href="struct_nv_flex_vector.html#aa4422fcaa24d5bbd71aa7772639512b9">NvFlexVector::mappedPtr</a></div><div class="ttdeci">T * mappedPtr</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:73</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_ae03f4690a66ba4e06e4b2519c688aaba"><div class="ttname"><a href="_nv_flex_ext_8h.html#ae03f4690a66ba4e06e4b2519c688aaba">NvFlexExtMovingFrame::delta</a></div><div class="ttdeci">float delta[4][4]</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:242</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_af911b47ddb538a0542f6e2c38a82d701"><div class="ttname"><a href="_nv_flex_ext_8h.html#af911b47ddb538a0542f6e2c38a82d701">NvFlexExtParticleData::lower</a></div><div class="ttdeci">const float * lower</div><div class="ttdoc">Receive a pointer to the particle lower bounds [x, y, z]. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:596</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a3288fee0b909e9e768d9abc9b8da74cf"><div class="ttname"><a href="_nv_flex_ext_8h.html#a3288fee0b909e9e768d9abc9b8da74cf">NvFlexExtInstance::triangleIndex</a></div><div class="ttdeci">int triangleIndex</div><div class="ttdoc">Index in the container's triangle array. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:355</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_struct_nv_flex_ext_triangle_data"><div class="ttname"><a href="_nv_flex_ext_8h.html#struct_nv_flex_ext_triangle_data">NvFlexExtTriangleData</a></div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:609</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a3d7dba5a4d9fce7230bc20a8bb567951"><div class="ttname"><a href="_nv_flex_ext_8h.html#a3d7dba5a4d9fce7230bc20a8bb567951">NvFlexExtForceField::mMode</a></div><div class="ttdeci">NvFlexExtForceMode mMode</div><div class="ttdoc">Mode of field application. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:754</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a7c036ccca83df3659529858068e0593d"><div class="ttname"><a href="_nv_flex_ext_8h.html#a7c036ccca83df3659529858068e0593d">NvFlexExtAllocParticles</a></div><div class="ttdeci">NV_FLEX_API int NvFlexExtAllocParticles(NvFlexExtContainer *container, int n, int *indices)</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a7fa35a822a4e856fee45b3263e679270"><div class="ttname"><a href="_nv_flex_ext_8h.html#a7fa35a822a4e856fee45b3263e679270">NvFlexExtParticleData::phases</a></div><div class="ttdeci">int * phases</div><div class="ttdoc">Receives a pointer to the particle phase data. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:593</div></div>
<div class="ttc" id="_nv_flex_8h_html_ab559759820a4322aff061745ef26c867"><div class="ttname"><a href="_nv_flex_8h.html#ab559759820a4322aff061745ef26c867">NvFlexFreeBuffer</a></div><div class="ttdeci">NV_FLEX_API void NvFlexFreeBuffer(NvFlexBuffer *buf)</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_afc07cf2edbf4d5bf504890b312a98bd7"><div class="ttname"><a href="_nv_flex_ext_8h.html#afc07cf2edbf4d5bf504890b312a98bd7">NvFlexExtAsset::numShapes</a></div><div class="ttdeci">int numShapes</div><div class="ttdoc">The number of shape matching constraints. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:330</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a89e582ae93e0256b06f22d9abf361783"><div class="ttname"><a href="_nv_flex_ext_8h.html#a89e582ae93e0256b06f22d9abf361783">NvFlexExtUnmapTriangleData</a></div><div class="ttdeci">NV_FLEX_API void NvFlexExtUnmapTriangleData(NvFlexExtContainer *container)</div></div>
<div class="ttc" id="struct_nv_flex_vector_html_a225da2c753ca0bb95b570c303f0cd761"><div class="ttname"><a href="struct_nv_flex_vector.html#a225da2c753ca0bb95b570c303f0cd761">NvFlexVector::copyto</a></div><div class="ttdeci">void copyto(T *dest, int count)</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:155</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a36c33fafe13c5fd5773bf9a2af2dd745"><div class="ttname"><a href="_nv_flex_ext_8h.html#a36c33fafe13c5fd5773bf9a2af2dd745">NvFlexExtDestroyAsset</a></div><div class="ttdeci">NV_FLEX_API void NvFlexExtDestroyAsset(NvFlexExtAsset *asset)</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a9342d21bf875d0f1a9d287ced08c087a"><div class="ttname"><a href="_nv_flex_ext_8h.html#a9342d21bf875d0f1a9d287ced08c087a">NvFlexExtAsset::shapePlasticCreeps</a></div><div class="ttdeci">float * shapePlasticCreeps</div><div class="ttdoc">The plastic creep coefficient for each shape. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:334</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a431c97a2756c45752dd7508f0810a397"><div class="ttname"><a href="_nv_flex_ext_8h.html#a431c97a2756c45752dd7508f0810a397">NvFlexExtTearingParticleClone::srcIndex</a></div><div class="ttdeci">int srcIndex</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:454</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_aa6fb48cb1199af96a29de7616f7a4d18"><div class="ttname"><a href="_nv_flex_ext_8h.html#aa6fb48cb1199af96a29de7616f7a4d18">NvFlexExtInstance::shapeTranslations</a></div><div class="ttdeci">float * shapeTranslations</div><div class="ttdoc">Shape matching group translations (vec3s) </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:359</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_acc246770a0f65f1e50b43c618955dc84"><div class="ttname"><a href="_nv_flex_ext_8h.html#acc246770a0f65f1e50b43c618955dc84">NvFlexExtMovingFrame::velocity</a></div><div class="ttdeci">float velocity[3]</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:236</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_struct_nv_flex_ext_tearing_particle_clone"><div class="ttname"><a href="_nv_flex_ext_8h.html#struct_nv_flex_ext_tearing_particle_clone">NvFlexExtTearingParticleClone</a></div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:452</div></div>
<div class="ttc" id="struct_nv_flex_vector_html_aa408aa5327d07f69fc12314df2d5dcfb"><div class="ttname"><a href="struct_nv_flex_vector.html#aa408aa5327d07f69fc12314df2d5dcfb">NvFlexVector::buffer</a></div><div class="ttdeci">NvFlexBuffer * buffer</div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:71</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_adbb39b1f8b0705bb3e19d2cb6145640f"><div class="ttname"><a href="_nv_flex_ext_8h.html#adbb39b1f8b0705bb3e19d2cb6145640f">NvFlexExtParticleData::velocities</a></div><div class="ttdeci">float * velocities</div><div class="ttdoc">Receives a pointer to the particle velocity data. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:592</div></div>
<div class="ttc" id="struct_nv_flex_vector_html_a37fbf38300ea57635af4b60c934e9f46"><div class="ttname"><a href="struct_nv_flex_vector.html#a37fbf38300ea57635af4b60c934e9f46">NvFlexVector::back</a></div><div class="ttdeci">const T & back() const </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:166</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_struct_nv_flex_ext_soft_joint"><div class="ttname"><a href="_nv_flex_ext_8h.html#struct_nv_flex_ext_soft_joint">NvFlexExtSoftJoint</a></div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:371</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_ac1ed9ff49120d0691352399c8173bdcf"><div class="ttname"><a href="_nv_flex_ext_8h.html#ac1ed9ff49120d0691352399c8173bdcf">NvFlexExtCreateForceFieldCallback</a></div><div class="ttdeci">NV_FLEX_API NvFlexExtForceFieldCallback * NvFlexExtCreateForceFieldCallback(NvFlexSolver *solver)</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a960073478e49b229d1d19ac64c5b23f7"><div class="ttname"><a href="_nv_flex_ext_8h.html#a960073478e49b229d1d19ac64c5b23f7">NvFlexExtAsset::inflatable</a></div><div class="ttdeci">bool inflatable</div><div class="ttdoc">Whether an inflatable constraint should be added. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:341</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_ae5f81891f59382b133319dc3bcea8ba0"><div class="ttname"><a href="_nv_flex_ext_8h.html#ae5f81891f59382b133319dc3bcea8ba0">NvFlexExtAsset::numSprings</a></div><div class="ttdeci">int numSprings</div><div class="ttdoc">Number of springs. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:322</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_a284e220726302e761f7cf5aa07884723"><div class="ttname"><a href="_nv_flex_ext_8h.html#a284e220726302e761f7cf5aa07884723">NvFlexExtSoftJoint::particleLocalPositions</a></div><div class="ttdeci">float * particleLocalPositions</div><div class="ttdoc">Relative offsets from the particles of the joint to the center. </div><div class="ttdef"><b>Definition:</b> NvFlexExt.h:374</div></div>
<div class="ttc" id="_nv_flex_ext_8h_html_ad9343d07f49098ee205a1ed48dc9db34"><div class="ttname"><a href="_nv_flex_ext_8h.html#ad9343d07f49098ee205a1ed48dc9db34">NvFlexExtNotifyAssetChanged</a></div><div class="ttdeci">NV_FLEX_API void NvFlexExtNotifyAssetChanged(NvFlexExtContainer *container, const NvFlexExtAsset *asset)</div></div>
<div class="ttc" id="_nv_flex_8h_html_a169e4c126acf46bdebf76c36a44deca3"><div class="ttname"><a href="_nv_flex_8h.html#a169e4c126acf46bdebf76c36a44deca3">NvFlexBufferType</a></div><div class="ttdeci">NvFlexBufferType</div><div class="ttdef"><b>Definition:</b> NvFlex.h:76</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Mon Mar 19 2018 14:53:17 for FLEX by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
</body>
</html>
|