Commit Graph

301 Commits

Author SHA1 Message Date
AndriyAndreyev
563239da07 Add unittest to check stack overflow crash
Signed-off-by: AndriyAndreyev <andriy.a.andreyev@gmail.com>
2022-05-06 00:52:07 +03:00
AndriyAndreyev
afee3269fa Merge remote-tracking branch 'upstream/master' 2022-05-06 00:50:55 +03:00
Jan Niklas Hasse
dbc52ace16
Merge pull request #42 from pierre-dejoue/dllexport
Rework on dllexport/dllimport definitions
2022-05-05 18:25:29 +02:00
AndriyAndreyev
15dfbc284a Merge remote-tracking branch 'upstream/master' 2022-05-05 01:11:12 +03:00
Jan Niklas Hasse
a8247ae387
Merge pull request #44 from pierre-dejoue/test-case-issue-10
Test polygons from issue #10
2022-05-03 08:57:24 +02:00
Pierre Dejoue
de70670221 Test polygons from issue #10 2022-05-02 09:35:51 +02:00
AndriyAndreyev
1bf8fad5a2 Add test case to check stack overflow crash
Without additional check is angle negative or not in the LargeHole_DontFill
function this test case leads to stack overflow.

Signed-off-by: AndriyAndreyev <andriy.a.andreyev@gmail.com>
2022-04-26 21:46:10 +03:00
AndriyAndreyev
64636de5af Сonsider that LargeHole_DontFill is true if angle is negative
Otherwise, a wrong triangle can be generated

Signed-off-by: AndriyAndreyev <andriy.a.andreyev@gmail.com>
2022-04-26 21:46:10 +03:00
Pierre Dejoue
49a12eb378 Set the API export symbols based on CMake BUILD_SHARED_LIBS
By default poly2tri is built as a static library.
2022-04-23 14:20:20 +02:00
Pierre Dejoue
7f5846b72d Retakes on dllexport/dllimport 2022-04-20 21:52:16 +02:00
Clifford Yapp
ad184c3810 Add dllexport/dllimport definitions. 2022-04-17 13:41:01 +02:00
Jan Niklas Hasse
3380f5c805 Apply even more clang-tidy fixes 2022-03-25 10:49:45 +01:00
Jan Niklas Hasse
dcdb7442a4 Apply several clang-tidy fixes 2022-03-25 09:56:30 +01:00
Jan Niklas Hasse
529470f1d0
Merge pull request #40 from roystgnr/no_collinearity_tolerance
Disable collinearity tolerance
2022-03-23 21:34:31 +01:00
Roy Stogner
30279f701c Use std::fpclassify for double==0 tests 2022-03-16 08:35:34 -05:00
Roy Stogner
19ec7c78a1 ConcaveBoundaryTest unit test
This is from the case I originally got to trigger the problem.  We could
probably boil it down to something smaller (by temporarily reverting the
Orient2d change to make sure the failure still occurs) but this doesn't
seem too bloated for a unit test as-is.
2022-03-15 20:37:14 -05:00
Roy Stogner
cc1e657107 NarrowQuadTest triangulation succeeds now 2022-03-15 20:36:53 -05:00
Roy Stogner
57b3039c05 Disable tolerance in Orient2d collinearity test
This fixes failures for me when trying to triangulate
concave-by-less-than-epsilon boundary polylines.
2022-03-15 19:16:40 -05:00
Jan Niklas Hasse
8b5fa15800
Merge pull request #34 from roystgnr/instructions_update
File naming, build/run instruction updates
2021-12-02 15:46:35 +01:00
Roy Stogner
4581f1fee8 Consistent executable path in README.md
These commands run (from the source directory; would commands as run
from the build directory be clearer?) for me as-is (after the testbed
executable has been built) now.
2021-12-01 17:38:53 -06:00
Roy Stogner
4fd0287f04 Fix, clarify build instructions
If we're in a build subdirectory, we need `..` to tell cmake where to
find the source directory.
2021-12-01 17:38:23 -06:00
Roy Stogner
cbc025a649 Note unit test dependencies
I already had most of Boost installed, but not enough.
2021-12-01 17:37:18 -06:00
Roy Stogner
ebf0c4d987 Rename testbed/testbed to testbed/p2t
That's what README.md has been referencing as the executable name, and
it's more meaningful.
2021-12-01 17:36:31 -06:00
Jan Niklas Hasse
136fa7acfc Move Point ctor into .cc file to hide shadowing from users
See #15 and #31.
2021-08-21 17:28:47 +02:00
Jan Niklas Hasse
7f0487a811
Merge pull request #29 from piotrkania-here/sanity_checks
Additional sanity checks for triangulate operation
2021-05-18 10:24:21 +02:00
Piotr Kania
905a765c0f Additional sanity checks for triangulate operation 2021-04-29 11:51:05 +02:00
Jan Niklas Hasse
4a323bf6d5
Merge pull request #28 from piotrkania-here/check_ptr
Check pointer before dereferencing it
2021-04-26 17:02:23 +02:00
Piotr Kania
af36bac4db Check pointer before dereferencing it 2021-04-26 10:25:12 +02:00
Jan Niklas Hasse
444ee57d87
Merge pull request #27 from piotrkania-here/fixed_point_operator
Fixed inequality operator for Point struct
2021-04-24 11:11:52 +02:00
Piotr Kania
b4534b3f97 Fixed inequality operator for Point struct 2021-04-23 14:32:39 +02:00
Jan Niklas Hasse
d949f3cd6f Add namespace comment 2021-01-16 18:43:00 +01:00
Jan Niklas Hasse
8b8e6cb249 Ignore .cache/ 2020-12-17 23:13:20 +01:00
Jan Niklas Hasse
4515f65f5b
Merge pull request #23 from pierre-dejoue/master
Improvement to the testbed application
2020-11-20 11:38:31 +01:00
Pierre Dejoue
8388a74a9f Improve testbed data file format
Data file format now has optional sections for holes polylines
and Steiner points identified with tokens "HOLE" and "STEINER".

