Andrii Doroshenko (Xrayez)
24e9a881c0
Expose 2D Delaunay triangulation in Geometry singleton
...
Can be used via scripting as `Geometry.triangulate_delaunay_2d(points)`
The interface is the same as in `Triangulate` library, returning indices
into triangulated points.
2019-05-24 13:10:13 +03:00
Andrii Doroshenko (Xrayez)
883ef8570a
Expose 2D polygon boolean operations in Geometry singleton
...
Clipper 6.4.2 is used internally to perform polypaths clipping, as well
as inflating/deflating polypaths. The following methods were added:
```
Geometry.merge_polygons_2d(poly_a, poly_b) # union
Geometry.clip_polygons_2d(poly_a, poly_b) # difference
Geometry.intersect_polygons_2d(poly_a, poly_b) # intersection
Geometry.exclude_polygons_2d(poly_a, poly_b) # xor
Geometry.clip_polyline_with_polygon_2d(poly_a, poly_b)
Geometry.intersect_polyline_with_polygon_2d(poly_a, poly_b)
Geometry.offset_polygon_2d(polygon, delta) # inflate/deflate
Geometry.offset_polyline_2d(polyline, delta) # returns polygons
// This one helps to implement CSG-like behaviour:
Geometry.transform_points_2d(points, transform)
```
All the methods return an array of polygons/polylines. The resulting
polygons could possibly be holes which could be checked with
`Geometry.is_polygon_clockwise()` which was exposed to scripting as well.
2019-05-22 17:12:39 +03:00
Rémi Verschelde
e0574e1d98
Fix typos with codespell
...
Using codespell 1.15.0.
Method:
```
$ cat > ../godot-word-whitelist.txt << EOF
ang
curvelinear
doubleclick
leapyear
lod
merchantibility
nd
numer
ois
ony
que
seeked
synching
te
uint
unselect
webp
EOF
$ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"
$ git diff // undo unwanted changes
```
2019-05-19 13:10:35 +02:00
Max Hilbrunner
33897d9b58
Merge pull request #28925 from Daw11/astar-sorted-array
...
Improve the performance of AStar
2019-05-18 23:20:02 +02:00
Daw11
cc7be6c643
Use a binary heap for the open list of Astar
2019-05-16 20:14:35 +02:00
Daw11
28bff3d1ad
Implement Lanczos image filter
2019-05-05 14:03:56 +02:00
Rémi Verschelde
ae41e35191
Merge pull request #27676 from qarmin/small_fixes_2
...
Small fixes to static analyzer bugs
2019-05-01 08:19:04 +02:00
Aaron Franke
620ec4703f
Make "decimal" functions more consistent
...
In GDScript, rename "decimals" to "step_decimals". In C#, add "StepDecimals", but keep the old functionality in a method called "DecimalCount".
2019-04-30 13:49:17 -04:00
Rémi Verschelde
d6b20e854c
Merge pull request #27294 from lupoDharkael/rect2i
...
Add missing methods to Rect2i
2019-04-30 11:46:40 +02:00
Aaron Franke
b659e1eb2b
Use approximate equallity methods in many places
2019-04-25 13:20:29 -04:00
Aaron Franke
b2e1c9c276
[Core] Approximate equality
2019-04-25 13:20:29 -04:00
Hein-Pieter van Braam
5d33f241f0
Merge pull request #26064 from JFonS/add_frustum_camera_mode
...
Add FRUSTUM camera mode, allowing tilted frustums
2019-04-23 06:20:13 +03:00
Juan Linietsky
04847ef5f9
Added ability for multiple images to be imported as an atlas
...
This adds support for groups in the import system, which point to a single file.
Add property hint for saving files in file field
2019-04-19 15:56:34 -03:00
Juan Linietsky
e33764744c
Added generator audio stream, and spectrum analyzer audio effect
...
Made AudioFrame and Vector2 equivalent for casting.
Added ability to obtain the playback object from stream players.
Added ability to obtain effect instance from audio server.
2019-04-10 12:58:06 -03:00
Rémi Verschelde
c8994b56f9
Style: Apply new changes from clang-format 8.0
...
It seems to stay compatible with formatting done by clang-format 6.0 and 7.0,
so contributors can keep using those versions for now (they will not undo those
changes).
2019-04-09 17:09:48 +02:00
Rémi Verschelde
3cf2bdbd84
Merge pull request #27506 from Chaosus/astar
...
Added functions to AStar for disable/enable points to effectivly create obstacles
2019-04-08 12:19:51 +02:00
Rémi Verschelde
7f3373d79f
Merge pull request #27452 from Chaosus/direction_to
...
Added method to retrieve a direction vector from one point to another
2019-04-08 12:00:54 +02:00
Rémi Verschelde
d211aff777
Merge pull request #27231 from Chaosus/smoothstep
...
Added smoothstep built-in function
2019-04-08 10:03:42 +02:00
Chaosus
cc71fb2308
Added functions to AStar for disable/enable points
2019-04-08 09:28:03 +03:00
Chaosus
514a3fb96a
Added smoothstep built-in function
2019-04-07 14:11:26 +03:00
Yuri Roubinsky
134be5c728
Merge pull request #27043 from Chaosus/randfn
...
Added gaussian distribution function to RNG
2019-04-07 08:32:04 +03:00
Rémi Verschelde
3b697ce8d5
Merge pull request #26486 from marxin/fix-Wdeprecated-copy
...
Fix new GCC 9 warnings: -Wdeprecated-copy.
2019-04-06 18:21:18 +02:00
Rémi Verschelde
34ea708596
Merge pull request #26699 from Schroedi/fix-line-circle-intersect
...
Fixes Geometry.segment_intersects_circle working only one way.
2019-04-06 12:42:16 +02:00
Chaosus
55f3bd97a2
Added direction_to method to vectors
2019-04-05 17:09:57 +03:00
qarmin
8460d0678c
Small fixes to static analyzer bugs
2019-04-04 22:00:16 +02:00
Rémi Verschelde
29a1202d39
Merge pull request #27171 from Chaosus/randfix
...
Properly setup seed in RNG
2019-04-01 17:17:30 +02:00
Rémi Verschelde
e3bd84fa57
Merge pull request #27485 from Faless/io/encode_decode_safety_pr
...
Safer encode/decode variant.
2019-04-01 17:00:40 +02:00
Juan Linietsky
dee98d3b6d
Some improvements to is_equal_approx, restored Quat operator.
2019-04-01 11:11:02 -03:00
Fabio Alessandrelli
393e62b98a
Add object encoding param to serialization methods
...
Network peers get_var/put_var
File get_var/store_var
GDScript/Mono/VisualScript bytes2var/var2bytes
Add MultiplayerAPI.allow_object_decoding member which deprecates PacketPeer.allow_object_decoding.
Break ABI compatibaility (API compatibility for GDNative).
2019-04-01 15:53:19 +02:00
Chaosus
6280be46a6
Properly setup seed in RNG
2019-03-27 19:37:25 +03:00
lupoDharkael
6232e7eed3
Add missing methods to Rect2i
...
Replace inline with _FORCE_INLINE_ in short methods.
Remove unused and redundant method no_area() as we already have has_no_area().
Add grow_individual() grow_margin() and expand() to Rect2i.
2019-03-21 17:35:01 +01:00
Chaosus
5f137925dc
Added normally distributed generation function to RNG
2019-03-17 08:09:46 +03:00
Rémi Verschelde
aff3dd36ba
Merge pull request #25495 from IronicallySerious/fix-expand-macros
...
Fix parameterised macros in core. Addresses #25488
2019-03-16 11:20:52 -07:00
Rémi Verschelde
bce56cf337
Fix -Wc++11-extensions warning after #26737
...
Fixes #26769 .
2019-03-07 22:48:00 +01:00
MidZik
4eccb58bc5
Fixed get_seed() not returning the correct seed.
2019-03-07 02:45:18 -06:00
Christoph Schroeder
dcbe55a1fa
Fixes Geometry.segment_intersects_circle working only one way.
2019-03-06 12:28:54 +01:00
Mariano Suligoy
078b869d9a
TileSet/TileMap: Decompose solid non-convex polygons into convexes. Real fix for #24003
2019-03-04 21:03:10 -03:00
marxin
6be77da7eb
Fix new GCC 9 warnings: -Wdeprecated-copy.
2019-03-02 14:37:02 +01:00
Hein-Pieter van Braam
33c6b0ec1a
Scale quickhull tolerance with mesh size
...
Taken from three.js's implementation. Tested with a wide variety of
meshes.
2019-03-01 20:58:39 +00:00
Juan Linietsky
3299045988
Remove setting that caused is_inside_tree() errors on doppler tracking enabled.
2019-02-26 09:16:23 -03:00
Juan Linietsky
a32b26dfa2
Several fixes to make GLES2 on HTML5 work much better.
...
Changed math class error reporting to be a bit less paranoid.
2019-02-25 21:47:29 -03:00
Chaosus
bc4d781277
Fix wrapi to use int64_t instead int
2019-02-25 10:51:04 +03:00
Hugo Locurcio
18b90508a1
Fix crash when using wrapi()
with a range of zero
...
`wrapi()` and `wrapf()` will now return the value of
the `min` parameter if the range is equal to zero.
2019-02-23 16:16:32 +01:00
marxin
8d51618949
Add -Wshadow=local to warnings and fix reported issues.
...
Fixes #25316 .
2019-02-20 19:44:12 +01:00
hedin
c496781bf6
fixed AStar improper point deletion (leads to crash)
2019-02-20 17:24:58 +01:00
JFonS
54b95b6c5a
Add FRUSTUM camera mode, allowing tilted frustums
...
This new camera mode makes it easy to create tilted frustums for mirror
or portal effects.
This work was kindly sponsored by IMVU.
2019-02-19 17:48:08 +01:00
IronicallySerious
4121df235e
Fix parameterised macros in core. Addresses #25488
...
This adds the saves the programmer of doing something like SWAP(x++, y--)
and getting the wrong result unless the parameters are evaluated
before use.
2019-02-18 22:08:42 +05:30
Rémi Verschelde
f6fcbcfe9e
Merge pull request #25680 from Chaosus/random_fix
...
Fix random generation, to not always retrieve 0 after seed()
2019-02-16 23:24:02 +01:00
Pierrick Brunet
3b6d05db3e
Fix typo for randd and randf
...
* And improve documentation according to issue #25938
2019-02-16 21:05:18 +01:00
Rémi Verschelde
55ca2a7c88
Merge pull request #25821 from akien-mga/sync-class-and-filenames
...
Ensure classes match their header filename
2019-02-13 08:49:39 +01:00