@recast-navigation/wasm 0.0.6 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,6 +4,10 @@ declare module Recast {
4
4
  function destroy(obj: any): void;
5
5
  function _malloc(size: number): number;
6
6
  function _free(ptr: number): void;
7
+ function wrapPointer<C extends new (...args: any) => any>(ptr: number, Class: C): InstanceType<C>;
8
+ function getPointer(obj: unknown): number;
9
+ function castObject<C extends new (...args: any) => any>(object: unknown, Class: C): InstanceType<C>;
10
+ function compare(object1: unknown, object2: unknown): boolean;
7
11
  const HEAP8: Int8Array;
8
12
  const HEAP16: Int16Array;
9
13
  const HEAP32: Int32Array;
@@ -13,6 +17,7 @@ declare module Recast {
13
17
  const HEAPF32: Float32Array;
14
18
  const HEAPF64: Float64Array;
15
19
  class rcConfig {
20
+ constructor();
16
21
  get_width(): number;
17
22
  set_width(width: number): void;
18
23
  width: number;
@@ -31,12 +36,12 @@ declare module Recast {
31
36
  get_ch(): number;
32
37
  set_ch(ch: number): void;
33
38
  ch: number;
34
- get_bmin(): ReadonlyArray<number>;
39
+ get_bmin(index: number): number;
35
40
  set_bmin(bmin: ReadonlyArray<number>): void;
36
- bmin: ReadonlyArray<number>;
37
- get_bmax(): ReadonlyArray<number>;
41
+ bmin: number;
42
+ get_bmax(index: number): number;
38
43
  set_bmax(bmax: ReadonlyArray<number>): void;
39
- bmax: ReadonlyArray<number>;
44
+ bmax: number;
40
45
  get_walkableSlopeAngle(): number;
41
46
  set_walkableSlopeAngle(walkableSlopeAngle: number): void;
42
47
  walkableSlopeAngle: number;
@@ -70,47 +75,328 @@ declare module Recast {
70
75
  get_detailSampleMaxError(): number;
71
76
  set_detailSampleMaxError(detailSampleMaxError: number): void;
72
77
  detailSampleMaxError: number;
73
- constructor();
74
78
  }
75
- class Vec3 {
79
+ class dtMeshHeader {
80
+ get_magic(): number;
81
+ set_magic(magic: number): void;
82
+ magic: number;
83
+ get_version(): number;
84
+ set_version(version: number): void;
85
+ version: number;
76
86
  get_x(): number;
77
87
  set_x(x: number): void;
78
88
  x: number;
79
89
  get_y(): number;
80
90
  set_y(y: number): void;
81
91
  y: number;
82
- get_z(): number;
83
- set_z(z: number): void;
84
- z: number;
85
- constructor();
86
- constructor(x: number, y: number, z: number);
92
+ get_layer(): number;
93
+ set_layer(layer: number): void;
94
+ layer: number;
95
+ get_userId(): number;
96
+ set_userId(userId: number): void;
97
+ userId: number;
98
+ get_polyCount(): number;
99
+ set_polyCount(polyCount: number): void;
100
+ polyCount: number;
101
+ get_vertCount(): number;
102
+ set_vertCount(vertCount: number): void;
103
+ vertCount: number;
104
+ get_maxLinkCount(): number;
105
+ set_maxLinkCount(maxLinkCount: number): void;
106
+ maxLinkCount: number;
107
+ get_detailMeshCount(): number;
108
+ set_detailMeshCount(detailMeshCount: number): void;
109
+ detailMeshCount: number;
110
+ get_detailVertCount(): number;
111
+ set_detailVertCount(detailVertCount: number): void;
112
+ detailVertCount: number;
113
+ get_detailTriCount(): number;
114
+ set_detailTriCount(detailTriCount: number): void;
115
+ detailTriCount: number;
116
+ get_bvNodeCount(): number;
117
+ set_bvNodeCount(bvNodeCount: number): void;
118
+ bvNodeCount: number;
119
+ get_offMeshConCount(): number;
120
+ set_offMeshConCount(offMeshConCount: number): void;
121
+ offMeshConCount: number;
122
+ get_offMeshBase(): number;
123
+ set_offMeshBase(offMeshBase: number): void;
124
+ offMeshBase: number;
125
+ get_walkableHeight(): number;
126
+ set_walkableHeight(walkableHeight: number): void;
127
+ walkableHeight: number;
128
+ get_walkableRadius(): number;
129
+ set_walkableRadius(walkableRadius: number): void;
130
+ walkableRadius: number;
131
+ get_walkableClimb(): number;
132
+ set_walkableClimb(walkableClimb: number): void;
133
+ walkableClimb: number;
134
+ get_bmin(index: number): number;
135
+ set_bmin(bmin: ReadonlyArray<number>): void;
136
+ bmin: number;
137
+ get_bmax(index: number): number;
138
+ set_bmax(bmax: ReadonlyArray<number>): void;
139
+ bmax: number;
140
+ get_bvQuantFactor(): number;
141
+ set_bvQuantFactor(bvQuantFactor: number): void;
142
+ bvQuantFactor: number;
87
143
  }
88
- class Triangle {
89
- constructor();
90
- getPoint(n: number): Vec3;
144
+ class dtPoly {
145
+ get_firstLink(): number;
146
+ set_firstLink(firstLink: number): void;
147
+ firstLink: number;
148
+ get_verts(index: number): number;
149
+ set_verts(verts: ReadonlyArray<number>): void;
150
+ verts: number;
151
+ get_neis(index: number): number;
152
+ set_neis(neis: ReadonlyArray<number>): void;
153
+ neis: number;
154
+ get_flags(): number;
155
+ set_flags(flags: number): void;
156
+ flags: number;
157
+ get_vertCount(): number;
158
+ set_vertCount(vertCount: number): void;
159
+ vertCount: number;
160
+ get_areaAndtype(): number;
161
+ set_areaAndtype(areaAndtype: number): void;
162
+ areaAndtype: number;
163
+ setArea(a: number): void;
164
+ setType(a: number): void;
165
+ getType(): number;
166
+ getArea(): number;
91
167
  }
92
- class DebugNavMesh {
93
- constructor();
94
- getTriangleCount(): number;
95
- getTriangle(n: number): Triangle;
168
+ class dtPolyDetail {
169
+ get_vertBase(): number;
170
+ set_vertBase(vertBase: number): void;
171
+ vertBase: number;
172
+ get_triBase(): number;
173
+ set_triBase(triBase: number): void;
174
+ triBase: number;
175
+ get_vertCount(): number;
176
+ set_vertCount(vertCount: number): void;
177
+ vertCount: number;
178
+ get_triCount(): number;
179
+ set_triCount(triCount: number): void;
180
+ triCount: number;
181
+ }
182
+ class dtLink {
183
+ get_ref(): number;
184
+ set_ref(ref: number): void;
185
+ ref: number;
186
+ get_next(): number;
187
+ set_next(next: number): void;
188
+ next: number;
189
+ get_edge(): number;
190
+ set_edge(edge: number): void;
191
+ edge: number;
192
+ get_side(): number;
193
+ set_side(side: number): void;
194
+ side: number;
195
+ get_bmin(): number;
196
+ set_bmin(bmin: number): void;
197
+ bmin: number;
198
+ get_bmax(): number;
199
+ set_bmax(bmax: number): void;
200
+ bmax: number;
201
+ }
202
+ class dtBVNode {
203
+ get_bmin(index: number): number;
204
+ set_bmin(bmin: ReadonlyArray<number>): void;
205
+ bmin: number;
206
+ get_bmax(index: number): number;
207
+ set_bmax(bmax: ReadonlyArray<number>): void;
208
+ bmax: number;
209
+ get_i(): number;
210
+ set_i(i: number): void;
211
+ i: number;
212
+ }
213
+ class dtOffMeshConnection {
214
+ get_pos(index: number): number;
215
+ set_pos(pos: ReadonlyArray<number>): void;
216
+ pos: number;
217
+ get_rad(): number;
218
+ set_rad(rad: number): void;
219
+ rad: number;
220
+ get_poly(): number;
221
+ set_poly(poly: number): void;
222
+ poly: number;
223
+ get_flags(): number;
224
+ set_flags(flags: number): void;
225
+ flags: number;
226
+ get_side(): number;
227
+ set_side(side: number): void;
228
+ side: number;
229
+ get_userId(): number;
230
+ set_userId(userId: number): void;
231
+ userId: number;
232
+ }
233
+ class dtMeshTile {
234
+ get_salt(): number;
235
+ set_salt(salt: number): void;
236
+ salt: number;
237
+ get_linksFreeList(): number;
238
+ set_linksFreeList(linksFreeList: number): void;
239
+ linksFreeList: number;
240
+ get_header(): dtMeshHeader;
241
+ set_header(header: dtMeshHeader): void;
242
+ header: dtMeshHeader;
243
+ get_polys(index: number): dtPoly;
244
+ set_polys(polys: ReadonlyArray<dtPoly>): void;
245
+ polys: dtPoly;
246
+ get_verts(index: number): number;
247
+ set_verts(verts: ReadonlyArray<number>): void;
248
+ verts: number;
249
+ get_links(index: number): dtLink;
250
+ set_links(links: ReadonlyArray<dtLink>): void;
251
+ links: dtLink;
252
+ get_detailMeshes(index: number): dtPolyDetail;
253
+ set_detailMeshes(detailMeshes: ReadonlyArray<dtPolyDetail>): void;
254
+ detailMeshes: dtPolyDetail;
255
+ get_detailVerts(index: number): number;
256
+ set_detailVerts(detailVerts: ReadonlyArray<number>): void;
257
+ detailVerts: number;
258
+ get_detailTris(index: number): number;
259
+ set_detailTris(detailTris: ReadonlyArray<number>): void;
260
+ detailTris: number;
261
+ get_bvTree(index: number): dtBVNode;
262
+ set_bvTree(bvTree: ReadonlyArray<dtBVNode>): void;
263
+ bvTree: dtBVNode;
264
+ get_offMeshCons(index: number): dtOffMeshConnection;
265
+ set_offMeshCons(offMeshCons: ReadonlyArray<dtOffMeshConnection>): void;
266
+ offMeshCons: dtOffMeshConnection;
267
+ get_data(index: number): number;
268
+ set_data(data: ReadonlyArray<number>): void;
269
+ data: number;
270
+ get_dataSize(): number;
271
+ set_dataSize(dataSize: number): void;
272
+ dataSize: number;
273
+ get_flags(): number;
274
+ set_flags(flags: number): void;
275
+ flags: number;
276
+ get_next(): dtMeshTile;
277
+ set_next(next: dtMeshTile): void;
278
+ next: dtMeshTile;
96
279
  }
97
280
  class dtNavMesh {
98
281
  }
99
- class NavMeshData {
100
- get_dataPointer(): any;
101
- set_dataPointer(dataPointer: any): void;
102
- dataPointer: any;
103
- get_size(): number;
104
- set_size(size: number): void;
105
- size: number;
282
+ class dtNavMeshCreateParams {
106
283
  constructor();
107
- }
108
- class NavPath {
109
- getPointCount(): number;
110
- getPoint(n: number): Vec3;
284
+ get_verts(index: number): number;
285
+ set_verts(verts: ReadonlyArray<number>): void;
286
+ readonly verts: number;
287
+ get_vertCount(): number;
288
+ set_vertCount(vertCount: number): void;
289
+ vertCount: number;
290
+ get_polys(index: number): number;
291
+ set_polys(polys: ReadonlyArray<number>): void;
292
+ readonly polys: number;
293
+ get_polyFlags(index: number): number;
294
+ set_polyFlags(polyFlags: ReadonlyArray<number>): void;
295
+ readonly polyFlags: number;
296
+ get_polyAreas(index: number): number;
297
+ set_polyAreas(polyAreas: ReadonlyArray<number>): void;
298
+ readonly polyAreas: number;
299
+ get_polyCount(): number;
300
+ set_polyCount(polyCount: number): void;
301
+ polyCount: number;
302
+ get_nvp(): number;
303
+ set_nvp(nvp: number): void;
304
+ nvp: number;
305
+ get_detailMeshes(index: number): number;
306
+ set_detailMeshes(detailMeshes: ReadonlyArray<number>): void;
307
+ readonly detailMeshes: number;
308
+ get_detailVerts(index: number): number;
309
+ set_detailVerts(detailVerts: ReadonlyArray<number>): void;
310
+ readonly detailVerts: number;
311
+ get_detailVertsCount(): number;
312
+ set_detailVertsCount(detailVertsCount: number): void;
313
+ detailVertsCount: number;
314
+ get_detailTris(index: number): number;
315
+ set_detailTris(detailTris: ReadonlyArray<number>): void;
316
+ readonly detailTris: number;
317
+ get_detailTriCount(): number;
318
+ set_detailTriCount(detailTriCount: number): void;
319
+ detailTriCount: number;
320
+ get_offMeshConVerts(index: number): number;
321
+ set_offMeshConVerts(offMeshConVerts: ReadonlyArray<number>): void;
322
+ readonly offMeshConVerts: number;
323
+ get_offMeshConRad(index: number): number;
324
+ set_offMeshConRad(offMeshConRad: ReadonlyArray<number>): void;
325
+ readonly offMeshConRad: number;
326
+ get_offMeshConFlags(index: number): number;
327
+ set_offMeshConFlags(offMeshConFlags: ReadonlyArray<number>): void;
328
+ readonly offMeshConFlags: number;
329
+ get_offMeshConAreas(index: number): number;
330
+ set_offMeshConAreas(offMeshConAreas: ReadonlyArray<number>): void;
331
+ readonly offMeshConAreas: number;
332
+ get_offMeshConDir(index: number): number;
333
+ set_offMeshConDir(offMeshConDir: ReadonlyArray<number>): void;
334
+ readonly offMeshConDir: number;
335
+ get_offMeshConUserID(index: number): number;
336
+ set_offMeshConUserID(offMeshConUserID: ReadonlyArray<number>): void;
337
+ readonly offMeshConUserID: number;
338
+ get_offMeshConCount(): number;
339
+ set_offMeshConCount(offMeshConCount: number): void;
340
+ offMeshConCount: number;
341
+ get_userId(): number;
342
+ set_userId(userId: number): void;
343
+ userId: number;
344
+ get_tileX(): number;
345
+ set_tileX(tileX: number): void;
346
+ tileX: number;
347
+ get_tileY(): number;
348
+ set_tileY(tileY: number): void;
349
+ tileY: number;
350
+ get_tileLayer(): number;
351
+ set_tileLayer(tileLayer: number): void;
352
+ tileLayer: number;
353
+ get_bmin(index: number): number;
354
+ set_bmin(bmin: ReadonlyArray<number>): void;
355
+ bmin: number;
356
+ get_bmax(index: number): number;
357
+ set_bmax(bmax: ReadonlyArray<number>): void;
358
+ bmax: number;
359
+ get_walkableHeight(): number;
360
+ set_walkableHeight(walkableHeight: number): void;
361
+ walkableHeight: number;
362
+ get_walkableRadius(): number;
363
+ set_walkableRadius(walkableRadius: number): void;
364
+ walkableRadius: number;
365
+ get_walkableClimb(): number;
366
+ set_walkableClimb(walkableClimb: number): void;
367
+ walkableClimb: number;
368
+ get_cs(): number;
369
+ set_cs(cs: number): void;
370
+ cs: number;
371
+ get_ch(): number;
372
+ set_ch(ch: number): void;
373
+ ch: number;
374
+ get_buildBvTree(): boolean;
375
+ set_buildBvTree(buildBvTree: boolean): void;
376
+ buildBvTree: boolean;
111
377
  }
112
378
  class dtObstacleRef {
113
379
  }
380
+ class dtCompressedTileRef {
381
+ }
382
+ class dtNavMeshParams {
383
+ constructor();
384
+ get_orig(index: number): number;
385
+ set_orig(orig: ReadonlyArray<number>): void;
386
+ orig: number;
387
+ get_tileWidth(): number;
388
+ set_tileWidth(tileWidth: number): void;
389
+ tileWidth: number;
390
+ get_tileHeight(): number;
391
+ set_tileHeight(tileHeight: number): void;
392
+ tileHeight: number;
393
+ get_maxTiles(): number;
394
+ set_maxTiles(maxTiles: number): void;
395
+ maxTiles: number;
396
+ get_maxPolys(): number;
397
+ set_maxPolys(maxPolys: number): void;
398
+ maxPolys: number;
399
+ }
114
400
  class dtCrowdAgentParams {
115
401
  constructor();
116
402
  get_radius(): number;
@@ -147,28 +433,270 @@ declare module Recast {
147
433
  set_userData(userData: unknown): void;
148
434
  userData: unknown;
149
435
  }
436
+ class CreateNavMeshDataResult {
437
+ get_success(): boolean;
438
+ set_success(success: boolean): void;
439
+ success: boolean;
440
+ get_navMeshData(index: number): number;
441
+ set_navMeshData(navMeshData: ReadonlyArray<number>): void;
442
+ navMeshData: number;
443
+ get_navMeshDataSize(): number;
444
+ set_navMeshDataSize(navMeshDataSize: number): void;
445
+ navMeshDataSize: number;
446
+ }
447
+ class NavMeshBuilder {
448
+ constructor();
449
+ createNavMeshData(params: dtNavMeshCreateParams): CreateNavMeshDataResult;
450
+ }
451
+ class NavMeshGeneratorResult {
452
+ get_success(): boolean;
453
+ set_success(success: boolean): void;
454
+ success: boolean;
455
+ getNavMesh(): NavMesh;
456
+ getTileCache(): TileCache;
457
+ }
458
+ class NavMeshGenerator {
459
+ constructor();
460
+ generate(positions: ReadonlyArray<number>, positionCount: number, indices: ReadonlyArray<number>, indexCount: number, config: rcConfig): NavMeshGeneratorResult;
461
+ }
462
+ class NavMeshImporterResult {
463
+ getNavMesh(): NavMesh;
464
+ getTileCache(): TileCache;
465
+ }
466
+ class NavMeshImporter {
467
+ constructor();
468
+ importNavMesh(data: NavMeshExport): NavMeshImporterResult;
469
+ }
470
+ class NavMeshExport {
471
+ get_dataPointer(): any;
472
+ set_dataPointer(dataPointer: any): void;
473
+ dataPointer: any;
474
+ get_size(): number;
475
+ set_size(size: number): void;
476
+ size: number;
477
+ constructor();
478
+ }
479
+ class NavMeshExporter {
480
+ constructor();
481
+ exportNavMesh(navMesh: NavMesh, tileCache: TileCache): NavMeshExport;
482
+ freeNavMeshExport(navMeshExport: NavMeshExport): void;
483
+ }
484
+ class Vec3 {
485
+ get_x(): number;
486
+ set_x(x: number): void;
487
+ x: number;
488
+ get_y(): number;
489
+ set_y(y: number): void;
490
+ y: number;
491
+ get_z(): number;
492
+ set_z(z: number): void;
493
+ z: number;
494
+ constructor();
495
+ constructor(x: number, y: number, z: number);
496
+ }
497
+ class Triangle {
498
+ constructor();
499
+ getPoint(n: number): Vec3;
500
+ }
501
+ class DebugNavMesh {
502
+ constructor();
503
+ getTriangleCount(): number;
504
+ getTriangle(n: number): Triangle;
505
+ }
506
+ class NavMeshAddTileResult {
507
+ get_status(): number;
508
+ set_status(status: number): void;
509
+ status: number;
510
+ get_tileRef(): number;
511
+ set_tileRef(tileRef: number): void;
512
+ tileRef: number;
513
+ }
514
+ class NavMeshRemoveTileResult {
515
+ get_status(): number;
516
+ set_status(status: number): void;
517
+ status: number;
518
+ get_data(index: number): number;
519
+ set_data(data: ReadonlyArray<number>): void;
520
+ data: number;
521
+ get_dataSize(): number;
522
+ set_dataSize(dataSize: number): void;
523
+ dataSize: number;
524
+ }
525
+ class NavMeshCalcTileLocResult {
526
+ get_tileX(): number;
527
+ set_tileX(tileX: number): void;
528
+ tileX: number;
529
+ get_tileY(): number;
530
+ set_tileY(tileY: number): void;
531
+ tileY: number;
532
+ }
533
+ class NavMeshGetTilesAtResult {
534
+ get_tiles(index: number): dtMeshTile;
535
+ set_tiles(tiles: ReadonlyArray<dtMeshTile>): void;
536
+ readonly tiles: dtMeshTile;
537
+ get_tileCount(): number;
538
+ set_tileCount(tileCount: number): void;
539
+ tileCount: number;
540
+ }
541
+ class NavMeshGetTileAndPolyByRefResult {
542
+ get_status(): number;
543
+ set_status(status: number): void;
544
+ status: number;
545
+ get_tile(): dtMeshTile;
546
+ set_tile(tile: dtMeshTile): void;
547
+ tile: dtMeshTile;
548
+ get_poly(): dtPoly;
549
+ set_poly(poly: dtPoly): void;
550
+ poly: dtPoly;
551
+ }
552
+ class NavMeshGetOffMeshConnectionPolyEndPointsResult {
553
+ get_status(): number;
554
+ set_status(status: number): void;
555
+ status: number;
556
+ get_startPos(index: number): number;
557
+ set_startPos(startPos: ReadonlyArray<number>): void;
558
+ startPos: number;
559
+ get_endPos(index: number): number;
560
+ set_endPos(endPos: ReadonlyArray<number>): void;
561
+ endPos: number;
562
+ }
563
+ class NavMeshGetPolyFlagsResult {
564
+ get_status(): number;
565
+ set_status(status: number): void;
566
+ status: number;
567
+ get_flags(): number;
568
+ set_flags(flags: number): void;
569
+ flags: number;
570
+ }
571
+ class NavMeshGetPolyAreaResult {
572
+ get_status(): number;
573
+ set_status(status: number): void;
574
+ status: number;
575
+ get_area(): number;
576
+ set_area(area: number): void;
577
+ area: number;
578
+ }
579
+ class NavMeshStoreTileStateResult {
580
+ get_status(): number;
581
+ set_status(status: number): void;
582
+ status: number;
583
+ get_data(index: number): number;
584
+ set_data(data: ReadonlyArray<number>): void;
585
+ data: number;
586
+ get_dataSize(): number;
587
+ set_dataSize(dataSize: number): void;
588
+ dataSize: number;
589
+ }
150
590
  class NavMesh {
151
591
  constructor();
152
- build(positions: ReadonlyArray<number>, positionCount: number, indices: ReadonlyArray<number>, indexCount: number, config: rcConfig): void;
153
- buildFromNavMeshData(data: NavMeshData): void;
154
- update(): void;
155
- destroy(): void;
156
- getNavMeshData(): NavMeshData;
157
- freeNavMeshData(data: NavMeshData): void;
592
+ initSolo(data: ReadonlyArray<number>, dataSize: number, flags: number): boolean;
593
+ initTiled(params: dtNavMeshParams): boolean;
594
+ addTile(data: ReadonlyArray<number>, dataSize: number, flags: number, lastRef: number): NavMeshAddTileResult;
595
+ removeTile(ref: number): NavMeshRemoveTileResult;
158
596
  getDebugNavMesh(): DebugNavMesh;
597
+ getNavMesh(): dtNavMesh;
598
+ calcTileLoc(pos: ReadonlyArray<number>): NavMeshCalcTileLocResult;
599
+ getTileAt(x: number, y: number, layer: number): dtMeshTile;
600
+ getTilesAt(x: number, y: number, maxTiles: number): NavMeshGetTilesAtResult;
601
+ getTileRefAt(x: number, y: number, layer: number): number;
602
+ getTileRef(tile: dtMeshTile): number;
603
+ getTileByRef(ref: number): dtMeshTile;
604
+ getMaxTiles(): number;
605
+ getTile(i: number): dtMeshTile;
606
+ getTileAndPolyByRef(ref: number): NavMeshGetTileAndPolyByRefResult;
607
+ getTileAndPolyByRefUnsafe(ref: number): NavMeshGetTileAndPolyByRefResult;
608
+ isValidPolyRef(ref: number): boolean;
609
+ getPolyRefBase(tile: dtMeshTile): number;
610
+ getOffMeshConnectionPolyEndPoints(prevRef: number, polyRef: number): NavMeshGetOffMeshConnectionPolyEndPointsResult;
611
+ getOffMeshConnectionByRef(ref: number): dtOffMeshConnection;
612
+ setPolyFlags(ref: number, flags: number): number;
613
+ getPolyFlags(ref: number): NavMeshGetPolyFlagsResult;
614
+ setPolyArea(ref: number, area: number): number;
615
+ getPolyArea(ref: number): NavMeshGetPolyAreaResult;
616
+ getTileStateSize(tile: dtMeshTile): number;
617
+ storeTileState(tile: dtMeshTile, maxDataSize: number): NavMeshStoreTileStateResult;
618
+ restoreTileState(tile: dtMeshTile, data: ReadonlyArray<number>, maxDataSize: number): number;
619
+ destroy(): void;
620
+ }
621
+ class NavPath {
622
+ getPointCount(): number;
623
+ getPoint(n: number): Vec3;
624
+ }
625
+ class NavMeshQuery {
626
+ constructor(navMesh: NavMesh, maxNodes: number);
627
+ destroy(): void;
159
628
  getClosestPoint(position: Vec3): Vec3;
160
629
  getRandomPointAround(position: Vec3, maxRadius: number): Vec3;
161
630
  moveAlong(position: Vec3, destination: Vec3): Vec3;
162
- getNavMesh(): dtNavMesh;
163
631
  computePath(start: Vec3, end: Vec3): NavPath;
164
632
  setDefaultQueryExtent(extent: Vec3): void;
165
633
  getDefaultQueryExtent(): Vec3;
634
+ }
635
+ class dtTileCacheParams {
636
+ get_orig(index: number): number;
637
+ set_orig(orig: ReadonlyArray<number>): void;
638
+ orig: number;
639
+ get_cs(): number;
640
+ set_cs(cs: number): void;
641
+ cs: number;
642
+ get_ch(): number;
643
+ set_ch(ch: number): void;
644
+ ch: number;
645
+ get_width(): number;
646
+ set_width(width: number): void;
647
+ width: number;
648
+ get_height(): number;
649
+ set_height(height: number): void;
650
+ height: number;
651
+ get_walkableHeight(): number;
652
+ set_walkableHeight(walkableHeight: number): void;
653
+ walkableHeight: number;
654
+ get_walkableRadius(): number;
655
+ set_walkableRadius(walkableRadius: number): void;
656
+ walkableRadius: number;
657
+ get_walkableClimb(): number;
658
+ set_walkableClimb(walkableClimb: number): void;
659
+ walkableClimb: number;
660
+ get_maxSimplificationError(): number;
661
+ set_maxSimplificationError(maxSimplificationError: number): void;
662
+ maxSimplificationError: number;
663
+ get_maxTiles(): number;
664
+ set_maxTiles(maxTiles: number): void;
665
+ maxTiles: number;
666
+ get_maxObstacles(): number;
667
+ set_maxObstacles(maxObstacles: number): void;
668
+ maxObstacles: number;
669
+ }
670
+ class TileCacheAddTileResult {
671
+ get_status(): number;
672
+ set_status(status: number): void;
673
+ status: number;
674
+ get_tileRef(): number;
675
+ set_tileRef(tileRef: number): void;
676
+ tileRef: number;
677
+ }
678
+ class TileCacheUpdateResult {
679
+ get_status(): number;
680
+ set_status(status: number): void;
681
+ status: number;
682
+ get_upToDate(): boolean;
683
+ set_upToDate(upToDate: boolean): void;
684
+ upToDate: boolean;
685
+ }
686
+ class TileCache {
687
+ constructor();
688
+ init(params: dtTileCacheParams): boolean;
689
+ addTile(data: ReadonlyArray<number>, dataSize: number, flags: number): TileCacheAddTileResult;
690
+ buildNavMeshTile(ref: dtCompressedTileRef, navMesh: NavMesh): number;
691
+ buildNavMeshTilesAt(tx: number, ty: number, navMesh: NavMesh): number;
692
+ update(navMesh: NavMesh): TileCacheUpdateResult;
166
693
  addCylinderObstacle(position: Vec3, radius: number, height: number): dtObstacleRef;
167
694
  addBoxObstacle(position: Vec3, extent: Vec3, angle: number): dtObstacleRef;
168
695
  removeObstacle(obstacle: dtObstacleRef): void;
696
+ destroy(): void;
169
697
  }
170
698
  class Crowd {
171
- constructor(maxAgents: number, maxAgentRadius: number, nav: dtNavMesh);
699
+ constructor(maxAgents: number, maxAgentRadius: number, navMesh: NavMesh);
172
700
  destroy(): void;
173
701
  addAgent(position: Vec3, params: dtCrowdAgentParams): number;
174
702
  removeAgent(idx: number): void;
@@ -189,4 +717,47 @@ declare module Recast {
189
717
  getDefaultQueryExtent(): Vec3;
190
718
  getCorners(idx: number): NavPath;
191
719
  }
720
+ class DtStatus {
721
+ constructor();
722
+ get_FAILURE(): number;
723
+ set_FAILURE(FAILURE: number): void;
724
+ FAILURE: number;
725
+ get_SUCCESS(): number;
726
+ set_SUCCESS(SUCCESS: number): void;
727
+ SUCCESS: number;
728
+ get_IN_PROGRESS(): number;
729
+ set_IN_PROGRESS(IN_PROGRESS: number): void;
730
+ IN_PROGRESS: number;
731
+ get_STATUS_DETAIL_MASK(): number;
732
+ set_STATUS_DETAIL_MASK(STATUS_DETAIL_MASK: number): void;
733
+ STATUS_DETAIL_MASK: number;
734
+ get_WRONG_MAGIC(): number;
735
+ set_WRONG_MAGIC(WRONG_MAGIC: number): void;
736
+ WRONG_MAGIC: number;
737
+ get_WRONG_VERSION(): number;
738
+ set_WRONG_VERSION(WRONG_VERSION: number): void;
739
+ WRONG_VERSION: number;
740
+ get_OUT_OF_MEMORY(): number;
741
+ set_OUT_OF_MEMORY(OUT_OF_MEMORY: number): void;
742
+ OUT_OF_MEMORY: number;
743
+ get_INVALID_PARAM(): number;
744
+ set_INVALID_PARAM(INVALID_PARAM: number): void;
745
+ INVALID_PARAM: number;
746
+ get_BUFFER_TOO_SMALL(): number;
747
+ set_BUFFER_TOO_SMALL(BUFFER_TOO_SMALL: number): void;
748
+ BUFFER_TOO_SMALL: number;
749
+ get_OUT_OF_NODES(): number;
750
+ set_OUT_OF_NODES(OUT_OF_NODES: number): void;
751
+ OUT_OF_NODES: number;
752
+ get_PARTIAL_RESULT(): number;
753
+ set_PARTIAL_RESULT(PARTIAL_RESULT: number): void;
754
+ PARTIAL_RESULT: number;
755
+ get_ALREADY_OCCUPIED(): number;
756
+ set_ALREADY_OCCUPIED(ALREADY_OCCUPIED: number): void;
757
+ ALREADY_OCCUPIED: number;
758
+ statusSucceed(status: number): boolean;
759
+ statusFailed(status: number): boolean;
760
+ statusInProgress(status: number): boolean;
761
+ statusDetail(status: number, detail: number): boolean;
762
+ }
192
763
  }