mirror of
https://github.com/godotengine/godot.git
synced 2024-11-21 03:18:37 +08:00
Rename Math::stepify to snapped
This commit is contained in:
parent
be509bf5e4
commit
b743a2ef3c
@ -123,7 +123,7 @@ double Math::ease(double p_x, double p_c) {
|
||||
}
|
||||
}
|
||||
|
||||
double Math::stepify(double p_value, double p_step) {
|
||||
double Math::snapped(double p_value, double p_step) {
|
||||
if (p_step != 0) {
|
||||
p_value = Math::floor(p_value / p_step + 0.5) * p_step;
|
||||
}
|
||||
|
@ -292,7 +292,7 @@ public:
|
||||
static double ease(double p_x, double p_c);
|
||||
static int step_decimals(double p_step);
|
||||
static int range_step_decimals(double p_step);
|
||||
static double stepify(double p_value, double p_step);
|
||||
static double snapped(double p_value, double p_step);
|
||||
static double dectime(double p_value, double p_amount, double p_step);
|
||||
|
||||
static uint32_t larger_prime(uint32_t p_val);
|
||||
@ -472,12 +472,12 @@ public:
|
||||
}
|
||||
|
||||
static _ALWAYS_INLINE_ float snap_scalar(float p_offset, float p_step, float p_target) {
|
||||
return p_step != 0 ? Math::stepify(p_target - p_offset, p_step) + p_offset : p_target;
|
||||
return p_step != 0 ? Math::snapped(p_target - p_offset, p_step) + p_offset : p_target;
|
||||
}
|
||||
|
||||
static _ALWAYS_INLINE_ float snap_scalar_separation(float p_offset, float p_step, float p_target, float p_separation) {
|
||||
if (p_step != 0) {
|
||||
float a = Math::stepify(p_target - p_offset, p_step + p_separation) + p_offset;
|
||||
float a = Math::snapped(p_target - p_offset, p_step + p_separation) + p_offset;
|
||||
float b = a;
|
||||
if (p_target >= 0) {
|
||||
b -= p_separation;
|
||||
|
@ -122,10 +122,10 @@ Vector2 Vector2::project(const Vector2 &p_to) const {
|
||||
return p_to * (dot(p_to) / p_to.length_squared());
|
||||
}
|
||||
|
||||
Vector2 Vector2::snapped(const Vector2 &p_by) const {
|
||||
Vector2 Vector2::snapped(const Vector2 &p_step) const {
|
||||
return Vector2(
|
||||
Math::stepify(x, p_by.x),
|
||||
Math::stepify(y, p_by.y));
|
||||
Math::snapped(x, p_step.x),
|
||||
Math::snapped(y, p_step.y));
|
||||
}
|
||||
|
||||
Vector2 Vector2::clamped(real_t p_len) const {
|
||||
|
@ -60,15 +60,15 @@ int Vector3::max_axis() const {
|
||||
return x < y ? (y < z ? 2 : 1) : (x < z ? 2 : 0);
|
||||
}
|
||||
|
||||
void Vector3::snap(Vector3 p_val) {
|
||||
x = Math::stepify(x, p_val.x);
|
||||
y = Math::stepify(y, p_val.y);
|
||||
z = Math::stepify(z, p_val.z);
|
||||
void Vector3::snap(Vector3 p_step) {
|
||||
x = Math::snapped(x, p_step.x);
|
||||
y = Math::snapped(y, p_step.y);
|
||||
z = Math::snapped(z, p_step.z);
|
||||
}
|
||||
|
||||
Vector3 Vector3::snapped(Vector3 p_val) const {
|
||||
Vector3 Vector3::snapped(Vector3 p_step) const {
|
||||
Vector3 v = *this;
|
||||
v.snap(p_val);
|
||||
v.snap(p_step);
|
||||
return v;
|
||||
}
|
||||
|
||||
|
@ -1016,7 +1016,7 @@ static void _register_variant_builtin_methods() {
|
||||
bind_method(Vector2, cross, sarray("with"), varray());
|
||||
bind_method(Vector2, abs, sarray(), varray());
|
||||
bind_method(Vector2, sign, sarray(), varray());
|
||||
bind_method(Vector2, snapped, sarray("by"), varray());
|
||||
bind_method(Vector2, snapped, sarray("step"), varray());
|
||||
bind_method(Vector2, clamped, sarray("length"), varray());
|
||||
|
||||
/* Vector2i */
|
||||
@ -1070,7 +1070,7 @@ static void _register_variant_builtin_methods() {
|
||||
bind_method(Vector3, is_normalized, sarray(), varray());
|
||||
bind_method(Vector3, is_equal_approx, sarray("to"), varray());
|
||||
bind_method(Vector3, inverse, sarray(), varray());
|
||||
bind_method(Vector3, snapped, sarray("by"), varray());
|
||||
bind_method(Vector3, snapped, sarray("step"), varray());
|
||||
bind_method(Vector3, rotated, sarray("by_axis", "phi"), varray());
|
||||
bind_method(Vector3, lerp, sarray("to", "weight"), varray());
|
||||
bind_method(Vector3, slerp, sarray("to", "weight"), varray());
|
||||
|
@ -217,8 +217,8 @@ struct VariantUtilityFunctions {
|
||||
return Math::range_step_decimals(step);
|
||||
}
|
||||
|
||||
static inline double stepify(double value, double step) {
|
||||
return Math::stepify(value, step);
|
||||
static inline double snapped(double value, double step) {
|
||||
return Math::snapped(value, step);
|
||||
}
|
||||
|
||||
static inline double lerp(double from, double to, double weight) {
|
||||
@ -1181,7 +1181,7 @@ void Variant::_register_variant_utility_functions() {
|
||||
FUNCBINDR(ease, sarray("x", "curve"), Variant::UTILITY_FUNC_TYPE_MATH);
|
||||
FUNCBINDR(step_decimals, sarray("x"), Variant::UTILITY_FUNC_TYPE_MATH);
|
||||
FUNCBINDR(range_step_decimals, sarray("x"), Variant::UTILITY_FUNC_TYPE_MATH);
|
||||
FUNCBINDR(stepify, sarray("x", "step"), Variant::UTILITY_FUNC_TYPE_MATH);
|
||||
FUNCBINDR(snapped, sarray("x", "step"), Variant::UTILITY_FUNC_TYPE_MATH);
|
||||
|
||||
FUNCBINDR(lerp, sarray("from", "to", "weight"), Variant::UTILITY_FUNC_TYPE_MATH);
|
||||
FUNCBINDR(lerp_angle, sarray("from", "to", "weight"), Variant::UTILITY_FUNC_TYPE_MATH);
|
||||
|
@ -140,7 +140,7 @@
|
||||
i = ceil(1.45) # i is 2
|
||||
i = ceil(1.001) # i is 2
|
||||
[/codeblock]
|
||||
See also [method floor], [method round], and [method stepify].
|
||||
See also [method floor], [method round], and [method snapped].
|
||||
</description>
|
||||
</method>
|
||||
<method name="clamp">
|
||||
@ -303,7 +303,7 @@
|
||||
# a is -3.0
|
||||
a = floor(-2.99)
|
||||
[/codeblock]
|
||||
See also [method ceil], [method round], and [method stepify].
|
||||
See also [method ceil], [method round], and [method snapped].
|
||||
[b]Note:[/b] This method returns a float. If you need an integer, you can use [code]int(x)[/code] directly.
|
||||
</description>
|
||||
</method>
|
||||
@ -848,7 +848,7 @@
|
||||
[codeblock]
|
||||
round(2.6) # Returns 3
|
||||
[/codeblock]
|
||||
See also [method floor], [method ceil], and [method stepify].
|
||||
See also [method floor], [method ceil], and [method snapped].
|
||||
</description>
|
||||
</method>
|
||||
<method name="seed">
|
||||
@ -974,7 +974,7 @@
|
||||
[/codeblock]
|
||||
</description>
|
||||
</method>
|
||||
<method name="stepify">
|
||||
<method name="snapped">
|
||||
<return type="float">
|
||||
</return>
|
||||
<argument index="0" name="x" type="float">
|
||||
@ -984,8 +984,8 @@
|
||||
<description>
|
||||
Snaps float value [code]x[/code] to a given [code]step[/code]. This can also be used to round a floating point number to an arbitrary number of decimals.
|
||||
[codeblock]
|
||||
stepify(100, 32) # Returns 96
|
||||
stepify(3.14159, 0.01) # Returns 3.14
|
||||
snapped(100, 32) # Returns 96
|
||||
snapped(3.14159, 0.01) # Returns 3.14
|
||||
[/codeblock]
|
||||
See also [method ceil], [method floor], and [method round].
|
||||
</description>
|
||||
|
@ -473,7 +473,7 @@
|
||||
<method name="snapped">
|
||||
<return type="Vector2">
|
||||
</return>
|
||||
<argument index="0" name="by" type="Vector2">
|
||||
<argument index="0" name="step" type="Vector2">
|
||||
</argument>
|
||||
<description>
|
||||
Returns this vector with each component snapped to the nearest multiple of [code]step[/code]. This can also be used to round to an arbitrary number of decimals.
|
||||
|
@ -489,7 +489,7 @@
|
||||
<method name="snapped">
|
||||
<return type="Vector3">
|
||||
</return>
|
||||
<argument index="0" name="by" type="Vector3">
|
||||
<argument index="0" name="step" type="Vector3">
|
||||
</argument>
|
||||
<description>
|
||||
Returns this vector with each component snapped to the nearest multiple of [code]step[/code]. This can also be used to round to an arbitrary number of decimals.
|
||||
|
@ -367,7 +367,7 @@ void AnimationBezierTrackEdit::_notification(int p_what) {
|
||||
|
||||
float scale = (min_left_scale * 2) * v_zoom;
|
||||
float step = Math::pow(10.0, Math::round(Math::log(scale / 5.0) / Math::log(10.0))) * 5.0;
|
||||
scale = Math::stepify(scale, step);
|
||||
scale = Math::snapped(scale, step);
|
||||
|
||||
while (scale / v_zoom < min_left_scale * 2) {
|
||||
scale += step;
|
||||
@ -390,7 +390,7 @@ void AnimationBezierTrackEdit::_notification(int p_what) {
|
||||
draw_line(Point2(limit, i), Point2(right_limit, i), lc);
|
||||
Color c = color;
|
||||
c.a *= 0.5;
|
||||
draw_string(font, Point2(limit + 8, i - 2), TS->format_number(rtos(Math::stepify((iv + 1) * scale, step))), HALIGN_LEFT, -1, font_size, c);
|
||||
draw_string(font, Point2(limit + 8, i - 2), TS->format_number(rtos(Math::snapped((iv + 1) * scale, step))), HALIGN_LEFT, -1, font_size, c);
|
||||
}
|
||||
|
||||
first = false;
|
||||
@ -461,8 +461,8 @@ void AnimationBezierTrackEdit::_notification(int p_what) {
|
||||
ep.point_rect.size = bezier_icon->get_size();
|
||||
if (selection.has(i)) {
|
||||
draw_texture(selected_icon, ep.point_rect.position);
|
||||
draw_string(font, ep.point_rect.position + Vector2(8, -font->get_height(font_size) - 4), TTR("Time:") + " " + TS->format_number(rtos(Math::stepify(offset, 0.001))), HALIGN_LEFT, -1, font_size, accent);
|
||||
draw_string(font, ep.point_rect.position + Vector2(8, -8), TTR("Value:") + " " + TS->format_number(rtos(Math::stepify(value, 0.001))), HALIGN_LEFT, -1, font_size, accent);
|
||||
draw_string(font, ep.point_rect.position + Vector2(8, -font->get_height(font_size) - 4), TTR("Time:") + " " + TS->format_number(rtos(Math::snapped(offset, 0.001))), HALIGN_LEFT, -1, font_size, accent);
|
||||
draw_string(font, ep.point_rect.position + Vector2(8, -8), TTR("Value:") + " " + TS->format_number(rtos(Math::snapped(value, 0.001))), HALIGN_LEFT, -1, font_size, accent);
|
||||
} else {
|
||||
draw_texture(bezier_icon, ep.point_rect.position);
|
||||
}
|
||||
|
@ -3445,7 +3445,7 @@ void AnimationTrackEditor::_insert_delay(bool p_create_reset, bool p_create_bezi
|
||||
|
||||
float pos = timeline->get_play_position();
|
||||
|
||||
pos = Math::stepify(pos + step, step);
|
||||
pos = Math::snapped(pos + step, step);
|
||||
if (pos > animation->get_length()) {
|
||||
pos = animation->get_length();
|
||||
}
|
||||
@ -5433,7 +5433,7 @@ void AnimationTrackEditor::_edit_menu_pressed(int p_option) {
|
||||
|
||||
float pos = timeline->get_play_position();
|
||||
|
||||
pos = Math::stepify(pos + step, step);
|
||||
pos = Math::snapped(pos + step, step);
|
||||
if (pos > animation->get_length()) {
|
||||
pos = animation->get_length();
|
||||
}
|
||||
@ -5452,7 +5452,7 @@ void AnimationTrackEditor::_edit_menu_pressed(int p_option) {
|
||||
}
|
||||
|
||||
float pos = timeline->get_play_position();
|
||||
pos = Math::stepify(pos - step, step);
|
||||
pos = Math::snapped(pos - step, step);
|
||||
if (pos < 0) {
|
||||
pos = 0;
|
||||
}
|
||||
@ -5581,9 +5581,9 @@ float AnimationTrackEditor::snap_time(float p_value, bool p_relative) {
|
||||
|
||||
if (p_relative) {
|
||||
double rel = Math::fmod(timeline->get_value(), snap_increment);
|
||||
p_value = Math::stepify(p_value + rel, snap_increment) - rel;
|
||||
p_value = Math::snapped(p_value + rel, snap_increment) - rel;
|
||||
} else {
|
||||
p_value = Math::stepify(p_value, snap_increment);
|
||||
p_value = Math::snapped(p_value, snap_increment);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -863,7 +863,7 @@ void Light3DGizmoPlugin::set_handle(EditorNode3DGizmo *p_gizmo, int p_idx, Camer
|
||||
|
||||
float d = -ra.z;
|
||||
if (Node3DEditor::get_singleton()->is_snap_enabled()) {
|
||||
d = Math::stepify(d, Node3DEditor::get_singleton()->get_translate_snap());
|
||||
d = Math::snapped(d, Node3DEditor::get_singleton()->get_translate_snap());
|
||||
}
|
||||
|
||||
if (d <= 0) { // Equal is here for negative zero.
|
||||
@ -878,7 +878,7 @@ void Light3DGizmoPlugin::set_handle(EditorNode3DGizmo *p_gizmo, int p_idx, Camer
|
||||
if (cp.intersects_ray(ray_from, ray_dir, &inters)) {
|
||||
float r = inters.distance_to(gt.origin);
|
||||
if (Node3DEditor::get_singleton()->is_snap_enabled()) {
|
||||
r = Math::stepify(r, Node3DEditor::get_singleton()->get_translate_snap());
|
||||
r = Math::snapped(r, Node3DEditor::get_singleton()->get_translate_snap());
|
||||
}
|
||||
|
||||
light->set_param(Light3D::PARAM_RANGE, r);
|
||||
@ -1243,7 +1243,7 @@ void Camera3DGizmoPlugin::set_handle(EditorNode3DGizmo *p_gizmo, int p_idx, Came
|
||||
Geometry3D::get_closest_points_between_segments(Vector3(0, 0, -1), Vector3(4096, 0, -1), s[0], s[1], ra, rb);
|
||||
float d = ra.x * 2.0;
|
||||
if (Node3DEditor::get_singleton()->is_snap_enabled()) {
|
||||
d = Math::stepify(d, Node3DEditor::get_singleton()->get_translate_snap());
|
||||
d = Math::snapped(d, Node3DEditor::get_singleton()->get_translate_snap());
|
||||
}
|
||||
|
||||
d = CLAMP(d, 0.1, 16384);
|
||||
@ -2173,7 +2173,7 @@ void VisibilityNotifier3DGizmoPlugin::set_handle(EditorNode3DGizmo *p_gizmo, int
|
||||
|
||||
float d = ra[p_idx];
|
||||
if (Node3DEditor::get_singleton()->is_snap_enabled()) {
|
||||
d = Math::stepify(d, Node3DEditor::get_singleton()->get_translate_snap());
|
||||
d = Math::snapped(d, Node3DEditor::get_singleton()->get_translate_snap());
|
||||
}
|
||||
|
||||
aabb.position[p_idx] = d - 1.0 - aabb.size[p_idx] * 0.5;
|
||||
@ -2185,7 +2185,7 @@ void VisibilityNotifier3DGizmoPlugin::set_handle(EditorNode3DGizmo *p_gizmo, int
|
||||
|
||||
float d = ra[p_idx] - ofs[p_idx];
|
||||
if (Node3DEditor::get_singleton()->is_snap_enabled()) {
|
||||
d = Math::stepify(d, Node3DEditor::get_singleton()->get_translate_snap());
|
||||
d = Math::snapped(d, Node3DEditor::get_singleton()->get_translate_snap());
|
||||
}
|
||||
|
||||
if (d < 0.001) {
|
||||
@ -2364,7 +2364,7 @@ void GPUParticles3DGizmoPlugin::set_handle(EditorNode3DGizmo *p_gizmo, int p_idx
|
||||
|
||||
float d = ra[p_idx];
|
||||
if (Node3DEditor::get_singleton()->is_snap_enabled()) {
|
||||
d = Math::stepify(d, Node3DEditor::get_singleton()->get_translate_snap());
|
||||
d = Math::snapped(d, Node3DEditor::get_singleton()->get_translate_snap());
|
||||
}
|
||||
|
||||
aabb.position[p_idx] = d - 1.0 - aabb.size[p_idx] * 0.5;
|
||||
@ -2376,7 +2376,7 @@ void GPUParticles3DGizmoPlugin::set_handle(EditorNode3DGizmo *p_gizmo, int p_idx
|
||||
|
||||
float d = ra[p_idx] - ofs[p_idx];
|
||||
if (Node3DEditor::get_singleton()->is_snap_enabled()) {
|
||||
d = Math::stepify(d, Node3DEditor::get_singleton()->get_translate_snap());
|
||||
d = Math::snapped(d, Node3DEditor::get_singleton()->get_translate_snap());
|
||||
}
|
||||
|
||||
if (d < 0.001) {
|
||||
@ -2521,7 +2521,7 @@ void GPUParticlesCollision3DGizmoPlugin::set_handle(EditorNode3DGizmo *p_gizmo,
|
||||
Geometry3D::get_closest_points_between_segments(Vector3(), Vector3(4096, 0, 0), sg[0], sg[1], ra, rb);
|
||||
float d = ra.x;
|
||||
if (Node3DEditor::get_singleton()->is_snap_enabled()) {
|
||||
d = Math::stepify(d, Node3DEditor::get_singleton()->get_translate_snap());
|
||||
d = Math::snapped(d, Node3DEditor::get_singleton()->get_translate_snap());
|
||||
}
|
||||
|
||||
if (d < 0.001) {
|
||||
@ -2538,7 +2538,7 @@ void GPUParticlesCollision3DGizmoPlugin::set_handle(EditorNode3DGizmo *p_gizmo,
|
||||
Geometry3D::get_closest_points_between_segments(Vector3(), axis * 4096, sg[0], sg[1], ra, rb);
|
||||
float d = ra[p_idx];
|
||||
if (Node3DEditor::get_singleton()->is_snap_enabled()) {
|
||||
d = Math::stepify(d, Node3DEditor::get_singleton()->get_translate_snap());
|
||||
d = Math::snapped(d, Node3DEditor::get_singleton()->get_translate_snap());
|
||||
}
|
||||
|
||||
if (d < 0.001) {
|
||||
@ -2786,7 +2786,7 @@ void ReflectionProbeGizmoPlugin::set_handle(EditorNode3DGizmo *p_gizmo, int p_id
|
||||
Geometry3D::get_closest_points_between_segments(Vector3(), axis * 16384, sg[0], sg[1], ra, rb);
|
||||
float d = ra[p_idx];
|
||||
if (Node3DEditor::get_singleton()->is_snap_enabled()) {
|
||||
d = Math::stepify(d, Node3DEditor::get_singleton()->get_translate_snap());
|
||||
d = Math::snapped(d, Node3DEditor::get_singleton()->get_translate_snap());
|
||||
}
|
||||
|
||||
if (d < 0.001) {
|
||||
@ -2814,7 +2814,7 @@ void ReflectionProbeGizmoPlugin::set_handle(EditorNode3DGizmo *p_gizmo, int p_id
|
||||
// Adjust the actual position to account for the gizmo handle position
|
||||
float d = ra[p_idx] + 0.25;
|
||||
if (Node3DEditor::get_singleton()->is_snap_enabled()) {
|
||||
d = Math::stepify(d, Node3DEditor::get_singleton()->get_translate_snap());
|
||||
d = Math::snapped(d, Node3DEditor::get_singleton()->get_translate_snap());
|
||||
}
|
||||
|
||||
origin[p_idx] = d;
|
||||
@ -2964,7 +2964,7 @@ void DecalGizmoPlugin::set_handle(EditorNode3DGizmo *p_gizmo, int p_idx, Camera3
|
||||
Geometry3D::get_closest_points_between_segments(Vector3(), axis * 16384, sg[0], sg[1], ra, rb);
|
||||
float d = ra[p_idx];
|
||||
if (Node3DEditor::get_singleton()->is_snap_enabled()) {
|
||||
d = Math::stepify(d, Node3DEditor::get_singleton()->get_translate_snap());
|
||||
d = Math::snapped(d, Node3DEditor::get_singleton()->get_translate_snap());
|
||||
}
|
||||
|
||||
if (d < 0.001) {
|
||||
@ -3105,7 +3105,7 @@ void GIProbeGizmoPlugin::set_handle(EditorNode3DGizmo *p_gizmo, int p_idx, Camer
|
||||
Geometry3D::get_closest_points_between_segments(Vector3(), axis * 16384, sg[0], sg[1], ra, rb);
|
||||
float d = ra[p_idx];
|
||||
if (Node3DEditor::get_singleton()->is_snap_enabled()) {
|
||||
d = Math::stepify(d, Node3DEditor::get_singleton()->get_translate_snap());
|
||||
d = Math::snapped(d, Node3DEditor::get_singleton()->get_translate_snap());
|
||||
}
|
||||
|
||||
if (d < 0.001) {
|
||||
@ -3617,7 +3617,7 @@ void CollisionShape3DGizmoPlugin::set_handle(EditorNode3DGizmo *p_gizmo, int p_i
|
||||
Geometry3D::get_closest_points_between_segments(Vector3(), Vector3(4096, 0, 0), sg[0], sg[1], ra, rb);
|
||||
float d = ra.x;
|
||||
if (Node3DEditor::get_singleton()->is_snap_enabled()) {
|
||||
d = Math::stepify(d, Node3DEditor::get_singleton()->get_translate_snap());
|
||||
d = Math::snapped(d, Node3DEditor::get_singleton()->get_translate_snap());
|
||||
}
|
||||
|
||||
if (d < 0.001) {
|
||||
@ -3633,7 +3633,7 @@ void CollisionShape3DGizmoPlugin::set_handle(EditorNode3DGizmo *p_gizmo, int p_i
|
||||
Geometry3D::get_closest_points_between_segments(Vector3(), Vector3(0, 0, 4096), sg[0], sg[1], ra, rb);
|
||||
float d = ra.z;
|
||||
if (Node3DEditor::get_singleton()->is_snap_enabled()) {
|
||||
d = Math::stepify(d, Node3DEditor::get_singleton()->get_translate_snap());
|
||||
d = Math::snapped(d, Node3DEditor::get_singleton()->get_translate_snap());
|
||||
}
|
||||
|
||||
if (d < 0.001) {
|
||||
@ -3651,7 +3651,7 @@ void CollisionShape3DGizmoPlugin::set_handle(EditorNode3DGizmo *p_gizmo, int p_i
|
||||
Geometry3D::get_closest_points_between_segments(Vector3(), axis * 4096, sg[0], sg[1], ra, rb);
|
||||
float d = ra[p_idx];
|
||||
if (Node3DEditor::get_singleton()->is_snap_enabled()) {
|
||||
d = Math::stepify(d, Node3DEditor::get_singleton()->get_translate_snap());
|
||||
d = Math::snapped(d, Node3DEditor::get_singleton()->get_translate_snap());
|
||||
}
|
||||
|
||||
if (d < 0.001) {
|
||||
@ -3675,7 +3675,7 @@ void CollisionShape3DGizmoPlugin::set_handle(EditorNode3DGizmo *p_gizmo, int p_i
|
||||
}
|
||||
|
||||
if (Node3DEditor::get_singleton()->is_snap_enabled()) {
|
||||
d = Math::stepify(d, Node3DEditor::get_singleton()->get_translate_snap());
|
||||
d = Math::snapped(d, Node3DEditor::get_singleton()->get_translate_snap());
|
||||
}
|
||||
|
||||
if (d < 0.001) {
|
||||
@ -3697,7 +3697,7 @@ void CollisionShape3DGizmoPlugin::set_handle(EditorNode3DGizmo *p_gizmo, int p_i
|
||||
Geometry3D::get_closest_points_between_segments(Vector3(), axis * 4096, sg[0], sg[1], ra, rb);
|
||||
float d = axis.dot(ra);
|
||||
if (Node3DEditor::get_singleton()->is_snap_enabled()) {
|
||||
d = Math::stepify(d, Node3DEditor::get_singleton()->get_translate_snap());
|
||||
d = Math::snapped(d, Node3DEditor::get_singleton()->get_translate_snap());
|
||||
}
|
||||
|
||||
if (d < 0.001) {
|
||||
|
@ -106,7 +106,7 @@ void AnimationNodeBlendSpace1DEditor::_blend_space_gui_input(const Ref<InputEven
|
||||
add_point_pos += blend_space->get_min_space();
|
||||
|
||||
if (snap->is_pressed()) {
|
||||
add_point_pos = Math::stepify(add_point_pos, blend_space->get_snap());
|
||||
add_point_pos = Math::snapped(add_point_pos, blend_space->get_snap());
|
||||
}
|
||||
}
|
||||
|
||||
@ -139,7 +139,7 @@ void AnimationNodeBlendSpace1DEditor::_blend_space_gui_input(const Ref<InputEven
|
||||
point += drag_ofs.x;
|
||||
|
||||
if (snap->is_pressed()) {
|
||||
point = Math::stepify(point, blend_space->get_snap());
|
||||
point = Math::snapped(point, blend_space->get_snap());
|
||||
}
|
||||
|
||||
updating = true;
|
||||
@ -253,7 +253,7 @@ void AnimationNodeBlendSpace1DEditor::_blend_space_draw() {
|
||||
if (dragging_selected && selected_point == i) {
|
||||
point += drag_ofs.x;
|
||||
if (snap->is_pressed()) {
|
||||
point = Math::stepify(point, blend_space->get_snap());
|
||||
point = Math::snapped(point, blend_space->get_snap());
|
||||
}
|
||||
}
|
||||
|
||||
@ -454,7 +454,7 @@ void AnimationNodeBlendSpace1DEditor::_update_edited_point_pos() {
|
||||
pos += drag_ofs.x;
|
||||
|
||||
if (snap->is_pressed()) {
|
||||
pos = Math::stepify(pos, blend_space->get_snap());
|
||||
pos = Math::snapped(pos, blend_space->get_snap());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -129,8 +129,8 @@ void AnimationNodeBlendSpace2DEditor::_blend_space_gui_input(const Ref<InputEven
|
||||
add_point_pos += blend_space->get_min_space();
|
||||
|
||||
if (snap->is_pressed()) {
|
||||
add_point_pos.x = Math::stepify(add_point_pos.x, blend_space->get_snap().x);
|
||||
add_point_pos.y = Math::stepify(add_point_pos.y, blend_space->get_snap().y);
|
||||
add_point_pos.x = Math::snapped(add_point_pos.x, blend_space->get_snap().x);
|
||||
add_point_pos.y = Math::snapped(add_point_pos.y, blend_space->get_snap().y);
|
||||
}
|
||||
}
|
||||
|
||||
@ -215,8 +215,8 @@ void AnimationNodeBlendSpace2DEditor::_blend_space_gui_input(const Ref<InputEven
|
||||
Vector2 point = blend_space->get_blend_point_position(selected_point);
|
||||
point += drag_ofs;
|
||||
if (snap->is_pressed()) {
|
||||
point.x = Math::stepify(point.x, blend_space->get_snap().x);
|
||||
point.y = Math::stepify(point.y, blend_space->get_snap().y);
|
||||
point.x = Math::snapped(point.x, blend_space->get_snap().x);
|
||||
point.y = Math::snapped(point.y, blend_space->get_snap().y);
|
||||
}
|
||||
|
||||
updating = true;
|
||||
@ -467,8 +467,8 @@ void AnimationNodeBlendSpace2DEditor::_blend_space_draw() {
|
||||
if (dragging_selected && selected_point == point_idx) {
|
||||
point += drag_ofs;
|
||||
if (snap->is_pressed()) {
|
||||
point.x = Math::stepify(point.x, blend_space->get_snap().x);
|
||||
point.y = Math::stepify(point.y, blend_space->get_snap().y);
|
||||
point.x = Math::snapped(point.x, blend_space->get_snap().x);
|
||||
point.y = Math::snapped(point.y, blend_space->get_snap().y);
|
||||
}
|
||||
}
|
||||
point = (point - blend_space->get_min_space()) / (blend_space->get_max_space() - blend_space->get_min_space());
|
||||
@ -503,8 +503,8 @@ void AnimationNodeBlendSpace2DEditor::_blend_space_draw() {
|
||||
if (dragging_selected && selected_point == i) {
|
||||
point += drag_ofs;
|
||||
if (snap->is_pressed()) {
|
||||
point.x = Math::stepify(point.x, blend_space->get_snap().x);
|
||||
point.y = Math::stepify(point.y, blend_space->get_snap().y);
|
||||
point.x = Math::snapped(point.x, blend_space->get_snap().x);
|
||||
point.y = Math::snapped(point.y, blend_space->get_snap().y);
|
||||
}
|
||||
}
|
||||
point = (point - blend_space->get_min_space()) / (blend_space->get_max_space() - blend_space->get_min_space());
|
||||
@ -702,8 +702,8 @@ void AnimationNodeBlendSpace2DEditor::_update_edited_point_pos() {
|
||||
if (dragging_selected) {
|
||||
pos += drag_ofs;
|
||||
if (snap->is_pressed()) {
|
||||
pos.x = Math::stepify(pos.x, blend_space->get_snap().x);
|
||||
pos.y = Math::stepify(pos.y, blend_space->get_snap().y);
|
||||
pos.x = Math::snapped(pos.x, blend_space->get_snap().x);
|
||||
pos.y = Math::snapped(pos.y, blend_space->get_snap().y);
|
||||
}
|
||||
}
|
||||
updating = true;
|
||||
|
@ -1013,7 +1013,7 @@ void AnimationPlayerEditor::_seek_value_changed(float p_value, bool p_set) {
|
||||
|
||||
float pos = CLAMP(anim->get_length() * (p_value / frame->get_max()), 0, anim->get_length());
|
||||
if (track_editor->is_snap_enabled()) {
|
||||
pos = Math::stepify(pos, _get_editor_step());
|
||||
pos = Math::snapped(pos, _get_editor_step());
|
||||
}
|
||||
|
||||
if (player->is_valid() && !p_set) {
|
||||
@ -1069,7 +1069,7 @@ void AnimationPlayerEditor::_animation_key_editor_seek(float p_pos, bool p_drag)
|
||||
}
|
||||
|
||||
updating = true;
|
||||
frame->set_value(Math::stepify(p_pos, _get_editor_step()));
|
||||
frame->set_value(Math::snapped(p_pos, _get_editor_step()));
|
||||
updating = false;
|
||||
_seek_value_changed(p_pos, !p_drag);
|
||||
|
||||
|
@ -444,8 +444,8 @@ Point2 CanvasItemEditor::snap_point(Point2 p_target, unsigned int p_modes, unsig
|
||||
}
|
||||
}
|
||||
Point2 grid_output;
|
||||
grid_output.x = Math::stepify(p_target.x - offset.x, grid_step.x * Math::pow(2.0, grid_step_multiplier)) + offset.x;
|
||||
grid_output.y = Math::stepify(p_target.y - offset.y, grid_step.y * Math::pow(2.0, grid_step_multiplier)) + offset.y;
|
||||
grid_output.x = Math::snapped(p_target.x - offset.x, grid_step.x * Math::pow(2.0, grid_step_multiplier)) + offset.x;
|
||||
grid_output.y = Math::snapped(p_target.y - offset.y, grid_step.y * Math::pow(2.0, grid_step_multiplier)) + offset.y;
|
||||
_snap_if_closer_point(p_target, output, snap_target, grid_output, SNAP_TARGET_GRID, 0.0, -1.0);
|
||||
}
|
||||
|
||||
@ -462,9 +462,9 @@ Point2 CanvasItemEditor::snap_point(Point2 p_target, unsigned int p_modes, unsig
|
||||
float CanvasItemEditor::snap_angle(float p_target, float p_start) const {
|
||||
if (((smart_snap_active || snap_rotation) ^ Input::get_singleton()->is_key_pressed(KEY_CONTROL)) && snap_rotation_step != 0) {
|
||||
if (snap_relative) {
|
||||
return Math::stepify(p_target - snap_rotation_offset, snap_rotation_step) + snap_rotation_offset + (p_start - (int)(p_start / snap_rotation_step) * snap_rotation_step);
|
||||
return Math::snapped(p_target - snap_rotation_offset, snap_rotation_step) + snap_rotation_offset + (p_start - (int)(p_start / snap_rotation_step) * snap_rotation_step);
|
||||
} else {
|
||||
return Math::stepify(p_target - snap_rotation_offset, snap_rotation_step) + snap_rotation_offset;
|
||||
return Math::snapped(p_target - snap_rotation_offset, snap_rotation_step) + snap_rotation_offset;
|
||||
}
|
||||
} else {
|
||||
return p_target;
|
||||
@ -1931,8 +1931,8 @@ bool CanvasItemEditor::_gui_input_resize(const Ref<InputEvent> &p_event) {
|
||||
vformat(
|
||||
TTR("Scale Node2D \"%s\" to (%s, %s)"),
|
||||
drag_selection[0]->get_name(),
|
||||
Math::stepify(drag_selection[0]->_edit_get_scale().x, 0.01),
|
||||
Math::stepify(drag_selection[0]->_edit_get_scale().y, 0.01)),
|
||||
Math::snapped(drag_selection[0]->_edit_get_scale().x, 0.01),
|
||||
Math::snapped(drag_selection[0]->_edit_get_scale().y, 0.01)),
|
||||
true);
|
||||
} else {
|
||||
// Extends from Control.
|
||||
@ -2083,8 +2083,8 @@ bool CanvasItemEditor::_gui_input_scale(const Ref<InputEvent> &p_event) {
|
||||
drag_selection,
|
||||
vformat(TTR("Scale CanvasItem \"%s\" to (%s, %s)"),
|
||||
drag_selection[0]->get_name(),
|
||||
Math::stepify(drag_selection[0]->_edit_get_scale().x, 0.01),
|
||||
Math::stepify(drag_selection[0]->_edit_get_scale().y, 0.01)),
|
||||
Math::snapped(drag_selection[0]->_edit_get_scale().x, 0.01),
|
||||
Math::snapped(drag_selection[0]->_edit_get_scale().y, 0.01)),
|
||||
true);
|
||||
}
|
||||
if (key_auto_insert_button->is_pressed()) {
|
||||
@ -4576,7 +4576,7 @@ void CanvasItemEditor::_update_zoom_label() {
|
||||
// Don't show a decimal when the zoom level is higher than 1000 %.
|
||||
zoom_text = TS->format_number(rtos(Math::round((zoom / MAX(1, EDSCALE)) * 100))) + " " + TS->percent_sign();
|
||||
} else {
|
||||
zoom_text = TS->format_number(rtos(Math::stepify((zoom / MAX(1, EDSCALE)) * 100, 0.1))) + " " + TS->percent_sign();
|
||||
zoom_text = TS->format_number(rtos(Math::snapped((zoom / MAX(1, EDSCALE)) * 100, 0.1))) + " " + TS->percent_sign();
|
||||
}
|
||||
|
||||
zoom_reset->set_text(zoom_text);
|
||||
|
@ -123,7 +123,7 @@ void CSGShape3DGizmoPlugin::set_handle(EditorNode3DGizmo *p_gizmo, int p_idx, Ca
|
||||
Geometry3D::get_closest_points_between_segments(Vector3(), Vector3(4096, 0, 0), sg[0], sg[1], ra, rb);
|
||||
float d = ra.x;
|
||||
if (Node3DEditor::get_singleton()->is_snap_enabled()) {
|
||||
d = Math::stepify(d, Node3DEditor::get_singleton()->get_translate_snap());
|
||||
d = Math::snapped(d, Node3DEditor::get_singleton()->get_translate_snap());
|
||||
}
|
||||
|
||||
if (d < 0.001) {
|
||||
@ -142,7 +142,7 @@ void CSGShape3DGizmoPlugin::set_handle(EditorNode3DGizmo *p_gizmo, int p_idx, Ca
|
||||
Geometry3D::get_closest_points_between_segments(Vector3(), axis * 4096, sg[0], sg[1], ra, rb);
|
||||
float d = ra[p_idx];
|
||||
if (Node3DEditor::get_singleton()->is_snap_enabled()) {
|
||||
d = Math::stepify(d, Node3DEditor::get_singleton()->get_translate_snap());
|
||||
d = Math::snapped(d, Node3DEditor::get_singleton()->get_translate_snap());
|
||||
}
|
||||
|
||||
if (d < 0.001) {
|
||||
@ -171,7 +171,7 @@ void CSGShape3DGizmoPlugin::set_handle(EditorNode3DGizmo *p_gizmo, int p_idx, Ca
|
||||
Geometry3D::get_closest_points_between_segments(Vector3(), axis * 4096, sg[0], sg[1], ra, rb);
|
||||
float d = axis.dot(ra);
|
||||
if (Node3DEditor::get_singleton()->is_snap_enabled()) {
|
||||
d = Math::stepify(d, Node3DEditor::get_singleton()->get_translate_snap());
|
||||
d = Math::snapped(d, Node3DEditor::get_singleton()->get_translate_snap());
|
||||
}
|
||||
|
||||
if (d < 0.001) {
|
||||
@ -194,7 +194,7 @@ void CSGShape3DGizmoPlugin::set_handle(EditorNode3DGizmo *p_gizmo, int p_idx, Ca
|
||||
Geometry3D::get_closest_points_between_segments(Vector3(), axis * 4096, sg[0], sg[1], ra, rb);
|
||||
float d = axis.dot(ra);
|
||||
if (Node3DEditor::get_singleton()->is_snap_enabled()) {
|
||||
d = Math::stepify(d, Node3DEditor::get_singleton()->get_translate_snap());
|
||||
d = Math::snapped(d, Node3DEditor::get_singleton()->get_translate_snap());
|
||||
}
|
||||
|
||||
if (d < 0.001) {
|
||||
|
@ -168,7 +168,7 @@
|
||||
a = ceil(1.45) # a is 2.0
|
||||
a = ceil(1.001) # a is 2.0
|
||||
[/codeblock]
|
||||
See also [method floor], [method round], [method stepify], and [int].
|
||||
See also [method floor], [method round], [method snapped], and [int].
|
||||
</description>
|
||||
</method>
|
||||
<method name="char">
|
||||
@ -331,7 +331,7 @@
|
||||
a = floor(2.99) # a is 2.0
|
||||
a = floor(-2.99) # a is -3.0
|
||||
[/codeblock]
|
||||
See also [method ceil], [method round], [method stepify], and [int].
|
||||
See also [method ceil], [method round], [method snapped], and [int].
|
||||
[b]Note:[/b] This method returns a float. If you need an integer and [code]s[/code] is a non-negative number, you can use [code]int(s)[/code] directly.
|
||||
</description>
|
||||
</method>
|
||||
@ -1015,7 +1015,7 @@
|
||||
a = round(2.5) # a is 3.0
|
||||
a = round(2.51) # a is 3.0
|
||||
[/codeblock]
|
||||
See also [method floor], [method ceil], [method stepify], and [int].
|
||||
See also [method floor], [method ceil], [method snapped], and [int].
|
||||
</description>
|
||||
</method>
|
||||
<method name="seed">
|
||||
@ -1118,7 +1118,7 @@
|
||||
[/codeblock]
|
||||
</description>
|
||||
</method>
|
||||
<method name="stepify">
|
||||
<method name="snapped">
|
||||
<return type="float">
|
||||
</return>
|
||||
<argument index="0" name="s" type="float">
|
||||
@ -1128,8 +1128,8 @@
|
||||
<description>
|
||||
Snaps float value [code]s[/code] to a given [code]step[/code]. This can also be used to round a floating point number to an arbitrary number of decimals.
|
||||
[codeblock]
|
||||
stepify(100, 32) # Returns 96.0
|
||||
stepify(3.14159, 0.01) # Returns 3.14
|
||||
snapped(100, 32) # Returns 96.0
|
||||
snapped(3.14159, 0.01) # Returns 3.14
|
||||
[/codeblock]
|
||||
See also [method ceil], [method floor], [method round], and [int].
|
||||
</description>
|
||||
|
@ -178,7 +178,7 @@ Error GLTFDocument::serialize(Ref<GLTFState> state, Node *p_root, const String &
|
||||
}
|
||||
uint64_t elapsed = OS::get_singleton()->get_ticks_usec() - begin_time;
|
||||
float elapsed_sec = double(elapsed) / 1000000.0;
|
||||
elapsed_sec = Math::stepify(elapsed_sec, 0.01f);
|
||||
elapsed_sec = Math::snapped(elapsed_sec, 0.01f);
|
||||
print_line("glTF: Export time elapsed seconds " + rtos(elapsed_sec).pad_decimals(2));
|
||||
|
||||
return OK;
|
||||
@ -1460,7 +1460,7 @@ GLTFAccessorIndex GLTFDocument::_encode_accessor_as_ints(Ref<GLTFState> state, c
|
||||
Vector<double> type_min;
|
||||
type_min.resize(element_count);
|
||||
for (int i = 0; i < p_attribs.size(); i++) {
|
||||
attribs.write[i] = Math::stepify(p_attribs[i], 1.0);
|
||||
attribs.write[i] = Math::snapped(p_attribs[i], 1.0);
|
||||
if (i == 0) {
|
||||
for (int32_t type_i = 0; type_i < element_count; type_i++) {
|
||||
type_max.write[type_i] = attribs[(i * element_count) + type_i];
|
||||
@ -1552,8 +1552,8 @@ GLTFAccessorIndex GLTFDocument::_encode_accessor_as_vec2(Ref<GLTFState> state, c
|
||||
|
||||
for (int i = 0; i < p_attribs.size(); i++) {
|
||||
Vector2 attrib = p_attribs[i];
|
||||
attribs.write[(i * element_count) + 0] = Math::stepify(attrib.x, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[(i * element_count) + 1] = Math::stepify(attrib.y, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[(i * element_count) + 0] = Math::snapped(attrib.x, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[(i * element_count) + 1] = Math::snapped(attrib.y, CMP_NORMALIZE_TOLERANCE);
|
||||
_calc_accessor_min_max(i, element_count, type_max, attribs, type_min);
|
||||
}
|
||||
|
||||
@ -1598,10 +1598,10 @@ GLTFAccessorIndex GLTFDocument::_encode_accessor_as_color(Ref<GLTFState> state,
|
||||
type_min.resize(element_count);
|
||||
for (int i = 0; i < p_attribs.size(); i++) {
|
||||
Color attrib = p_attribs[i];
|
||||
attribs.write[(i * element_count) + 0] = Math::stepify(attrib.r, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[(i * element_count) + 1] = Math::stepify(attrib.g, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[(i * element_count) + 2] = Math::stepify(attrib.b, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[(i * element_count) + 3] = Math::stepify(attrib.a, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[(i * element_count) + 0] = Math::snapped(attrib.r, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[(i * element_count) + 1] = Math::snapped(attrib.g, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[(i * element_count) + 2] = Math::snapped(attrib.b, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[(i * element_count) + 3] = Math::snapped(attrib.a, CMP_NORMALIZE_TOLERANCE);
|
||||
|
||||
_calc_accessor_min_max(i, element_count, type_max, attribs, type_min);
|
||||
}
|
||||
@ -1663,10 +1663,10 @@ GLTFAccessorIndex GLTFDocument::_encode_accessor_as_weights(Ref<GLTFState> state
|
||||
type_min.resize(element_count);
|
||||
for (int i = 0; i < p_attribs.size(); i++) {
|
||||
Color attrib = p_attribs[i];
|
||||
attribs.write[(i * element_count) + 0] = Math::stepify(attrib.r, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[(i * element_count) + 1] = Math::stepify(attrib.g, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[(i * element_count) + 2] = Math::stepify(attrib.b, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[(i * element_count) + 3] = Math::stepify(attrib.a, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[(i * element_count) + 0] = Math::snapped(attrib.r, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[(i * element_count) + 1] = Math::snapped(attrib.g, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[(i * element_count) + 2] = Math::snapped(attrib.b, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[(i * element_count) + 3] = Math::snapped(attrib.a, CMP_NORMALIZE_TOLERANCE);
|
||||
|
||||
_calc_accessor_min_max(i, element_count, type_max, attribs, type_min);
|
||||
}
|
||||
@ -1712,10 +1712,10 @@ GLTFAccessorIndex GLTFDocument::_encode_accessor_as_joints(Ref<GLTFState> state,
|
||||
type_min.resize(element_count);
|
||||
for (int i = 0; i < p_attribs.size(); i++) {
|
||||
Color attrib = p_attribs[i];
|
||||
attribs.write[(i * element_count) + 0] = Math::stepify(attrib.r, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[(i * element_count) + 1] = Math::stepify(attrib.g, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[(i * element_count) + 2] = Math::stepify(attrib.b, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[(i * element_count) + 3] = Math::stepify(attrib.a, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[(i * element_count) + 0] = Math::snapped(attrib.r, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[(i * element_count) + 1] = Math::snapped(attrib.g, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[(i * element_count) + 2] = Math::snapped(attrib.b, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[(i * element_count) + 3] = Math::snapped(attrib.a, CMP_NORMALIZE_TOLERANCE);
|
||||
_calc_accessor_min_max(i, element_count, type_max, attribs, type_min);
|
||||
}
|
||||
ERR_FAIL_COND_V(attribs.size() % element_count != 0, -1);
|
||||
@ -1759,10 +1759,10 @@ GLTFAccessorIndex GLTFDocument::_encode_accessor_as_quats(Ref<GLTFState> state,
|
||||
type_min.resize(element_count);
|
||||
for (int i = 0; i < p_attribs.size(); i++) {
|
||||
Quat quat = p_attribs[i];
|
||||
attribs.write[(i * element_count) + 0] = Math::stepify(quat.x, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[(i * element_count) + 1] = Math::stepify(quat.y, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[(i * element_count) + 2] = Math::stepify(quat.z, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[(i * element_count) + 3] = Math::stepify(quat.w, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[(i * element_count) + 0] = Math::snapped(quat.x, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[(i * element_count) + 1] = Math::snapped(quat.y, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[(i * element_count) + 2] = Math::snapped(quat.z, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[(i * element_count) + 3] = Math::snapped(quat.w, CMP_NORMALIZE_TOLERANCE);
|
||||
|
||||
_calc_accessor_min_max(i, element_count, type_max, attribs, type_min);
|
||||
}
|
||||
@ -1826,7 +1826,7 @@ GLTFAccessorIndex GLTFDocument::_encode_accessor_as_floats(Ref<GLTFState> state,
|
||||
type_min.resize(element_count);
|
||||
|
||||
for (int i = 0; i < p_attribs.size(); i++) {
|
||||
attribs.write[i] = Math::stepify(p_attribs[i], CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[i] = Math::snapped(p_attribs[i], CMP_NORMALIZE_TOLERANCE);
|
||||
|
||||
_calc_accessor_min_max(i, element_count, type_max, attribs, type_min);
|
||||
}
|
||||
@ -1871,9 +1871,9 @@ GLTFAccessorIndex GLTFDocument::_encode_accessor_as_vec3(Ref<GLTFState> state, c
|
||||
type_min.resize(element_count);
|
||||
for (int i = 0; i < p_attribs.size(); i++) {
|
||||
Vector3 attrib = p_attribs[i];
|
||||
attribs.write[(i * element_count) + 0] = Math::stepify(attrib.x, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[(i * element_count) + 1] = Math::stepify(attrib.y, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[(i * element_count) + 2] = Math::stepify(attrib.z, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[(i * element_count) + 0] = Math::snapped(attrib.x, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[(i * element_count) + 1] = Math::snapped(attrib.y, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[(i * element_count) + 2] = Math::snapped(attrib.z, CMP_NORMALIZE_TOLERANCE);
|
||||
|
||||
_calc_accessor_min_max(i, element_count, type_max, attribs, type_min);
|
||||
}
|
||||
@ -1920,27 +1920,27 @@ GLTFAccessorIndex GLTFDocument::_encode_accessor_as_xform(Ref<GLTFState> state,
|
||||
Basis basis = attrib.get_basis();
|
||||
Vector3 axis_0 = basis.get_axis(Vector3::AXIS_X);
|
||||
|
||||
attribs.write[i * element_count + 0] = Math::stepify(axis_0.x, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[i * element_count + 1] = Math::stepify(axis_0.y, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[i * element_count + 2] = Math::stepify(axis_0.z, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[i * element_count + 0] = Math::snapped(axis_0.x, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[i * element_count + 1] = Math::snapped(axis_0.y, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[i * element_count + 2] = Math::snapped(axis_0.z, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[i * element_count + 3] = 0.0;
|
||||
|
||||
Vector3 axis_1 = basis.get_axis(Vector3::AXIS_Y);
|
||||
attribs.write[i * element_count + 4] = Math::stepify(axis_1.x, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[i * element_count + 5] = Math::stepify(axis_1.y, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[i * element_count + 6] = Math::stepify(axis_1.z, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[i * element_count + 4] = Math::snapped(axis_1.x, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[i * element_count + 5] = Math::snapped(axis_1.y, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[i * element_count + 6] = Math::snapped(axis_1.z, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[i * element_count + 7] = 0.0;
|
||||
|
||||
Vector3 axis_2 = basis.get_axis(Vector3::AXIS_Z);
|
||||
attribs.write[i * element_count + 8] = Math::stepify(axis_2.x, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[i * element_count + 9] = Math::stepify(axis_2.y, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[i * element_count + 10] = Math::stepify(axis_2.z, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[i * element_count + 8] = Math::snapped(axis_2.x, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[i * element_count + 9] = Math::snapped(axis_2.y, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[i * element_count + 10] = Math::snapped(axis_2.z, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[i * element_count + 11] = 0.0;
|
||||
|
||||
Vector3 origin = attrib.get_origin();
|
||||
attribs.write[i * element_count + 12] = Math::stepify(origin.x, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[i * element_count + 13] = Math::stepify(origin.y, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[i * element_count + 14] = Math::stepify(origin.z, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[i * element_count + 12] = Math::snapped(origin.x, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[i * element_count + 13] = Math::snapped(origin.y, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[i * element_count + 14] = Math::snapped(origin.z, CMP_NORMALIZE_TOLERANCE);
|
||||
attribs.write[i * element_count + 15] = 1.0;
|
||||
|
||||
_calc_accessor_min_max(i, element_count, type_max, attribs, type_min);
|
||||
|
@ -618,10 +618,10 @@ namespace Godot
|
||||
/// This can also be used to round a floating point
|
||||
/// number to an arbitrary number of decimals.
|
||||
/// </summary>
|
||||
/// <param name="s">The value to stepify.</param>
|
||||
/// <param name="s">The value to snap.</param>
|
||||
/// <param name="step">The step size to snap to.</param>
|
||||
/// <returns></returns>
|
||||
public static real_t Stepify(real_t s, real_t step)
|
||||
public static real_t Snapped(real_t s, real_t step)
|
||||
{
|
||||
if (step != 0f)
|
||||
{
|
||||
|
@ -511,7 +511,7 @@ namespace Godot
|
||||
/// <returns>The snapped vector.</returns>
|
||||
public Vector2 Snapped(Vector2 step)
|
||||
{
|
||||
return new Vector2(Mathf.Stepify(x, step.x), Mathf.Stepify(y, step.y));
|
||||
return new Vector2(Mathf.Snapped(x, step.x), Mathf.Snapped(y, step.y));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -513,9 +513,9 @@ namespace Godot
|
||||
{
|
||||
return new Vector3
|
||||
(
|
||||
Mathf.Stepify(x, step.x),
|
||||
Mathf.Stepify(y, step.y),
|
||||
Mathf.Stepify(z, step.z)
|
||||
Mathf.Snapped(x, step.x),
|
||||
Mathf.Snapped(y, step.y),
|
||||
Mathf.Snapped(z, step.z)
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -63,7 +63,7 @@ const char *VisualScriptBuiltinFunc::func_name[VisualScriptBuiltinFunc::FUNC_MAX
|
||||
"is_inf",
|
||||
"ease",
|
||||
"step_decimals",
|
||||
"stepify",
|
||||
"snapped",
|
||||
"lerp",
|
||||
"inverse_lerp",
|
||||
"range_lerp",
|
||||
@ -192,7 +192,7 @@ int VisualScriptBuiltinFunc::get_func_argument_count(BuiltinFunc p_func) {
|
||||
case MATH_POSMOD:
|
||||
case MATH_POW:
|
||||
case MATH_EASE:
|
||||
case MATH_STEPIFY:
|
||||
case MATH_SNAPPED:
|
||||
case MATH_RANDF_RANGE:
|
||||
case MATH_RANDI_RANGE:
|
||||
case MATH_POLAR2CARTESIAN:
|
||||
@ -309,7 +309,7 @@ PropertyInfo VisualScriptBuiltinFunc::get_input_value_port_info(int p_idx) const
|
||||
case MATH_STEP_DECIMALS: {
|
||||
return PropertyInfo(Variant::FLOAT, "step");
|
||||
} break;
|
||||
case MATH_STEPIFY: {
|
||||
case MATH_SNAPPED: {
|
||||
if (p_idx == 0) {
|
||||
return PropertyInfo(Variant::FLOAT, "s");
|
||||
} else {
|
||||
@ -537,7 +537,7 @@ PropertyInfo VisualScriptBuiltinFunc::get_output_value_port_info(int p_idx) cons
|
||||
case MATH_STEP_DECIMALS: {
|
||||
t = Variant::INT;
|
||||
} break;
|
||||
case MATH_STEPIFY:
|
||||
case MATH_SNAPPED:
|
||||
case MATH_LERP:
|
||||
case MATH_LERP_ANGLE:
|
||||
case MATH_INVERSE_LERP:
|
||||
@ -805,10 +805,10 @@ void VisualScriptBuiltinFunc::exec_func(BuiltinFunc p_func, const Variant **p_in
|
||||
VALIDATE_ARG_NUM(0);
|
||||
*r_return = Math::step_decimals((double)*p_inputs[0]);
|
||||
} break;
|
||||
case VisualScriptBuiltinFunc::MATH_STEPIFY: {
|
||||
case VisualScriptBuiltinFunc::MATH_SNAPPED: {
|
||||
VALIDATE_ARG_NUM(0);
|
||||
VALIDATE_ARG_NUM(1);
|
||||
*r_return = Math::stepify((double)*p_inputs[0], (double)*p_inputs[1]);
|
||||
*r_return = Math::snapped((double)*p_inputs[0], (double)*p_inputs[1]);
|
||||
} break;
|
||||
case VisualScriptBuiltinFunc::MATH_LERP: {
|
||||
VALIDATE_ARG_NUM(0);
|
||||
@ -1254,7 +1254,7 @@ void VisualScriptBuiltinFunc::_bind_methods() {
|
||||
BIND_ENUM_CONSTANT(MATH_ISINF);
|
||||
BIND_ENUM_CONSTANT(MATH_EASE);
|
||||
BIND_ENUM_CONSTANT(MATH_STEP_DECIMALS);
|
||||
BIND_ENUM_CONSTANT(MATH_STEPIFY);
|
||||
BIND_ENUM_CONSTANT(MATH_SNAPPED);
|
||||
BIND_ENUM_CONSTANT(MATH_LERP);
|
||||
BIND_ENUM_CONSTANT(MATH_INVERSE_LERP);
|
||||
BIND_ENUM_CONSTANT(MATH_RANGE_LERP);
|
||||
@ -1344,7 +1344,7 @@ void register_visual_script_builtin_func_node() {
|
||||
|
||||
VisualScriptLanguage::singleton->add_register_func("functions/built_in/ease", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_EASE>);
|
||||
VisualScriptLanguage::singleton->add_register_func("functions/built_in/step_decimals", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_STEP_DECIMALS>);
|
||||
VisualScriptLanguage::singleton->add_register_func("functions/built_in/stepify", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_STEPIFY>);
|
||||
VisualScriptLanguage::singleton->add_register_func("functions/built_in/snapped", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_SNAPPED>);
|
||||
VisualScriptLanguage::singleton->add_register_func("functions/built_in/lerp", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_LERP>);
|
||||
VisualScriptLanguage::singleton->add_register_func("functions/built_in/lerp_angle", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_LERP_ANGLE>);
|
||||
VisualScriptLanguage::singleton->add_register_func("functions/built_in/inverse_lerp", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_INVERSE_LERP>);
|
||||
|
@ -63,7 +63,7 @@ public:
|
||||
MATH_ISINF,
|
||||
MATH_EASE,
|
||||
MATH_STEP_DECIMALS,
|
||||
MATH_STEPIFY,
|
||||
MATH_SNAPPED,
|
||||
MATH_LERP,
|
||||
MATH_INVERSE_LERP,
|
||||
MATH_RANGE_LERP,
|
||||
|
@ -237,7 +237,7 @@ void GradientEdit::_gui_input(const Ref<InputEvent> &p_event) {
|
||||
// Snap to "round" coordinates if holding Ctrl.
|
||||
// Be more precise if holding Shift as well
|
||||
if (mm->get_control()) {
|
||||
newofs = Math::stepify(newofs, mm->get_shift() ? 0.025 : 0.1);
|
||||
newofs = Math::snapped(newofs, mm->get_shift() ? 0.025 : 0.1);
|
||||
} else if (mm->get_shift()) {
|
||||
// Snap to nearest point if holding just Shift
|
||||
const float snap_threshold = 0.03;
|
||||
|
@ -320,7 +320,7 @@ int TreeItem::get_icon_max_width(int p_column) const {
|
||||
void TreeItem::set_range(int p_column, double p_value) {
|
||||
ERR_FAIL_INDEX(p_column, cells.size());
|
||||
if (cells[p_column].step > 0) {
|
||||
p_value = Math::stepify(p_value, cells[p_column].step);
|
||||
p_value = Math::snapped(p_value, cells[p_column].step);
|
||||
}
|
||||
if (p_value < cells[p_column].min) {
|
||||
p_value = cells[p_column].min;
|
||||
@ -2191,7 +2191,7 @@ void Tree::_text_editor_enter(String p_text) {
|
||||
case TreeItem::CELL_MODE_RANGE: {
|
||||
c.val = p_text.to_float();
|
||||
if (c.step > 0) {
|
||||
c.val = Math::stepify(c.val, c.step);
|
||||
c.val = Math::snapped(c.val, c.step);
|
||||
}
|
||||
if (c.val < c.min) {
|
||||
c.val = c.min;
|
||||
|
@ -1674,10 +1674,10 @@ void RendererSceneCull::_light_instance_setup_directional_shadow(int p_shadow_in
|
||||
|
||||
real_t unit = radius * 2.0 / texture_size;
|
||||
|
||||
x_max_cam = Math::stepify(x_max_cam, unit);
|
||||
x_min_cam = Math::stepify(x_min_cam, unit);
|
||||
y_max_cam = Math::stepify(y_max_cam, unit);
|
||||
y_min_cam = Math::stepify(y_min_cam, unit);
|
||||
x_max_cam = Math::snapped(x_max_cam, unit);
|
||||
x_min_cam = Math::snapped(x_min_cam, unit);
|
||||
y_max_cam = Math::snapped(y_max_cam, unit);
|
||||
y_min_cam = Math::snapped(y_min_cam, unit);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -173,11 +173,11 @@ TEST_CASE("[Expression] Built-in functions") {
|
||||
"`sqrt(pow(3, 2) + pow(4, 2))` should return the expected result.");
|
||||
|
||||
CHECK_MESSAGE(
|
||||
expression.parse("stepify(sin(0.5), 0.01)") == OK,
|
||||
expression.parse("snapped(sin(0.5), 0.01)") == OK,
|
||||
"The expression should parse successfully.");
|
||||
CHECK_MESSAGE(
|
||||
Math::is_equal_approx(float(expression.execute()), 0.48),
|
||||
"`stepify(sin(0.5), 0.01)` should return the expected result.");
|
||||
"`snapped(sin(0.5), 0.01)` should return the expected result.");
|
||||
|
||||
CHECK_MESSAGE(
|
||||
expression.parse("pow(2.0, -2500)") == OK,
|
||||
|
Loading…
Reference in New Issue
Block a user