1 /* ---------------------------------------------------------------------------- 2 * This file was automatically generated by SWIG (http://www.swig.org). 3 * Version 3.0.8 4 * 5 * Do not make changes to this file unless you know what you are doing--modify 6 * the SWIG interface file instead. 7 * ----------------------------------------------------------------------------- */ 8 9 package com.badlogic.gdx.physics.bullet.collision; 10 11 import com.badlogic.gdx.physics.bullet.BulletBase; 12 import com.badlogic.gdx.physics.bullet.linearmath.*; 13 import com.badlogic.gdx.math.Vector3; 14 import com.badlogic.gdx.math.Quaternion; 15 import com.badlogic.gdx.math.Matrix3; 16 import com.badlogic.gdx.math.Matrix4; 17 18 public class btDbvt extends BulletBase { 19 private long swigCPtr; 20 21 protected btDbvt(final String className, long cPtr, boolean cMemoryOwn) { 22 super(className, cPtr, cMemoryOwn); 23 swigCPtr = cPtr; 24 } 25 26 /** Construct a new btDbvt, normally you should not need this constructor it's intended for low-level usage. */ 27 public btDbvt(long cPtr, boolean cMemoryOwn) { 28 this("btDbvt", cPtr, cMemoryOwn); 29 construct(); 30 } 31 32 @Override 33 protected void reset(long cPtr, boolean cMemoryOwn) { 34 if (!destroyed) 35 destroy(); 36 super.reset(swigCPtr = cPtr, cMemoryOwn); 37 } 38 39 public static long getCPtr(btDbvt obj) { 40 return (obj == null) ? 0 : obj.swigCPtr; 41 } 42 43 @Override 44 protected void finalize() throws Throwable { 45 if (!destroyed) 46 destroy(); 47 super.finalize(); 48 } 49 50 @Override protected synchronized void delete() { 51 if (swigCPtr != 0) { 52 if (swigCMemOwn) { 53 swigCMemOwn = false; 54 CollisionJNI.delete_btDbvt(swigCPtr); 55 } 56 swigCPtr = 0; 57 } 58 super.delete(); 59 } 60 61 static public class sStkNN extends BulletBase { 62 private long swigCPtr; 63 64 protected sStkNN(final String className, long cPtr, boolean cMemoryOwn) { 65 super(className, cPtr, cMemoryOwn); 66 swigCPtr = cPtr; 67 } 68 69 /** Construct a new sStkNN, normally you should not need this constructor it's intended for low-level usage. */ 70 public sStkNN(long cPtr, boolean cMemoryOwn) { 71 this("sStkNN", cPtr, cMemoryOwn); 72 construct(); 73 } 74 75 @Override 76 protected void reset(long cPtr, boolean cMemoryOwn) { 77 if (!destroyed) 78 destroy(); 79 super.reset(swigCPtr = cPtr, cMemoryOwn); 80 } 81 82 public static long getCPtr(sStkNN obj) { 83 return (obj == null) ? 0 : obj.swigCPtr; 84 } 85 86 @Override 87 protected void finalize() throws Throwable { 88 if (!destroyed) 89 destroy(); 90 super.finalize(); 91 } 92 93 @Override protected synchronized void delete() { 94 if (swigCPtr != 0) { 95 if (swigCMemOwn) { 96 swigCMemOwn = false; 97 CollisionJNI.delete_btDbvt_sStkNN(swigCPtr); 98 } 99 swigCPtr = 0; 100 } 101 super.delete(); 102 } 103 104 public void setA(btDbvtNode value) { 105 CollisionJNI.btDbvt_sStkNN_a_set(swigCPtr, this, btDbvtNode.getCPtr(value), value); 106 } 107 108 public btDbvtNode getA() { 109 return btDbvtNode.internalTemp(CollisionJNI.btDbvt_sStkNN_a_get(swigCPtr, this), false); 110 } 111 112 public void setB(btDbvtNode value) { 113 CollisionJNI.btDbvt_sStkNN_b_set(swigCPtr, this, btDbvtNode.getCPtr(value), value); 114 } 115 116 public btDbvtNode getB() { 117 return btDbvtNode.internalTemp(CollisionJNI.btDbvt_sStkNN_b_get(swigCPtr, this), false); 118 } 119 120 public sStkNN() { 121 this(CollisionJNI.new_btDbvt_sStkNN__SWIG_0(), true); 122 } 123 124 public sStkNN(btDbvtNode na, btDbvtNode nb) { 125 this(CollisionJNI.new_btDbvt_sStkNN__SWIG_1(btDbvtNode.getCPtr(na), na, btDbvtNode.getCPtr(nb), nb), true); 126 } 127 128 } 129 130 static public class sStkNP extends BulletBase { 131 private long swigCPtr; 132 133 protected sStkNP(final String className, long cPtr, boolean cMemoryOwn) { 134 super(className, cPtr, cMemoryOwn); 135 swigCPtr = cPtr; 136 } 137 138 /** Construct a new sStkNP, normally you should not need this constructor it's intended for low-level usage. */ 139 public sStkNP(long cPtr, boolean cMemoryOwn) { 140 this("sStkNP", cPtr, cMemoryOwn); 141 construct(); 142 } 143 144 @Override 145 protected void reset(long cPtr, boolean cMemoryOwn) { 146 if (!destroyed) 147 destroy(); 148 super.reset(swigCPtr = cPtr, cMemoryOwn); 149 } 150 151 public static long getCPtr(sStkNP obj) { 152 return (obj == null) ? 0 : obj.swigCPtr; 153 } 154 155 @Override 156 protected void finalize() throws Throwable { 157 if (!destroyed) 158 destroy(); 159 super.finalize(); 160 } 161 162 @Override protected synchronized void delete() { 163 if (swigCPtr != 0) { 164 if (swigCMemOwn) { 165 swigCMemOwn = false; 166 CollisionJNI.delete_btDbvt_sStkNP(swigCPtr); 167 } 168 swigCPtr = 0; 169 } 170 super.delete(); 171 } 172 173 public void setNode(btDbvtNode value) { 174 CollisionJNI.btDbvt_sStkNP_node_set(swigCPtr, this, btDbvtNode.getCPtr(value), value); 175 } 176 177 public btDbvtNode getNode() { 178 return btDbvtNode.internalTemp(CollisionJNI.btDbvt_sStkNP_node_get(swigCPtr, this), false); 179 } 180 181 public void setMask(int value) { 182 CollisionJNI.btDbvt_sStkNP_mask_set(swigCPtr, this, value); 183 } 184 185 public int getMask() { 186 return CollisionJNI.btDbvt_sStkNP_mask_get(swigCPtr, this); 187 } 188 189 public sStkNP(btDbvtNode n, long m) { 190 this(CollisionJNI.new_btDbvt_sStkNP(btDbvtNode.getCPtr(n), n, m), true); 191 } 192 193 } 194 195 static public class sStkNPS extends BulletBase { 196 private long swigCPtr; 197 198 protected sStkNPS(final String className, long cPtr, boolean cMemoryOwn) { 199 super(className, cPtr, cMemoryOwn); 200 swigCPtr = cPtr; 201 } 202 203 /** Construct a new sStkNPS, normally you should not need this constructor it's intended for low-level usage. */ 204 public sStkNPS(long cPtr, boolean cMemoryOwn) { 205 this("sStkNPS", cPtr, cMemoryOwn); 206 construct(); 207 } 208 209 @Override 210 protected void reset(long cPtr, boolean cMemoryOwn) { 211 if (!destroyed) 212 destroy(); 213 super.reset(swigCPtr = cPtr, cMemoryOwn); 214 } 215 216 public static long getCPtr(sStkNPS obj) { 217 return (obj == null) ? 0 : obj.swigCPtr; 218 } 219 220 @Override 221 protected void finalize() throws Throwable { 222 if (!destroyed) 223 destroy(); 224 super.finalize(); 225 } 226 227 @Override protected synchronized void delete() { 228 if (swigCPtr != 0) { 229 if (swigCMemOwn) { 230 swigCMemOwn = false; 231 CollisionJNI.delete_btDbvt_sStkNPS(swigCPtr); 232 } 233 swigCPtr = 0; 234 } 235 super.delete(); 236 } 237 238 public void setNode(btDbvtNode value) { 239 CollisionJNI.btDbvt_sStkNPS_node_set(swigCPtr, this, btDbvtNode.getCPtr(value), value); 240 } 241 242 public btDbvtNode getNode() { 243 return btDbvtNode.internalTemp(CollisionJNI.btDbvt_sStkNPS_node_get(swigCPtr, this), false); 244 } 245 246 public void setMask(int value) { 247 CollisionJNI.btDbvt_sStkNPS_mask_set(swigCPtr, this, value); 248 } 249 250 public int getMask() { 251 return CollisionJNI.btDbvt_sStkNPS_mask_get(swigCPtr, this); 252 } 253 254 public void setValue(float value) { 255 CollisionJNI.btDbvt_sStkNPS_value_set(swigCPtr, this, value); 256 } 257 258 public float getValue() { 259 return CollisionJNI.btDbvt_sStkNPS_value_get(swigCPtr, this); 260 } 261 262 public sStkNPS() { 263 this(CollisionJNI.new_btDbvt_sStkNPS__SWIG_0(), true); 264 } 265 266 public sStkNPS(btDbvtNode n, long m, float v) { 267 this(CollisionJNI.new_btDbvt_sStkNPS__SWIG_1(btDbvtNode.getCPtr(n), n, m, v), true); 268 } 269 270 } 271 272 static public class sStkCLN extends BulletBase { 273 private long swigCPtr; 274 275 protected sStkCLN(final String className, long cPtr, boolean cMemoryOwn) { 276 super(className, cPtr, cMemoryOwn); 277 swigCPtr = cPtr; 278 } 279 280 /** Construct a new sStkCLN, normally you should not need this constructor it's intended for low-level usage. */ 281 public sStkCLN(long cPtr, boolean cMemoryOwn) { 282 this("sStkCLN", cPtr, cMemoryOwn); 283 construct(); 284 } 285 286 @Override 287 protected void reset(long cPtr, boolean cMemoryOwn) { 288 if (!destroyed) 289 destroy(); 290 super.reset(swigCPtr = cPtr, cMemoryOwn); 291 } 292 293 public static long getCPtr(sStkCLN obj) { 294 return (obj == null) ? 0 : obj.swigCPtr; 295 } 296 297 @Override 298 protected void finalize() throws Throwable { 299 if (!destroyed) 300 destroy(); 301 super.finalize(); 302 } 303 304 @Override protected synchronized void delete() { 305 if (swigCPtr != 0) { 306 if (swigCMemOwn) { 307 swigCMemOwn = false; 308 CollisionJNI.delete_btDbvt_sStkCLN(swigCPtr); 309 } 310 swigCPtr = 0; 311 } 312 super.delete(); 313 } 314 315 public void setNode(btDbvtNode value) { 316 CollisionJNI.btDbvt_sStkCLN_node_set(swigCPtr, this, btDbvtNode.getCPtr(value), value); 317 } 318 319 public btDbvtNode getNode() { 320 return btDbvtNode.internalTemp(CollisionJNI.btDbvt_sStkCLN_node_get(swigCPtr, this), false); 321 } 322 323 public void setParent(btDbvtNode value) { 324 CollisionJNI.btDbvt_sStkCLN_parent_set(swigCPtr, this, btDbvtNode.getCPtr(value), value); 325 } 326 327 public btDbvtNode getParent() { 328 return btDbvtNode.internalTemp(CollisionJNI.btDbvt_sStkCLN_parent_get(swigCPtr, this), false); 329 } 330 331 public sStkCLN(btDbvtNode n, btDbvtNode p) { 332 this(CollisionJNI.new_btDbvt_sStkCLN(btDbvtNode.getCPtr(n), n, btDbvtNode.getCPtr(p), p), true); 333 } 334 335 } 336 337 static public class IWriter extends BulletBase { 338 private long swigCPtr; 339 340 protected IWriter(final String className, long cPtr, boolean cMemoryOwn) { 341 super(className, cPtr, cMemoryOwn); 342 swigCPtr = cPtr; 343 } 344 345 /** Construct a new IWriter, normally you should not need this constructor it's intended for low-level usage. */ 346 public IWriter(long cPtr, boolean cMemoryOwn) { 347 this("IWriter", cPtr, cMemoryOwn); 348 construct(); 349 } 350 351 @Override 352 protected void reset(long cPtr, boolean cMemoryOwn) { 353 if (!destroyed) 354 destroy(); 355 super.reset(swigCPtr = cPtr, cMemoryOwn); 356 } 357 358 public static long getCPtr(IWriter obj) { 359 return (obj == null) ? 0 : obj.swigCPtr; 360 } 361 362 @Override 363 protected void finalize() throws Throwable { 364 if (!destroyed) 365 destroy(); 366 super.finalize(); 367 } 368 369 @Override protected synchronized void delete() { 370 if (swigCPtr != 0) { 371 if (swigCMemOwn) { 372 swigCMemOwn = false; 373 CollisionJNI.delete_btDbvt_IWriter(swigCPtr); 374 } 375 swigCPtr = 0; 376 } 377 super.delete(); 378 } 379 380 public void Prepare(btDbvtNode root, int numnodes) { 381 CollisionJNI.btDbvt_IWriter_Prepare(swigCPtr, this, btDbvtNode.getCPtr(root), root, numnodes); 382 } 383 384 public void WriteNode(btDbvtNode arg0, int index, int parent, int child0, int child1) { 385 CollisionJNI.btDbvt_IWriter_WriteNode(swigCPtr, this, btDbvtNode.getCPtr(arg0), arg0, index, parent, child0, child1); 386 } 387 388 public void WriteLeaf(btDbvtNode arg0, int index, int parent) { 389 CollisionJNI.btDbvt_IWriter_WriteLeaf(swigCPtr, this, btDbvtNode.getCPtr(arg0), arg0, index, parent); 390 } 391 392 } 393 394 static public class IClone extends BulletBase { 395 private long swigCPtr; 396 397 protected IClone(final String className, long cPtr, boolean cMemoryOwn) { 398 super(className, cPtr, cMemoryOwn); 399 swigCPtr = cPtr; 400 } 401 402 /** Construct a new IClone, normally you should not need this constructor it's intended for low-level usage. */ 403 public IClone(long cPtr, boolean cMemoryOwn) { 404 this("IClone", cPtr, cMemoryOwn); 405 construct(); 406 } 407 408 @Override 409 protected void reset(long cPtr, boolean cMemoryOwn) { 410 if (!destroyed) 411 destroy(); 412 super.reset(swigCPtr = cPtr, cMemoryOwn); 413 } 414 415 public static long getCPtr(IClone obj) { 416 return (obj == null) ? 0 : obj.swigCPtr; 417 } 418 419 @Override 420 protected void finalize() throws Throwable { 421 if (!destroyed) 422 destroy(); 423 super.finalize(); 424 } 425 426 @Override protected synchronized void delete() { 427 if (swigCPtr != 0) { 428 if (swigCMemOwn) { 429 swigCMemOwn = false; 430 CollisionJNI.delete_btDbvt_IClone(swigCPtr); 431 } 432 swigCPtr = 0; 433 } 434 super.delete(); 435 } 436 437 public void CloneLeaf(btDbvtNode arg0) { 438 CollisionJNI.btDbvt_IClone_CloneLeaf(swigCPtr, this, btDbvtNode.getCPtr(arg0), arg0); 439 } 440 441 public IClone() { 442 this(CollisionJNI.new_btDbvt_IClone(), true); 443 } 444 445 } 446 447 public void setRoot(btDbvtNode value) { 448 CollisionJNI.btDbvt_root_set(swigCPtr, this, btDbvtNode.getCPtr(value), value); 449 } 450 451 public btDbvtNode getRoot() { 452 return btDbvtNode.internalTemp(CollisionJNI.btDbvt_root_get(swigCPtr, this), false); 453 } 454 455 public void setFree(btDbvtNode value) { 456 CollisionJNI.btDbvt_free_set(swigCPtr, this, btDbvtNode.getCPtr(value), value); 457 } 458 459 public btDbvtNode getFree() { 460 return btDbvtNode.internalTemp(CollisionJNI.btDbvt_free_get(swigCPtr, this), false); 461 } 462 463 public void setLkhd(int value) { 464 CollisionJNI.btDbvt_lkhd_set(swigCPtr, this, value); 465 } 466 467 public int getLkhd() { 468 return CollisionJNI.btDbvt_lkhd_get(swigCPtr, this); 469 } 470 471 public void setLeaves(int value) { 472 CollisionJNI.btDbvt_leaves_set(swigCPtr, this, value); 473 } 474 475 public int getLeaves() { 476 return CollisionJNI.btDbvt_leaves_get(swigCPtr, this); 477 } 478 479 public void setOpath(long value) { 480 CollisionJNI.btDbvt_opath_set(swigCPtr, this, value); 481 } 482 483 public long getOpath() { 484 return CollisionJNI.btDbvt_opath_get(swigCPtr, this); 485 } 486 487 public void setStkStack(SWIGTYPE_p_btAlignedObjectArrayT_btDbvt__sStkNN_t value) { 488 CollisionJNI.btDbvt_stkStack_set(swigCPtr, this, SWIGTYPE_p_btAlignedObjectArrayT_btDbvt__sStkNN_t.getCPtr(value)); 489 } 490 491 public SWIGTYPE_p_btAlignedObjectArrayT_btDbvt__sStkNN_t getStkStack() { 492 long cPtr = CollisionJNI.btDbvt_stkStack_get(swigCPtr, this); 493 return (cPtr == 0) ? null : new SWIGTYPE_p_btAlignedObjectArrayT_btDbvt__sStkNN_t(cPtr, false); 494 } 495 496 public void setRayTestStack(SWIGTYPE_p_btAlignedObjectArrayT_btDbvtNode_const_p_t value) { 497 CollisionJNI.btDbvt_rayTestStack_set(swigCPtr, this, SWIGTYPE_p_btAlignedObjectArrayT_btDbvtNode_const_p_t.getCPtr(value)); 498 } 499 500 public SWIGTYPE_p_btAlignedObjectArrayT_btDbvtNode_const_p_t getRayTestStack() { 501 long cPtr = CollisionJNI.btDbvt_rayTestStack_get(swigCPtr, this); 502 return (cPtr == 0) ? null : new SWIGTYPE_p_btAlignedObjectArrayT_btDbvtNode_const_p_t(cPtr, false); 503 } 504 505 public btDbvt() { 506 this(CollisionJNI.new_btDbvt(), true); 507 } 508 509 public void clear() { 510 CollisionJNI.btDbvt_clear(swigCPtr, this); 511 } 512 513 public boolean empty() { 514 return CollisionJNI.btDbvt_empty(swigCPtr, this); 515 } 516 517 public void optimizeBottomUp() { 518 CollisionJNI.btDbvt_optimizeBottomUp(swigCPtr, this); 519 } 520 521 public void optimizeTopDown(int bu_treshold) { 522 CollisionJNI.btDbvt_optimizeTopDown__SWIG_0(swigCPtr, this, bu_treshold); 523 } 524 525 public void optimizeTopDown() { 526 CollisionJNI.btDbvt_optimizeTopDown__SWIG_1(swigCPtr, this); 527 } 528 529 public void optimizeIncremental(int passes) { 530 CollisionJNI.btDbvt_optimizeIncremental(swigCPtr, this, passes); 531 } 532 533 public btDbvtNode insert(btDbvtAabbMm box, long data) { 534 return btDbvtNode.internalTemp(CollisionJNI.btDbvt_insert(swigCPtr, this, btDbvtAabbMm.getCPtr(box), box, data), false); 535 } 536 537 public void update(btDbvtNode leaf, int lookahead) { 538 CollisionJNI.btDbvt_update__SWIG_0(swigCPtr, this, btDbvtNode.getCPtr(leaf), leaf, lookahead); 539 } 540 541 public void update(btDbvtNode leaf) { 542 CollisionJNI.btDbvt_update__SWIG_1(swigCPtr, this, btDbvtNode.getCPtr(leaf), leaf); 543 } 544 545 public void update(btDbvtNode leaf, btDbvtAabbMm volume) { 546 CollisionJNI.btDbvt_update__SWIG_2(swigCPtr, this, btDbvtNode.getCPtr(leaf), leaf, btDbvtAabbMm.getCPtr(volume), volume); 547 } 548 549 public boolean update(btDbvtNode leaf, btDbvtAabbMm volume, Vector3 velocity, float margin) { 550 return CollisionJNI.btDbvt_update__SWIG_3(swigCPtr, this, btDbvtNode.getCPtr(leaf), leaf, btDbvtAabbMm.getCPtr(volume), volume, velocity, margin); 551 } 552 553 public boolean update(btDbvtNode leaf, btDbvtAabbMm volume, Vector3 velocity) { 554 return CollisionJNI.btDbvt_update__SWIG_4(swigCPtr, this, btDbvtNode.getCPtr(leaf), leaf, btDbvtAabbMm.getCPtr(volume), volume, velocity); 555 } 556 557 public boolean update(btDbvtNode leaf, btDbvtAabbMm volume, float margin) { 558 return CollisionJNI.btDbvt_update__SWIG_5(swigCPtr, this, btDbvtNode.getCPtr(leaf), leaf, btDbvtAabbMm.getCPtr(volume), volume, margin); 559 } 560 561 public void remove(btDbvtNode leaf) { 562 CollisionJNI.btDbvt_remove(swigCPtr, this, btDbvtNode.getCPtr(leaf), leaf); 563 } 564 565 public void write(btDbvt.IWriter iwriter) { 566 CollisionJNI.btDbvt_write(swigCPtr, this, btDbvt.IWriter.getCPtr(iwriter), iwriter); 567 } 568 569 public void clone(btDbvt dest, btDbvt.IClone iclone) { 570 CollisionJNI.btDbvt_clone__SWIG_0(swigCPtr, this, btDbvt.getCPtr(dest), dest, btDbvt.IClone.getCPtr(iclone), iclone); 571 } 572 573 public void clone(btDbvt dest) { 574 CollisionJNI.btDbvt_clone__SWIG_1(swigCPtr, this, btDbvt.getCPtr(dest), dest); 575 } 576 577 public static int maxdepth(btDbvtNode node) { 578 return CollisionJNI.btDbvt_maxdepth(btDbvtNode.getCPtr(node), node); 579 } 580 581 public static int countLeaves(btDbvtNode node) { 582 return CollisionJNI.btDbvt_countLeaves(btDbvtNode.getCPtr(node), node); 583 } 584 585 public static void extractLeaves(btDbvtNode node, SWIGTYPE_p_btAlignedObjectArrayT_btDbvtNode_const_p_t leaves) { 586 CollisionJNI.btDbvt_extractLeaves(btDbvtNode.getCPtr(node), node, SWIGTYPE_p_btAlignedObjectArrayT_btDbvtNode_const_p_t.getCPtr(leaves)); 587 } 588 589 public static void benchmark() { 590 CollisionJNI.btDbvt_benchmark(); 591 } 592 593 public static void enumNodes(btDbvtNode root, ICollide policy) { 594 CollisionJNI.btDbvt_enumNodes(btDbvtNode.getCPtr(root), root, ICollide.getCPtr(policy), policy); 595 } 596 597 public static void enumLeaves(btDbvtNode root, ICollide policy) { 598 CollisionJNI.btDbvt_enumLeaves(btDbvtNode.getCPtr(root), root, ICollide.getCPtr(policy), policy); 599 } 600 601 public void collideTT(btDbvtNode root0, btDbvtNode root1, ICollide policy) { 602 CollisionJNI.btDbvt_collideTT(swigCPtr, this, btDbvtNode.getCPtr(root0), root0, btDbvtNode.getCPtr(root1), root1, ICollide.getCPtr(policy), policy); 603 } 604 605 public void collideTTpersistentStack(btDbvtNode root0, btDbvtNode root1, ICollide policy) { 606 CollisionJNI.btDbvt_collideTTpersistentStack(swigCPtr, this, btDbvtNode.getCPtr(root0), root0, btDbvtNode.getCPtr(root1), root1, ICollide.getCPtr(policy), policy); 607 } 608 609 public void collideTV(btDbvtNode root, btDbvtAabbMm volume, ICollide policy) { 610 CollisionJNI.btDbvt_collideTV(swigCPtr, this, btDbvtNode.getCPtr(root), root, btDbvtAabbMm.getCPtr(volume), volume, ICollide.getCPtr(policy), policy); 611 } 612 613 public static void rayTest(btDbvtNode root, Vector3 rayFrom, Vector3 rayTo, ICollide policy) { 614 CollisionJNI.btDbvt_rayTest(btDbvtNode.getCPtr(root), root, rayFrom, rayTo, ICollide.getCPtr(policy), policy); 615 } 616 617 public void rayTestInternal(btDbvtNode root, Vector3 rayFrom, Vector3 rayTo, Vector3 rayDirectionInverse, long[] signs, float lambda_max, Vector3 aabbMin, Vector3 aabbMax, ICollide policy) { 618 CollisionJNI.btDbvt_rayTestInternal(swigCPtr, this, btDbvtNode.getCPtr(root), root, rayFrom, rayTo, rayDirectionInverse, signs, lambda_max, aabbMin, aabbMax, ICollide.getCPtr(policy), policy); 619 } 620 621 public static void collideKDOP(btDbvtNode root, btVector3 normals, java.nio.FloatBuffer offsets, int count, ICollide policy) { 622 assert offsets.isDirect() : "Buffer must be allocated direct."; 623 { 624 CollisionJNI.btDbvt_collideKDOP__SWIG_0(btDbvtNode.getCPtr(root), root, btVector3.getCPtr(normals), normals, offsets, count, ICollide.getCPtr(policy), policy); 625 } 626 } 627 628 public static void collideOCL(btDbvtNode root, btVector3 normals, java.nio.FloatBuffer offsets, Vector3 sortaxis, int count, ICollide policy, boolean fullsort) { 629 assert offsets.isDirect() : "Buffer must be allocated direct."; 630 { 631 CollisionJNI.btDbvt_collideOCL__SWIG_0(btDbvtNode.getCPtr(root), root, btVector3.getCPtr(normals), normals, offsets, sortaxis, count, ICollide.getCPtr(policy), policy, fullsort); 632 } 633 } 634 635 public static void collideOCL(btDbvtNode root, btVector3 normals, java.nio.FloatBuffer offsets, Vector3 sortaxis, int count, ICollide policy) { 636 assert offsets.isDirect() : "Buffer must be allocated direct."; 637 { 638 CollisionJNI.btDbvt_collideOCL__SWIG_1(btDbvtNode.getCPtr(root), root, btVector3.getCPtr(normals), normals, offsets, sortaxis, count, ICollide.getCPtr(policy), policy); 639 } 640 } 641 642 public static void collideTU(btDbvtNode root, ICollide policy) { 643 CollisionJNI.btDbvt_collideTU(btDbvtNode.getCPtr(root), root, ICollide.getCPtr(policy), policy); 644 } 645 646 public static int nearest(java.nio.IntBuffer i, btDbvt.sStkNPS a, float v, int l, int h) { 647 assert i.isDirect() : "Buffer must be allocated direct."; 648 { 649 return CollisionJNI.btDbvt_nearest(i, btDbvt.sStkNPS.getCPtr(a), a, v, l, h); 650 } 651 } 652 653 public static int allocate(SWIGTYPE_p_btAlignedObjectArrayT_int_t ifree, SWIGTYPE_p_btAlignedObjectArrayT_btDbvt__sStkNPS_t stock, btDbvt.sStkNPS value) { 654 return CollisionJNI.btDbvt_allocate(SWIGTYPE_p_btAlignedObjectArrayT_int_t.getCPtr(ifree), SWIGTYPE_p_btAlignedObjectArrayT_btDbvt__sStkNPS_t.getCPtr(stock), btDbvt.sStkNPS.getCPtr(value), value); 655 } 656 657 public static void collideKDOP(btDbvtNode root, java.nio.FloatBuffer normals, java.nio.FloatBuffer offsets, int count, ICollide policy) { 658 assert normals.isDirect() : "Buffer must be allocated direct."; 659 assert offsets.isDirect() : "Buffer must be allocated direct."; 660 { 661 CollisionJNI.btDbvt_collideKDOP__SWIG_1(btDbvtNode.getCPtr(root), root, normals, offsets, count, ICollide.getCPtr(policy), policy); 662 } 663 } 664 665 public static void collideOCL(btDbvtNode root, java.nio.FloatBuffer normals, java.nio.FloatBuffer offsets, Vector3 sortaxis, int count, ICollide policy, boolean fullsort) { 666 assert normals.isDirect() : "Buffer must be allocated direct."; 667 assert offsets.isDirect() : "Buffer must be allocated direct."; 668 { 669 CollisionJNI.btDbvt_collideOCL__SWIG_2(btDbvtNode.getCPtr(root), root, normals, offsets, sortaxis, count, ICollide.getCPtr(policy), policy, fullsort); 670 } 671 } 672 673 public static void collideOCL(btDbvtNode root, java.nio.FloatBuffer normals, java.nio.FloatBuffer offsets, Vector3 sortaxis, int count, ICollide policy) { 674 assert normals.isDirect() : "Buffer must be allocated direct."; 675 assert offsets.isDirect() : "Buffer must be allocated direct."; 676 { 677 CollisionJNI.btDbvt_collideOCL__SWIG_3(btDbvtNode.getCPtr(root), root, normals, offsets, sortaxis, count, ICollide.getCPtr(policy), policy); 678 } 679 } 680 681 public final static int SIMPLE_STACKSIZE = 64; 682 public final static int DOUBLE_STACKSIZE = SIMPLE_STACKSIZE*2; 683 684 } 685