Spartan322
9023767920
Merge commit godotengine/godot@1bbfe637c6
2025-06-10 22:00:50 -04:00
Zi Ye
b957cf73ef
Optimized and exposed Basis::scaled_local.
2025-06-05 13:06:46 -05:00
Spartan322
8122592328
Merge commit godotengine/godot@80a3d205f1
2025-05-01 01:30:09 -04:00
Spartan322
2b59059dde
Merge commit godotengine/godot@2d3bdcac35
2025-04-19 16:05:28 -04:00
Thaddeus Crews
ad40939b6f
Core: Replace C math headers with C++ equivalents
...
- Minor restructuring to ensure `math_funcs.h` is the central point for math functions
2025-04-16 15:49:02 -05:00
Marc Gilleron
5e6df6a196
Use Math::abs to avoid ambiguity with integer abs
2025-04-16 20:41:36 +02:00
Thaddeus Crews
94282d88f9
Core: Use Math namespace for constants
2025-04-10 16:29:30 -05:00
Thaddeus Crews
ea62170dac
Core: Add constexpr constructors/operators to math structs
...
• Begin integrating `constexpr` on math tests; use `static_assert` where appropriate
2025-03-17 12:15:31 -05:00
Spartan322
35e289fa5e
Merge commit godotengine/godot@0b6a717ac1
2025-02-04 11:38:32 -05:00
A Thousand Ships
e825085978
[Core] Add is_same to types that have float components
...
Compares `NaN` as equal.
Added to:
* `AABB`
* `Basis`
* `Color`
* `Plane`
* `Projection`
* `Quaternion`
* `Rect2`
* `Transform2D`
* `Transform3D`
* `Vector2`
* `Vector3`
* `Vector4`
And added as a method in `Math`
2025-02-03 19:25:50 +01:00
Adam
d56cbd374b
Fix Basis::get_euler incorrectly simplifying rotations in some cases.
2025-01-29 16:13:29 -06:00
Spartan322
4ffc9ac18b
Merge commit godotengine/godot@bdf625bd54
2025-01-04 00:55:26 -05:00
Silc Lizard (Tokage) Renew
d0c421976c
Fix looking at with 180 degree arc
...
Co-authored-by: Fruitsalad <949631+fruitsalad@users.noreply.github.com >
2025-01-02 15:47:01 +09:00
Spartan322
6beb1eef9a
Fix copyright headers referring to Godot
2024-10-27 11:17:29 -04:00
Dubhghlas McLaughlin
e8542b06ac
Rebrand preambles to Redot
...
Credits:
Co-authored-by: Skogi <skogi.b@gmail.com >
Co-authored-by: Spartan322 <Megacake1234@gmail.com >
Co-authored-by: swashberry <swashdev@pm.me >
Co-authored-by: Christoffer Sundbom <christoffer_karlsson@live.se >
Co-authored-by: Dubhghlas McLaughlin <103212704+mcdubhghlas@users.noreply.github.com >
Co-authored-by: McDubh <103212704+mcdubhghlas@users.noreply.github.com >
Co-authored-by: Dubhghlas McLaughlin <103212704+mcdubhghlas@users.noreply.github.com >
Co-authored-by: radenthefolf <radenthefolf@gmail.com >
Co-authored-by: John Knight <80524176+Tekisasu-JohnK@users.noreply.github.com >
Co-authored-by: Adam Vondersaar <adam.vondersaar@uphold.com >
Co-authored-by: decryptedchaos <nixgod@gmail.com >
Co-authored-by: zaftnotameni <122100803+zaftnotameni@users.noreply.github.com >
Co-authored-by: Aaron Benjamin <lifeartstudios@gmail.com >
Co-authored-by: wesam <108880473+wesamdev@users.noreply.github.com >
Co-authored-by: Mister Puma <MisterPuma80@gmail.com >
Co-authored-by: Aaron Benjamin <lifeartstudios@gmail.com >
Co-authored-by: SingleError <isaaconeoneone@gmail.com >
Co-authored-by: Bioblaze Payne <BioblazePayne@gmail.com >
2024-10-11 02:26:51 -04:00
Aaron Franke
e83807ef85
Fix incorrect name of Basis global scale getter
2024-04-16 04:26:52 -07:00
Aaron Franke
158fcf107c
Fix some uses of float and real_t in core/math
2024-03-29 16:44:12 -07:00
A Thousand Ships
a497a5cb3e
[Core] Codestyle improvements to math types
2024-03-04 18:17:10 +01:00
Robert Yevdokimov
13e82094ee
Remove word duplicates in comments and strings, and fix casing and punctuation
2024-02-23 17:28:28 -05:00
Hugo Locurcio
0437db0106
Display values in vector/quaternion math function errors
...
This can help track down the source of the error more easily.
2024-01-28 18:45:46 +01:00
Aaron Franke
7ee273723d
Fix Basis is_orthogonal and is_rotation methods, add is_orthonormal
2023-12-06 13:12:05 -06:00
Aaron Franke
56806ffeed
Add is_conformal method to Basis and Transform2D
2023-09-13 17:20:30 -05:00
Lyuma
9aa46bf3f5
Fix for SkeletonIK3D interpolation and bone roll
...
Fix bug in internal Basis::rotate_to_align function (also used with identity Basis in scene/resources/curve.cpp)
Use ChainItem children rather than local bone rest to determine IK bone roll to match Godot 3.x behavior
2023-06-05 20:44:45 -07:00
Juan Linietsky
5fdc1232ef
Add the ability to look-at in model-space.
...
This is a much simpler attempt to solve the same problem as #76060 , but without breaking any compatibility.
* Adds a description of what model space is in the Vector3 enums (MODEL_* constants). This has the proper axes laid out for imported 3D assets.
* Adds the option to `look_at` using model_space, which uses Vector3.MODEL_FRONT as forward vector.
The attempt of this PR is to still break the assumption that there is a single direction of forward (which is not the case in Godot)
and make it easier to understand where 3D models are facing, as well as orienting them via look_at.
2023-05-24 10:10:24 +09:00
lawnjelly
50c5ed4876
Make acos and asin safe
...
A common bug with using acos and asin is that input outside -1 to 1 range will result in Nan output. This can occur due to floating point error in the input.
The standard solution is to provide safe_acos function with clamped input. For Godot it may make more sense to make the standard functions safe.
2023-05-11 08:34:34 +01:00
Silc Renew
1459b9c24c
Fix scaled_orthogonal() & subgizmo global scaling
2023-02-04 00:46:04 +09:00
kobewi
c0083e431b
Cleanup unused engine code v2
2023-01-19 13:02:18 +01:00
Rémi Verschelde
d95794ec8a
One Copyright Update to rule them all
...
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.
It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).
We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).
Also fixed "cf." Frenchism - it's meant as "refer to / see".
2023-01-05 13:25:55 +01:00
Andy Maloney
cb6cffbfd9
Static analysis: remove "break" after "return"
...
Changes as requested to keep in sync with godotengine/godot-cpp#929
2022-11-18 17:57:33 -05:00
Rémi Verschelde
08d56ac2f1
Merge pull request #66747 from aaronfranke/move-euler-order
...
Move EulerOrder enum to math_defs.h and global scope
2022-11-02 22:37:12 +01:00
Aaron Franke
8556fdd4bc
Move EulerOrder enum to math_defs.h and global scope
2022-11-02 13:44:13 -05:00
Rémi Verschelde
f7c611ab71
Style: Misc docs and comment style and language fixes
...
- Removed empty paragraphs in XML.
- Consistently use bold style for "Example:", on a new line.
- Fix usage of `[code]` when hyperlinks could be used (`[member]`, `[constant]`).
- Fix invalid usage of backticks for inline code in BBCode.
- Fix some American/British English spelling inconsistencies.
- Other minor fixes spotted along the way, including typo fixes with codespell.
- Don't specify `@GlobalScope` for `enum` and `constant`.
2022-11-02 19:01:18 +01:00
Haoyu Qiu
5da515773d
Add is_finite method for checking built-in types
2022-10-08 13:25:08 +08:00
Aaron Franke
43722dbcbc
Use float literals for float calculations in Color
2022-10-07 11:28:47 -05:00
Aaron Franke
97d232c11d
Enhancements to includes in core data structures
2022-10-05 23:11:02 -05:00
fabriceci
9f1a57d48b
Test, refactor and fix a bug in Basis.get_axis_angle
2022-09-14 12:05:22 +02:00
Jonathan Nicholl
15d057c521
Add is_zero_approx methods to Vector2, 3, and 4
2022-09-02 00:29:50 -04:00
rafallus
da7a5653f4
Expose Basis set_orthogonal_index method as a GridMap function
2022-08-20 21:42:20 -05:00
fabriceci
db7c91e0ad
Fix the calculation of the angular velocity when the rotation speed is not high.
2022-07-19 10:27:13 +02:00
reduz
7acf697479
Fix VECTOR/LOCAL transitions in Node3D
...
Fixes #62225 , supersedes #62227
2022-06-27 13:45:35 +02:00
Rémi Verschelde
e7a58a7eb6
Core: Rename math 'phi' arguments to 'angle'
2022-05-05 14:17:39 +02:00
Aaron Franke
fa7a7795f0
Rename Basis get_axis to get_column, remove redundant methods
2022-05-03 09:37:47 -05:00
Aaron Franke
1bf94dff3a
Rename Basis "elements" to "rows"
2022-04-29 08:02:56 -05:00
bruvzg
f851c4aa33
Fix some issues found by cppcheck.
2022-04-06 14:34:37 +03:00
lawnjelly
1485924a2b
Float literals - fix main primitives to use real_t casting
...
Uses (real_t) casting to ensure appropriate calculations are done in 32 bit where real_t is compiled as 32 bit.
2022-02-24 08:15:10 +00:00
lawnjelly
5298e16e80
Float literals - fix main primitives to use .f
...
Converts float literals from double format (e.g. 0.0) to float format (e.g. 0.0f) where appropriate for 32 bit calculations.
2022-02-10 18:43:19 +00:00
Rémi Verschelde
6af77c7b09
Merge pull request #53684 from TokageItLab/orthogonal-mode
2022-01-05 16:05:40 +01:00
Rémi Verschelde
fe52458154
Update copyright statements to 2022
...
Happy new year to the wonderful Godot community!
2022-01-03 21:27:34 +01:00
Silc 'Tokage' Renew
61759da5b3
Fix some gizmo behavior to make more consistent
2021-12-25 03:24:04 +09:00
Hugo Locurcio
8fb7e622a6
Rename built-in SGN() macro to SIGN()
...
This matches the name of the GDScript function (except it's uppercase
here).
2021-11-16 20:40:49 +01:00