@@ -74,29 +74,21 @@ var Contact = require('./Contact');
74
74
pair . contactCount = supportCount ;
75
75
collision . pair = pair ;
76
76
77
- var support = supports [ 0 ] ,
78
- contact = contacts [ 0 ] ;
79
-
80
- // reset first contact if support changed
81
- if ( contact . vertex !== support ) {
82
- contact . vertex = support ;
83
- contact . normalImpulse = 0 ;
84
- contact . tangentImpulse = 0 ;
85
- }
86
-
87
- if ( supportCount < 2 ) {
88
- return ;
77
+ var supportA = supports [ 0 ] ,
78
+ contactA = contacts [ 0 ] ,
79
+ supportB = supports [ 1 ] ,
80
+ contactB = contacts [ 1 ] ;
81
+
82
+ // match contacts to supports
83
+ if ( contactB . vertex === supportA || contactA . vertex === supportB ) {
84
+ contacts [ 1 ] = contactA ;
85
+ contacts [ 0 ] = contactA = contactB ;
86
+ contactB = contacts [ 1 ] ;
89
87
}
90
88
91
- support = supports [ 1 ] ;
92
- contact = contacts [ 1 ] ;
93
-
94
- // reset second contact if support changed
95
- if ( contact . vertex !== support ) {
96
- contact . vertex = support ;
97
- contact . normalImpulse = 0 ;
98
- contact . tangentImpulse = 0 ;
99
- }
89
+ // update contacts
90
+ contactA . vertex = supportA ;
91
+ contactB . vertex = supportB ;
100
92
} ;
101
93
102
94
/**
0 commit comments