Will Eastcott

Results 359 comments of Will Eastcott

Yeah, PlayCanvas calls `addTriangle` [here](https://github.com/playcanvas/engine/blob/main/src/framework/components/collision/system.js#L371). For large environments, this can be very slow. It'd be great to have a faster mechanism for specifying the collision mesh geometry.

`btCollisionWorld` is the base class for the various sub-type worlds. https://pybullet.org/Bullet/BulletFull/classbtCollisionWorld.html PlayCanvas uses the `btDiscreteDynamicsWorld` subclass: https://github.com/playcanvas/engine/blob/dev/src/framework/components/rigid-body/system.js#L329 It does appear that `btCollisionWorld` does appear in the IDL though: https://github.com/kripken/ammo.js/blob/main/ammo.idl#L863-L879 So...

Are you asking how to set up kinematic bodies? (If you don't know about kinematic bodies in Ammo, the PlayCanvas docs have some [info](https://developer.playcanvas.com/en/user-manual/physics/physics-basics/#creating-kinematic-bodies)). The [PlayCanvas engine codebase](https://github.com/playcanvas/engine/blob/dev/src/framework/components/rigid-body/component.js#L466-L467) shows how...

Let's say I want to expose: ``` c++~~~ int getNumManifolds() const; ``` from btCollisionDispatcher. Will the following suffice in the ammo.idl file? ``` javascript~~~ interface btDispatcher { }; interface btCollisionDispatcher...

Just thinking about it, perhaps it would be good to have a version of ammo.idl that exposes everything and developers can just delete what they don't need instead of add...

So doesn't that declare the return value of const rather than the function being const? As for the colon syntax, this is in ammo.idl: ``` javascript~~~ interface btDispatcher { };...

Oh, sorry, I just noticed that getNumManifolds actually is defined in btDispatcher as pure virtual. Duh, how did I miss that. ;o) So next problem. I've exposed btVector3::setValue, which takes...

Just to be clear about what I've done, I have: ``` javascript~~~ interface btVector3 { void btVector3(); void btVector3(float x, float y, float z); float x(); float y(); float z();...

Another question. If I define: ``` interface btPersistentManifold { btCollisionObject getBody0(); btCollisionObject getBody1(); }; ``` I get the following error: ``` glue.cpp:316:10: error: cannot initialize return object of type 'btCollisionObject...

Thanks for fixing problem no.1! As for problem no.2, if I change my IDL file to: ``` interface btPersistentManifold { [Const] btCollisionObject getBody0(); [Const] btCollisionObject getBody1(); }; ``` I get...