Jme3-bullet type lexicon

The Bullet 2.83 Physics SDK Manual is 4 years out of date, but still valuable for understanding how native Bullet works—and thus understanding jme3-bullet/jme3-bullet-native/jme3-bullet-native-android as well. One hurdle is translating Bullet’s C++ types to jme3-bullet Java classes.

For the Minie project, I created a lexicon: a table of which Java class most closely corresponds with each C++ type. Most of the correspondences also apply to jme3-bullet, so I created a table (below) specifically for jme3-bullet. If there’s broad interest, I could add this to the JME wiki.

Bullet v2 C++ type:               corresponding Java class: com.jme3...
btBoxShape                        .bullet.collision.shapes.BoxCollisionShape
btBU_Simplex1to4                  .bullet.collision.shapes.SimplexCollisionShape
btBvhTriangleMeshShape            .bullet.collision.shapes.MeshCollisionShape
btCapsuleShape{X//Z}              .bullet.collision.shapes.CapsuleCollisionShape
btCollisionObject                 .bullet.collision.PhysicsCollisionObject
btCollisionShape                  .bullet.collision.shapes.CollisionShape
btCompoundShape                   .bullet.collision.shapes.CompoundCollisionShape
btCompoundShapeChild              .bullet.collision.shapes.info.ChildCollisionShape
btConeShape{X//Z}                 .bullet.collision.shapes.ConeCollisionShape
btConeTwistConstraint             .bullet.joints.ConeJoint
btConvexHullShape                 .bullet.collision.shapes.HullCollisionShape
btCylinderShape{X//Z}             .bullet.collision.shapes.CylinderCollisionShape
btDynamicsWorld                   .bullet.PhysicsSpace
btGeneric6DofConstraint           .bullet.joints.SixDofJoint
btGeneric6DofSpringConstraint     .bullet.joints.SixDofSpringJoint
btGImpactMeshShape                .bullet.collision.shapes.GImpactCollisionShape
btHeightfieldTerrainShape         .bullet.collision.shapes.HeightfieldCollisionShape
btHingeConstraint                 .bullet.joints.HingeJoint
btKinematicCharacterController    .bullet.objects.PhysicsCharacter
btManifoldPoint                   .bullet.collision.PhysicsCollisionEvent
btMatrix3x3                       .math.Matrix3f
btPairCachingGhostObject          .bullet.objects.PhysicsGhostObject
btPoint2PointConstraint           .bullet.joints.Point2PointJoint
btQuaternion                      .math.Quaternion
btRaycastVehicle                  .bullet.objects.PhysicsVehicle
btRigidBody                       .bullet.objects.PhysicsRigidBody
btRotationalLimitMotor            .bullet.joints.motors.RotationalLimitMotor
btSliderConstraint                .bullet.joints.SliderJoint
btSphereShape                     .bullet.collision.shapes.SphereCollisionShape
btStaticPlaneShape                .bullet.collision.shapes.PlaneCollisionShape
btTransform                       .math.Transform
btTranslationalLimitMotor         .bullet.joints.motors.TranslationalLimitMotor
btTriangleRaycastCallback::Eflags .bullet.RayTestFlag
btTypedConstraint                 .bullet.joints.PhysicsJoint
btVector3                         .math.Vector3f
btWheelInfo                       .bullet.objects.VehicleWheel
4 Likes

I’d say, pull the trigger for that Bullet. (Stupid pun intended.) You already did the work to make it so why not.

2 Likes