-
Notifications
You must be signed in to change notification settings - Fork 13
Description
Hello!
Ive been looking through your nice library and I found some puzzling things about the reportConstraints function.
1. Typo
It seems like there might be a typo here where .lenght should be .length
| index = _constraints.lenght; |
It also seems as if it was not fixed for quite a while.
2. .ta attribute is defined conditionally
The .ta attribute is set in the addConstraint function for the slider, conetwist, and dof types.
physics-module-ammonext/bundle-worker/physics-module.js
Lines 2527 to 2528 in 5f58d67
| constraint.ta = transforma; | |
| constraint.tb = transformb; |
The .ta attribute is only used in the reportConstraints function for ALL constraints regardless of type.
physics-module-ammonext/bundle-worker/physics-module.js
Lines 3141 to 3158 in 5f58d67
| while (index--) { | |
| if (_constraints[index]) { | |
| var _constraint = _constraints[index]; | |
| var offset_body = _constraint.a; | |
| var transform = _constraint.ta; | |
| var origin = transform.getOrigin(); | |
| // add values to report | |
| offset = 1 + i++ * CONSTRAINTREPORT_ITEMSIZE; | |
| constraintreport[offset] = index; | |
| constraintreport[offset + 1] = offset_body.id; | |
| constraintreport[offset + 2] = origin.x; | |
| constraintreport[offset + 3] = origin.y; | |
| constraintreport[offset + 4] = origin.z; | |
| constraintreport[offset + 5] = _constraint.getBreakingImpulseThreshold(); | |
| } | |
| } |
Therefore, if you create a constraint that does not set the .ta attribute, you will get an error when this function is run:
