aboutsummaryrefslogtreecommitdiff
path: root/src/math
Commit message (Collapse)AuthorAgeLines
* Fix clippy lints and add polygon tool button iconArne Dußin2020-11-25-1/+1
|
* Add polygon rooms that can actually kind of be usedArne Dußin2020-11-25-34/+122
| | | | | | It's still kind of strange to use the polygon tool, but at least it seems stable enough so I'm confident enough (and sick enough of it) to release it into the wild.
* Add unstable polygon room toolArne Dußin2020-11-24-1/+1
|
* Fix polygon corners not always running counterclockwiseArne Dußin2020-11-24-14/+101
|
* Merge branch 'triangulation' into polygon-roomsArne Dußin2020-11-23-340/+825
|\
| * Add triangulation functionArne Dußin2020-11-23-12/+49
| |
| * Fix corner case not being handledArne Dußin2020-11-23-2/+97
| | | | | | | | | | | | | | | | Previously, the algorithm to check, if a line-segment is inside a polygon did not have a special case for when the start or end of the segment is on a polygon corner. In case this corner is reflexive, checking against one line between this corner and an adjacent one may not be enough.
| * Add ear clipping algorithmArne Dußin2020-11-23-6/+201
| |
| * Move containment of points/ lines into traitArne Dußin2020-11-21-81/+100
| |
| * Move polygon functions into own modArne Dußin2020-11-21-9/+15
| | | | | | | | | | The math module was starting to be mostly polygon files and functions, so those got their own subfolder to make the math module less of a mess.
| * Apply clippy lintsArne Dußin2020-11-21-11/+5
| |
| * Add unit tests for triangleArne Dußin2020-11-21-0/+57
| |
| * Add triangle struct and triangulation templateArne Dußin2020-11-21-101/+183
| |
* | Add unfinished polygon room toolArne Dußin2020-11-20-1/+2
|/ | | | | | | When adding the polygon room tool, a problem with drawing polygons arised. Drawing a simple, but nonregular polygon is not something that is supported by raylib, so further additions to the math library are needed.
* Implement bounding box functionArne Dußin2020-11-18-21/+138
|
* Add self intersection for polygon graphsArne Dußin2020-11-18-20/+142
|
* Fix silly bug in min functionArne Dußin2020-11-18-3/+25
|
* Add polygon graphArne Dußin2020-11-17-1/+369
|
* Add intersection point algorithmArne Dußin2020-11-15-116/+151
|
* Fix the polygon point containment algorithmArne Dußin2020-11-12-29/+83
| | | | | | | | The algorithm before was really not working for a lot of edge cases and very difficult to adapt. This version is definitely not the be-all and end-all, but it should work for most (well, hopefully all) cases. After refactoring and hopefully simplifying and straightening out the logic a little more, it should be verifiable.
* Add polygon that can check if a point is insideArne Dußin2020-11-11-2/+257
| | | | | ..except for one super super edgy edge case, but I wanted to get this algorithm out into a commit before I ruin it completely (probably)
* Fix some style errorsArne Dußin2020-11-10-2/+14
| | | | | Fixed the last warnings and ran clippy on the project. Fixed where appropriate and taught clippy otherwise. Now runs through clean.
* Add dimension indicator without direct value editingArne Dußin2020-11-10-2/+21
|
* Add basic deletion toolArne Dußin2020-11-01-1/+18
|
* Refactor a major part of the projectArne Dußin2020-11-01-0/+434
In order to be able to save and load the map, a major rework of the code seemed necessary, since Vector2 and Rectangle of raylib do not implement serialize, and it seems cleanest to use the serialize/deserialize traits of serde, to save for instance to RON. ToolShed was renamed to Editor, since it should better show, that it does quite a bit more than harbour tools. The map data is now centrally saved in the editor, instead of decentralised in the tool structs.