func (b Body) AutoDisableSteps() int {
	return int(C.dBodyGetAutoDisableSteps(b.c()))
}
AutoDisableSteps returns the number of auto disable steps.
package ode
import "C"
import (
	"unsafe"
)
var (
	bodyData       = map[Body]interface{}{}
	movedCallbacks = map[Body]MovedCallback{}
)
type Body uintptr
type MovedCallback func(b Body)
func movedCallback(c C.dBodyID) {
	body := cToBody(c)
	if cb, ok := movedCallbacks[body]; ok {
		cb(body)
	}
}
func cToBody(c C.dBodyID) Body {
	return Body(unsafe.Pointer(c))
}
func (b Body) c() C.dBodyID {
	return C.dBodyID(unsafe.Pointer(b))
}
func (b Body) Destroy() {
	delete(bodyData, b)
	C.dBodyDestroy(b.c())
}
func (b Body) SetAutoDisableLinearThreshold(thresh float64) {
	C.dBodySetAutoDisableLinearThreshold(b.c(), C.dReal(thresh))
}
func (b Body) AutoDisableLinearThreshold() float64 {
	return float64(C.dBodyGetAutoDisableLinearThreshold(b.c()))
}
func (b Body) SetAutoDisableAngularThreshold(thresh float64) {
	C.dBodySetAutoDisableAngularThreshold(b.c(), C.dReal(thresh))
}
func (b Body) AutoDisableAngularThreshold() float64 {
	return float64(C.dBodyGetAutoDisableAngularThreshold(b.c()))
}
func (b Body) SetAutoAutoDisableAverageSamplesCount(count int) {
	C.dBodySetAutoDisableAverageSamplesCount(b.c(), C.uint(count))
}
func (b Body) AutoDisableAverageSamplesCount() int {
	return int(C.dBodyGetAutoDisableAverageSamplesCount(b.c()))
}
func (b Body) SetAutoDisableSteps(steps int) {
	C.dBodySetAutoDisableSteps(b.c(), C.int(steps))
}