Rework the data file dude.dat accordingly.

Add data file steiner.dat for an example with Steiner points.
2020-11-20 11:37:52 +01:00
Pierre Dejoue
cf5f95d4e9 Fix compilation warnings in testbed 2020-11-11 22:51:05 +01:00
Jan Niklas Hasse
83680d96bb Remove Waf build system, fix #14 2020-11-06 22:37:50 +00:00
Jan Niklas Hasse
e9938d9c68
Merge pull request #22 from pierre-dejoue/master
Add documentation and code patches for maintenability
2020-10-26 20:18:51 +00:00
Pierre Dejoue
718d687bae Add references section to README
The flipscan picture by Thomas Ahlen was found on those pages:
https://blackflux.wordpress.com/2014/03/01/meshing-in-voxel-engines-part-2/
https://groups.google.com/g/poly2tri/c/LNfxMtVyhqs
2020-10-26 20:58:49 +01:00
Pierre Dejoue
1054475eeb Triangle::NeighborAcross to return a pointer
Same as Triangle::NeighborCW and Triangle::NeighborCCW
2020-10-26 20:58:23 +01:00
Pierre Dejoue
35b2fa916a Patch inversion of head and tail in the advancing front initialization
No functional impact, the code is equivalent. We just assign
head_ to af_head_ and tail_ to af_tail_ as one would expect.
2020-10-26 12:07:45 +01:00
Pierre Dejoue
5aa0c22365 Add headers in project files generated by cmake 2020-10-26 12:07:44 +01:00
Pierre Dejoue
c480777a5b Update README for cmake 2020-10-26 12:07:21 +01:00
Jan Niklas Hasse
c4404a73fb Avoid redefinition of BOOST_TEST_DYN_LINK 2020-10-25 20:53:39 +01:00
Jan Niklas Hasse
6febaeda1a Add debug configurations for VSCode 2020-10-19 18:27:52 +02:00
Jan Niklas Hasse
a3a6456586 Add namespace comment for clang-tidy 2020-10-19 18:27:21 +02:00
Jan Niklas Hasse
f6ca87a6bf Add .clang-format 2020-10-19 18:24:46 +02:00
Jan Niklas Hasse
f91fcd9f81
Merge pull request #20 from pierre-dejoue/master
Add CMake files for the unit tests and the testbed app
2020-08-27 20:09:59 +02:00
Pierre Dejoue
05546087fb Add CMake files for the testbed 2020-08-27 19:16:21 +02:00
Pierre Dejoue
7125fdb13b Add CMake files for the unit tests
- Building unit tests is optional, disabled by default to prevent
  the library clients from pulling the dependency on boost
- Add the unit tests to the Github Actions.
- Use boost::filesystem to manipulate paths for better portability
2020-08-27 19:16:17 +02:00
Jan Niklas Hasse
a269fb4743
Merge pull request #19 from pierre-dejoue/master
Add one exception case in Triangle::NeighborAcross
2020-08-06 23:54:23 +02:00