| 931 | } |
| 932 | |
| 933 | func (body *B2Body) Dump() { |
| 934 | bodyIndex := body.M_islandIndex |
| 935 | |
| 936 | fmt.Print("{\n") |
| 937 | fmt.Print(" b2BodyDef bd;\n") |
| 938 | fmt.Print(fmt.Printf(" bd.type = b2BodyType(%d);\n", body.M_type)) |
| 939 | fmt.Print(fmt.Printf(" bd.position.Set(%.15lef, %.15lef);\n", body.M_xf.P.X, body.M_xf.P.Y)) |
| 940 | fmt.Print(fmt.Printf(" bd.angle = %.15lef;\n", body.M_sweep.A)) |
| 941 | fmt.Print(fmt.Printf(" bd.linearVelocity.Set(%.15lef, %.15lef);\n", body.M_linearVelocity.X, body.M_linearVelocity.Y)) |
| 942 | fmt.Print(fmt.Printf(" bd.angularVelocity = %.15lef;\n", body.M_angularVelocity)) |
| 943 | fmt.Print(fmt.Printf(" bd.linearDamping = %.15lef;\n", body.M_linearDamping)) |
| 944 | fmt.Print(fmt.Printf(" bd.angularDamping = %.15lef;\n", body.M_angularDamping)) |
| 945 | fmt.Print(fmt.Printf(" bd.allowSleep = bool(%d);\n", body.M_flags&B2Body_Flags.E_autoSleepFlag)) |
| 946 | fmt.Print(fmt.Printf(" bd.awake = bool(%d);\n", body.M_flags&B2Body_Flags.E_awakeFlag)) |
| 947 | fmt.Print(fmt.Printf(" bd.fixedRotation = bool(%d);\n", body.M_flags&B2Body_Flags.E_fixedRotationFlag)) |
| 948 | fmt.Print(fmt.Printf(" bd.bullet = bool(%d);\n", body.M_flags&B2Body_Flags.E_bulletFlag)) |
| 949 | fmt.Print(fmt.Printf(" bd.active = bool(%d);\n", body.M_flags&B2Body_Flags.E_activeFlag)) |
| 950 | fmt.Print(fmt.Printf(" bd.gravityScale = %.15lef;\n", body.M_gravityScale)) |
| 951 | fmt.Print(fmt.Printf(" bodies[%d] = body.M_world.CreateBody(&bd);\n", body.M_islandIndex)) |
| 952 | fmt.Print("\n") |
| 953 | for f := body.M_fixtureList; f != nil; f = f.M_next { |
| 954 | fmt.Print(" {\n") |
| 955 | f.Dump(bodyIndex) |
| 956 | fmt.Print(" }\n") |
| 957 | } |
| 958 | fmt.Print("}\n") |
| 959 | } |