Commit Graph

111 Commits

Author SHA1 Message Date
063637ec77 Rename float=64 SCons option to precision=double
This avoids confusion with the old `bits=64` option and building
for 64-bit CPUs in general.
2022-12-10 16:43:45 +01:00
91e9ad92f5 Refactor baking code for Curve2D
The main change is to caculate tangent directly from bezier curve, without going
through discretized polyline, avoiding pitfalls of discretization. A similar refacor
had been applied to Curve3D.

The test cases for Curve2D is updated, comparing floating point with is_equal_approxmiate()
instead of `==`, in order to avoid float precision problem.
2022-12-05 21:22:05 +08:00
4a8b725bc9 Merge pull request #68386 from MewPurPur/snappedi-snappedf
Implement snappedi, snappedf, and Vector[2/3/4]i.snapped
2022-11-24 18:54:49 +01:00
f9fa182abc Refactor Curve3D::_bake() method
The main change is to caculate tangent directly from bezier curve, without going
through discretized polyline, avoiding pitfalls of discretization.

Other changes are:
1. Add an bezier_derivative() method for Vector3, Vector2, and Math;
2. Add an tesselate_even_length() method to Curve3D, which tesselate bezier curve to even length segments adaptively;
3. Cache the tangent vectors in baked_tangent_vector_cache;
2022-11-24 10:52:06 +08:00
e26f0906f2 Implement snappedi, snappedf, and Vector[2/3/4]i.snapped 2022-11-19 06:18:55 +01:00
edfb504efe Document that Vector classes are 32-bit 2022-11-12 15:51:11 -05:00
5da515773d Add is_finite method for checking built-in types 2022-10-08 13:25:08 +08:00
15d057c521 Add is_zero_approx methods to Vector2, 3, and 4 2022-09-02 00:29:50 -04:00
59e11934d8 Rename str2var to str_to_var and similar
Affects the Math class, a good chunk of the audio code, and a lot of other miscellaneous classes, too.

- `var2str` -> `var_to_str`
- `str2var` -> `str_to_var`
- `bytes2var` -> `bytes_to_var`
- `bytes2var_with_objects` -> `bytes_to_var_with_objects`
- `var2bytes` -> `var_to_bytes`
- `var2bytes_with_objects` -> `var_to_bytes_with_objects`
- `linear2db` -> `linear_to_db`
- `db2linear` -> `db_to_linear`
- `deg2rad` -> `deg_to_rad`
- `rad2deg` -> `rad_to_deg`

- `dict2inst` -> `dict_to_inst`
- `inst2dict` -> `inst_to_dict`
2022-08-26 14:58:22 +02:00
dded7c72c1 Make cubic_interpolate() consider key time in animation 2022-08-19 14:48:37 +09:00
5361585832 [doc] Use "param" instead of "code" to refer to parameters
Co-authored-by: Yuri Sizov <11782833+YuriSizov@users.noreply.github.com>
2022-08-09 10:09:07 -04:00
c5d7115038 Rename the argument tag to param in XML documentation 2022-08-08 22:34:31 +03:00
99ce0df3b1 Refactor bezier interpolation functions 2022-06-27 19:42:43 +02:00
e7a58a7eb6 Core: Rename math 'phi' arguments to 'angle' 2022-05-05 14:17:39 +02:00
32f2c47356 Remove generating of null comparison operators from documentation 2022-03-14 22:35:23 +03:00
b68dd2e189 Add an XML schema for documentation
This makes it easier to spot syntax errors when editing the
class reference. The schema is referenced locally so validation
can still work offline.

Each class XML's schema conformance is also checked on GitHub Actions.
2022-02-15 00:03:31 +01:00
d54586a8e6 Explain what 2D cross product means 2022-01-11 11:48:45 +08:00
50225a0f32 i18n: Sync classref translations with current 3.x codebase
(cherry picked from commit defb801120)
2022-01-07 13:39:06 +01:00
064036d786 Allow Vector2/3 slerp values to have any length 2022-01-06 11:12:59 -08:00
3d08becd06 Unify similar method descriptions
Notably:

* `Packed*Array.size()` and `Array.size()`.
* Shared methods of `Transform2D` and `Transform3D`.
* Shared methods of `Vector2`, `Vector3`, and `Vector2i`.

