Use approximate equallity methods in many places
This commit is contained in:
@@ -434,7 +434,7 @@ bool EditorPropertyRevert::is_node_property_different(Node *p_node, const Varian
|
||||
float a = p_current;
|
||||
float b = p_orig;
|
||||
|
||||
return Math::abs(a - b) > CMP_EPSILON; //this must be done because, as some scenes save as text, there might be a tiny difference in floats due to numerical error
|
||||
return !Math::is_equal_approx(a, b); //this must be done because, as some scenes save as text, there might be a tiny difference in floats due to numerical error
|
||||
}
|
||||
|
||||
return bool(Variant::evaluate(Variant::OP_NOT_EQUAL, p_current, p_orig));
|
||||
|
||||
@@ -194,7 +194,7 @@ void CurveEditor::on_gui_input(const Ref<InputEvent> &p_event) {
|
||||
Vector2 dir = (control_pos - point_pos).normalized();
|
||||
|
||||
real_t tangent;
|
||||
if (Math::abs(dir.x) > CMP_EPSILON)
|
||||
if (!Math::is_zero_approx(dir.x))
|
||||
tangent = dir.y / dir.x;
|
||||
else
|
||||
tangent = 9999 * (dir.y >= 0 ? 1 : -1);
|
||||
|
||||
@@ -2473,7 +2473,7 @@ void SpatialEditorViewport::_draw() {
|
||||
real_t max_speed = camera->get_zfar();
|
||||
real_t scale_length = (max_speed - min_speed);
|
||||
|
||||
if (Math::abs(scale_length) > CMP_EPSILON) {
|
||||
if (!Math::is_zero_approx(scale_length)) {
|
||||
real_t logscale_t = 1.0 - Math::log(1 + freelook_speed - min_speed) / Math::log(1 + scale_length);
|
||||
|
||||
// There is no real maximum speed so that factor can become negative,
|
||||
@@ -2491,7 +2491,7 @@ void SpatialEditorViewport::_draw() {
|
||||
real_t max_distance = camera->get_zfar();
|
||||
real_t scale_length = (max_distance - min_distance);
|
||||
|
||||
if (Math::abs(scale_length) > CMP_EPSILON) {
|
||||
if (!Math::is_zero_approx(scale_length)) {
|
||||
real_t logscale_t = 1.0 - Math::log(1 + cursor.distance - min_distance) / Math::log(1 + scale_length);
|
||||
|
||||
// There is no real maximum distance so that factor can become negative,
|
||||
|
||||
Reference in New Issue
Block a user