Use is_equal_approx in more places
This commit is contained in:
parent
e248d2629a
commit
78b0a7da03
12 changed files with 26 additions and 28 deletions
|
|
@ -629,9 +629,7 @@ public:
|
|||
_FORCE_INLINE_ bool test_axis(const Vector3 &p_axis, bool p_directional = false) {
|
||||
Vector3 axis = p_axis;
|
||||
|
||||
if (Math::abs(axis.x) < CMP_EPSILON &&
|
||||
Math::abs(axis.y) < CMP_EPSILON &&
|
||||
Math::abs(axis.z) < CMP_EPSILON) {
|
||||
if (axis.is_equal_approx(Vector3())) {
|
||||
// strange case, try an upwards separator
|
||||
axis = Vector3(0.0, 1.0, 0.0);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1783,7 +1783,7 @@ bool HeightMapShape3DSW::intersect_segment(const Vector3 &p_begin, const Vector3
|
|||
int z = floor(local_begin.z);
|
||||
|
||||
// Workaround cases where the ray starts at an integer position.
|
||||
if (Math::abs(cross_x) < CMP_EPSILON) {
|
||||
if (Math::is_zero_approx(cross_x)) {
|
||||
cross_x += delta_x;
|
||||
// If going backwards, we should ignore the position we would get by the above flooring,
|
||||
// because the ray is not heading in that direction.
|
||||
|
|
@ -1792,7 +1792,7 @@ bool HeightMapShape3DSW::intersect_segment(const Vector3 &p_begin, const Vector3
|
|||
}
|
||||
}
|
||||
|
||||
if (Math::abs(cross_z) < CMP_EPSILON) {
|
||||
if (Math::is_zero_approx(cross_z)) {
|
||||
cross_z += delta_z;
|
||||
if (z_step == -1) {
|
||||
z -= 1;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue