1### Library integration 2 3- Build on all platforms (update SwigBulletBuild) 4- Complete gdxVoidPointer.i and enable it in gdxBullet.i 5 6### Features not yet finished: 7 8- Generate soft body, gimpact types 9 10 Also update the btCollisionShape downcast switch block to include these 11 12- Handle "CUSTOM" btCollisionShape downcasts 13 14- Test perf around largish types crossing boundaries often 15 16 Vector3, Matrix4, and Quaternion should be pretty efficient. Their 17 floats are directly accessed in JNI. 18 19- Enable and fix vehicle class generation 20 21 They're the only ones I left disabled because of some C++ compile 22 issues I didn't care to fix at the time. 23 24- Break into modules 25 26 Collision and dynamics types in separate libraries? The generated 27 wrappers are currently huge because they include everything. 28 Maybe disable lesser used features (some shapes? serialization?). 29 30### Ongoing Maintenance 31 32- Add new classes to gdxBullet.i in that big section near the bottom 33 34 These are the "simple" classes. We'll need to add new ones when 35 they appera in Bullet, remove them when they disappear. 36 37- Add new files to "custom" for types with inner classes / structs 38 39 Some classes have inner types that are really useful and they 40 need those types declared in .i files. When they change, we'll 41 need to update the class declarations. 42 43 We can ignore inner types that won't be useful to gdx users. 44 45- Write more type substitutions like for Vector3, Matrix3, Quaternion 46 47 These make it more pleasant to use Bullet with GDX, and should 48 help with performance (fewer bytes copied). 49 50- Add efficient helper methods to Bullet classes 51 52 SWIG can "add" methods to C++ classes when it generates wrappers. 53 This powerful feature can be used to add non-allocating methods to 54 classes that would otherwise return a reference or pointer that SWIG 55 would wrap with a new Java object (an allocation). 56 57 Examples: 58 59 - custom/btCollisionObject.i "getWorldTransform(btTransform & out)" 60 and friends provide allocation-free means to get/set collision 61 object properties.