()
| 329 | } |
| 330 | |
| 331 | func (simplex B2Simplex) GetClosestPoint() B2Vec2 { |
| 332 | switch simplex.M_count { |
| 333 | case 0: |
| 334 | B2Assert(false) |
| 335 | return B2Vec2_zero |
| 336 | |
| 337 | case 1: |
| 338 | return simplex.M_vs[0].W |
| 339 | |
| 340 | case 2: |
| 341 | return B2Vec2Add( |
| 342 | B2Vec2MulScalar( |
| 343 | simplex.M_vs[0].A, |
| 344 | simplex.M_vs[0].W, |
| 345 | ), |
| 346 | B2Vec2MulScalar( |
| 347 | simplex.M_vs[1].A, |
| 348 | simplex.M_vs[1].W, |
| 349 | ), |
| 350 | ) |
| 351 | |
| 352 | case 3: |
| 353 | return B2Vec2_zero |
| 354 | |
| 355 | default: |
| 356 | B2Assert(false) |
| 357 | return B2Vec2_zero |
| 358 | } |
| 359 | } |
| 360 | |
| 361 | func (simplex B2Simplex) GetWitnessPoints(pA *B2Vec2, pB *B2Vec2) { |
| 362 | switch simplex.M_count { |
nothing calls this directly
no test coverage detected