summaryrefslogtreecommitdiffstats
path: root/core/math
Commit message (Collapse)AuthorAgeFilesLines
* Update copyright statements to 2020Rémi Verschelde2020-01-0151-102/+102
| | | | | | | | | | | Happy new year to the wonderful Godot community! We're starting a new decade with a well-established, non-profit, free and open source game engine, and tons of further improvements in the pipeline from hundreds of contributors. Godot will keep getting better, and we're looking forward to all the games that the community will keep developing and releasing with it.
* Add ord() function to Expression classDanil Alexeev2019-12-292-0/+29
| | | | | The ord() function was recently added in GDScript and VisualScript, but was missed in the Expression class.
* Drop b2d_convexdecomp. no longer necessary.Rémi Verschelde2019-12-132-11/+0
| | | | | | | We now use `thirdparty/misc/triangulator.h` for all physics-related (collision, navigation) triangulation needs. Follow-up to #34293.
* Merge pull request #34040 from qarmin/unused_variable_more_precise_numbersRémi Verschelde2019-12-102-8/+8
|\ | | | | Removed unused variables, add some constants numbers
| * Removed unused variables, add some constants numbersRafał Mikrut2019-12-102-8/+8
| |
* | Fix severe performance drop while deflating polylinesAndrii Doroshenko (Xrayez)2019-12-031-1/+1
|/ | | | | | | | Underscaled arc tolerance produced very small values so that changes to this parameter were negligible when scaled internally, hence significant performance drop (lots of intermediate points inserted in an arc). Now the performance is mostly the same compared to other types of offsetting (SQUARE, MITER).
* Merge pull request #33583 from qarmin/fix_overflows_unitializedRémi Verschelde2019-11-201-0/+4
|\ | | | | Fix some overflows and unitialized variables
| * Fix some overflows and unitialized variablesRafał Mikrut2019-11-201-0/+4
| |
* | Fixed bug caused by a copy/paste error in Face3::get_closest_point_tostoofin2019-11-191-1/+1
|/ | | | | s * edge0 = -d / a * edge0 = -edge0⋅v0 / (edge0⋅edge0) * edge0 = vector projection of -v0 onto edge0 By incorrectly using -e/c instead of -d/a, Face3::get_closest_point_to was returning the wrong point in certain cases. Specifically, I noticed it returning vertex[0] when it should have been returning vertex[1].
* Emit an error rather than crash in A*Shiqing2019-11-081-6/+6
|
* Merge pull request #32477 from aaronfranke/equal-approx-separateRémi Verschelde2019-11-0721-32/+69
|\ | | | | Make is_equal_approx separate and make == exact again
| * Expose is_equal_approx and restore == to be exact againAaron Franke2019-10-143-6/+7
| | | | | | | | | | | | This commit changes behavior for GDScript and C#. Also did some organizing of the order to logically group related methods, mostly for Rect2 and AABB.
| * Replace vector == and is_zero_approx(distance) with is_equal_approxAaron Franke2019-10-145-14/+5
| | | | | | | | Internal changes only
| * Make is_equal_approx separate for structuresAaron Franke2019-10-1418-15/+60
| | | | | | | | This commit adds exposed behavior for C#
* | Merge pull request #30556 from kawa-yoiko/astar-directedRémi Verschelde2019-11-072-35/+76
|\ \ | | | | | | Improve support for directed graphs in A*; docs update included
| * | Reduce memory usage for edges in A* and add testsShiqing2019-09-282-37/+69
| | |
| * | Improve support for directed graphs in AStarShiqing2019-09-112-26/+35
| | |
* | | Fix "seperate" typosAaron Franke2019-10-311-1/+1
| | |
* | | [Mono] Change Plane intersect methods to return nullable Vector3Aaron Franke2019-10-081-1/+1
| |/ |/|
* | Merge pull request #32478 from AlexHolly/fix-rect2-enclosesRémi Verschelde2019-10-081-2/+2
|\ \ | | | | | | Make Rect2.encloses return true on same size
| * | Make Rect2.encloses return true on same sizeAlexander Holland2019-10-021-2/+2
| | |
* | | Remove circular include between core/typedefs.h and core/error_macros.hMarcel Admiraal2019-10-081-0/+2
| | |
* | | Remove circular dependency between Vector3 and Basis.Marcel Admiraal2019-10-073-23/+18
|/ /
* | Merge pull request #32249 from hbina/a_star_ignore_disabledRémi Verschelde2019-09-272-8/+8
|\ \ | | | | | | Add option to consider disable points
| * | Add option to consider disable pointsHanif Bin Ariffin2019-09-272-8/+8
| |/ | | | | | | | | | | Previously, disabled points will not be considered when performing get_closest_point. This commit changes that by introducing an additional flag for this behavior. Related issue: #31814
* | Merge pull request #32051 from qarmin/some_error_explanationRémi Verschelde2019-09-252-5/+2
|\ \ | | | | | | Added some obvious errors explanations
| * | Added some obvious errors explanationsqarmin2019-09-252-5/+2
| |/
* | Fix copyright headers and style issuesRémi Verschelde2019-09-241-1/+1
| |
* | Merge pull request #32275 from godotengine/skin_supportRémi Verschelde2019-09-232-0/+186
|\ \ | | | | | | Added skin support and simplified APIs to override bone position + glTF 2.0 import fixes
| * | GLTF2 Import Fixes - Skin(s) to Skeleton - Skin SupportMarios Staikopoulos2019-09-202-0/+186
| |/
* / Changed some code found by Clang Tidy and Coverityqarmin2019-09-221-1/+1
|/
* Merge pull request #31756 from raphael10241024/fast_aabb_transformRémi Verschelde2019-09-031-16/+23
|\ | | | | a faster function to transform aabb
| * a faster funtion to transform aabbRaphaelHunter2019-08-291-16/+23
| |
* | Check for exact equality before approximate equalityAaron Franke2019-09-011-0/+10
| |
* | Remove redundant transform method in Geometry singletonAndrii Doroshenko (Xrayez)2019-09-011-10/+0
| | | | | | | | | | Transform2D's xform method can be used instead which handles `PoolVector2Array` now (as well as 3D version).
* | Merge pull request #31761 from Xrayez/trans2d-vector2arrayRémi Verschelde2019-09-012-0/+63
|\ \ | | | | | | Add transform methods for PoolVector*Array
| * | Add transform methods for PoolVector*ArrayAndrii Doroshenko (Xrayez)2019-08-292-0/+63
| |/ | | | | | | | | | | Similarly to `Vector2` and `Rect2` transforms in 2D and Vector3, Plane, and AABB in 3D. PoolVector2Array and PoolVector3Array were the only missing Variant types in both Transform2D and Transform respectively.
* | Merge pull request #31667 from YeldhamDev/geometry_point_circle_cleanupRémi Verschelde2019-09-012-204/+149
|\ \ | |/ |/| Add 'is_point_in_circle()' to Geometry class, and general file cleanup
| * Add 'is_point_in_circle()' to Geometry class, and general file cleanupMichael Alexsander Silva Dias2019-08-272-204/+149
| |
* | [Mono] Various Color improvementsAaron Franke2019-08-271-4/+4
|/ | | | I also slid in a fix to C++ Vector3 > and >=
* allow to reserve space in OAHashMap explicitly and also in AStar.Robin Hübner2019-08-272-0/+42
| | | | * also handle overflow occurring in _get_probe_length
* Merge pull request #31094 from aaronfranke/vector-sign-mod-etcRémi Verschelde2019-08-233-9/+68
|\ | | | | Add Vector2/3 sign and posmod functions, axis, docs, misc additions
| * Add Vector2/3 sign and posmod functions, misc additionsAaron Franke2019-08-173-9/+68
| | | | | | | | Also make the docs more consistent, add Axis enum to Vector2, add > and >=. and C# also gets % and an override for vector-vector mod.
* | Merge pull request #29871 from Faless/crypto/initial_prRémi Verschelde2019-08-213-279/+1
|\ \ | | | | | | More Crypto, SSL server, crt/key as Resource, HashingContext
| * | Move CryptoCore to it's own folder.Fabio Alessandrelli2019-08-193-319/+1
| | | | | | | | | | | | Crypto classes will be placed in core/crypto.
| * | Fix CryptoCore signatures, add SHA1 context.Fabio Alessandrelli2019-08-192-6/+46
| |/ | | | | | | | | | | Fix hash size in SHA256 signature Fix source parameter in hash context update function to be const. Add SHA1 hash context.
* | Merge pull request #31402 from profan/perf/astar-improvementsRémi Verschelde2019-08-212-109/+156
|\ \ | | | | | | A* performance improvements, use OAHashMap.
| * | astar performance improvements, use oahashmapRobin Hübner2019-08-212-109/+156
| | |
* | | Merge pull request #31395 from ptrojahn/floatsarenastyRémi Verschelde2019-08-201-2/+2
|\ \ \ | |_|/ |/| | Replace is_zero_approx(A.distance_to(B)) with A==B
| * | Replace is_zero_approx(A.distance_to(B)) with A==BPaul Trojahn2019-08-191-2/+2
| | | | | | | | | | | | | | | Related to #22988 (Fixes the holes in the shape of the first comment)