                                 n = point.get_m_normalWorldOnB()
                                 if b1 == p
                                     normal = vec3.new n.x(), n.y(), n.z()
+                                    other = pointer_to_body[b0]
                                     ret.push {point_on_body: b, \
-                                        point_on_other: a, normal}
+                                        point_on_other: a, normal, other}
                                 else
                                     normal = vec3.new -n.x(), -n.y(), -n.z()
+                                    other = pointer_to_body[b1]
                                     ret.push {point_on_body: a, \
-                                        point_on_other: b, normal}
+                                        point_on_other: b, normal, other}
         return ret
 
     _clone_to: (owner) ->

        startTransform.setRotation tmp_Quaternion
        body.setWorldTransform startTransform
        body.pointers = [startTransform]
        @world.pointer_to_body[body.ptr] = body
        return body

    _destroy_body: ->

            @btworld.addRigidBody(@btbody, @group, @mask)
        if @no_sleeping
            @disallow_sleeping()
        if @is_ghost or @type == 'SENSOR'
            @make_ghost()
        @update_transform()
        @world.pointer_to_body[@btbody.ptr] = this

    get_physics_mesh: (use_visual_mesh=@_use_visual_mesh) ->
        if @type == 'NO_COLLISION' or
