|
26 | 26 | * *
|
27 | 27 | * Author:: Greg Hjelstrom *
|
28 | 28 | * *
|
29 |
| - * $Modtime:: 5/08/01 9:52a $* |
| 29 | + * $Modtime:: 1/15/02 2:46p $* |
30 | 30 | * *
|
31 |
| - * $Revision:: 17 $* |
| 31 | + * $Revision:: 19 $* |
32 | 32 | * *
|
33 | 33 | *---------------------------------------------------------------------------------------------*
|
34 | 34 | * Functions: *
|
@@ -503,10 +503,11 @@ static inline void aabtri_compute_contact_normal
|
503 | 503 | switch(CollisionContext.AxisId)
|
504 | 504 | {
|
505 | 505 | case INTERSECTION:
|
506 |
| - set_norm = *CollisionContext.Tri->N; |
| 506 | + set_norm = CollisionContext.N; |
| 507 | + set_norm.Normalize(); |
507 | 508 | break;
|
508 | 509 | case AXIS_N:
|
509 |
| - set_norm = -CollisionContext.Side * *CollisionContext.Tri->N; |
| 510 | + set_norm = -CollisionContext.Side * CollisionContext.N; |
510 | 511 | set_norm.Normalize();
|
511 | 512 | break;
|
512 | 513 | case AXIS_A0:
|
@@ -559,7 +560,8 @@ static inline void aabtri_compute_contact_normal
|
559 | 560 | WWASSERT(set_norm.Length2() > 0.0f);
|
560 | 561 |
|
561 | 562 | #else
|
562 |
| - set_norm = *CollisionContext.Tri.N; |
| 563 | + set_norm = *CollisionContext.N; |
| 564 | + set_norm.Normalize(); |
563 | 565 | if (Vector3::Dot_Product(set_norm,CollisionContext.Move) > 0.0f) {
|
564 | 566 | set_norm = -(set_norm);
|
565 | 567 | }
|
@@ -832,8 +834,7 @@ bool CollisionMath::Collide
|
832 | 834 | (Vector3::Dot_Product(tmp_norm,move) < Vector3::Dot_Product(result->Normal,move)))
|
833 | 835 | {
|
834 | 836 | result->Normal = tmp_norm;
|
835 |
| -#pragma message("fatal assert disabled for demo") |
836 |
| - //WWASSERT(WWMath::Fabs(result->Normal.Length() - 1.0f) < WWMATH_EPSILON); |
| 837 | + WWASSERT(WWMath::Fabs(result->Normal.Length() - 1.0f) < WWMATH_EPSILON); |
837 | 838 | }
|
838 | 839 |
|
839 | 840 | result->Fraction = CollisionContext.MaxFrac;
|
|
0 commit comments