This reduces the Deja Vu when translating the class reference :)
2022-01-06 19:50:57 +08:00
937fb63a23 Merge pull request #53020 from Lertsenem/doc/fix_vector2_reflect
Fix error in Vector2.reflect() description
2022-01-02 14:28:46 +01:00
78fd56a596 Merge pull request #55500 from KoBeWi/just_doc_things
Misc improvements to various docs
2021-12-06 15:34:21 +01:00
24f57886d0 Expose max_axis_index and max_axis_index for Vector2(i)
Some cleanup with Vector3(i)'s methods so that it is consistent with Vector2, for example it returns enums internally (GDScript still gets ints).
2021-12-02 23:45:41 -06:00
a367378f9e Rename Vector parameters to be consistent
Renames parameters that were named differently across different
scripting languages or their documentation to use the same name
everywhere.
2021-12-01 21:14:46 +01:00
244c5ecc64 Misc improvements to various docs 2021-11-30 23:53:58 +01:00
272b3c3728 Enable sorting of operator methods in class documentation. 2021-11-29 14:51:44 +00:00
471e7cbfc7 Merge pull request #54581 from aaronfranke/operator-docs 2021-11-16 14:10:09 +01:00
6c1bd4d227 Replace Godot docs URL with $DOCS_URL in XML class reference 2021-11-15 13:02:21 +01:00
606cfa9a47 Fix Vector2.angle_to_point() being reversed 2021-11-09 16:59:58 +01:00
813466b3c8 Add documentation to operators for math types
Co-authored-by: Raul Santos <raulsntos@gmail.com>
2021-11-04 14:44:55 -05:00
6772ebcea0 Move the docs for constructors and operators out of methods section 2021-10-29 12:34:57 -05:00
862994a8ef doc: Update links to latest documentation after content reorganization 2021-10-06 13:48:48 +02:00
e1bf428cdc Fix error in Vector2.reflect() description
The description was probably copied from Vector3.reflect(), and
unfortunately did not match the 2D behaviour (where n is apparently the
direction vector of the symmetry line, not the normal).
2021-09-24 18:41:06 +02:00
455e142d37 Allow comparing equality between builtin types and null 2021-09-17 12:33:52 -03:00
d69f4999fb Merge pull request #52628 from mechPenSketch/imgages_in_docs
Add Graph Illustrations to Doc
2021-09-15 23:18:25 +02:00
9ea619c486 Add Graph Illustrations to Doc 2021-09-13 21:04:29 +08:00
3f3739ccb5 Add Vector2.from_angle() method 2021-08-31 01:53:58 +02:00
7adf4cc9b5 doc: Use self-closing tags for return and argument
For the time being we don't support writing a description for those, preferring
having all details in the method's description.

Using self-closing tags saves half the lines, and prevents contributors from
thinking that they should write the argument or return documentation there.
2021-07-30 15:29:52 +02:00
b1d15c51bc Implement native extension system
* Deprecates GDNative in favor of a simpler, lower level interface.
* New extension system allows registering core engine classes.
* Simple header interface in gdnative_interace.h
2021-06-25 17:32:45 -03:00
0ff4095b36 Better format arguments in variant parser 2021-06-18 00:06:40 -03:00
2e13e3ed4a Allow clamping vectors and colors 2021-06-03 12:05:20 -04:00
94bc0bd919 Rename Vector2 clamped to limit_length and add limit_length to Vector3 2021-06-03 12:04:57 -04:00
d13cfc8d62 Docs: Minor argument names fix 2021-04-23 15:46:51 +02:00
4ca1e73ff9 doc: Sync classref with current source
And move GLTF docs to its module folder.
2021-03-18 16:37:43 +01:00
215d18814e doc: Sync classref with current source 2021-01-04 14:33:44 +01:00
6cebb8c117 Merge pull request #44586 from madmiraal/rename-stepify
Rename Math::stepify to snapped
2020-12-28 21:46:43 +01:00
058f3fe069 Merge pull request #44149 from madmiraal/rename-tangent-orthogonal
Rename Vector2.tangent() to Vector2.orthogonal()
2020-12-28 16:00:12 +01:00
b743a2ef3c Rename Math::stepify to snapped 2020-12-28 13:01:30 +00:00
fa0683ed30 Added a note describing a code behind Vector2/3.direction_to 2020-12-15 22:36:26 +03:00
5465e604bb Improve argument names for core types 2020-12-07 05:01:33 -05:00