B2Island.cpp * Position Correction Notes ========================= I tried the several algorithms for position correction of the 2D revolute joint. I looked at these systems: - simple pendulum (1m diameter sphere on massless 5m stick) with initial angular velocity of 100 rad/s. - suspension br
(bodyCapacity int, contactCapacity int, jointCapacity int, listener B2ContactListenerInterface)
| 176 | */ |
| 177 | |
| 178 | func MakeB2Island(bodyCapacity int, contactCapacity int, jointCapacity int, listener B2ContactListenerInterface) B2Island { |
| 179 | |
| 180 | island := B2Island{} |
| 181 | |
| 182 | island.M_bodyCapacity = bodyCapacity |
| 183 | island.M_contactCapacity = contactCapacity |
| 184 | island.M_jointCapacity = jointCapacity |
| 185 | island.M_bodyCount = 0 |
| 186 | island.M_contactCount = 0 |
| 187 | island.M_jointCount = 0 |
| 188 | |
| 189 | island.M_listener = listener |
| 190 | |
| 191 | island.M_bodies = make([]*B2Body, bodyCapacity) |
| 192 | island.M_contacts = make([]B2ContactInterface, contactCapacity) |
| 193 | island.M_joints = make([]B2JointInterface, jointCapacity) |
| 194 | |
| 195 | island.M_velocities = make([]B2Velocity, bodyCapacity) |
| 196 | island.M_positions = make([]B2Position, bodyCapacity) |
| 197 | |
| 198 | return island |
| 199 | } |
| 200 | |
| 201 | func (island *B2Island) Destroy() { |
| 202 |