Commit Graph

58 Commits

Author SHA1 Message Date
Vojtech Bubnik
53a5c23d0f Eradicated admesh from TriangleMesh:
TriangleMesh newly only holds indexed_triangle_set and
TriangleMeshStats. TriangleMeshStats contains an excerpt of stl_stats.
TriangleMeshStats are updated when initializing with indexed_triangle_set.

Admesh triangle mesh fixing is newly only used when loading an STL.
AMF / 3MF / OBJ file formats are already indexed triangle sets, thus
they are no more converted to admesh stl_file format, nor fixed
through admesh repair machinery. When importing AMF / 3MF / OBJ files,
volume is calculated and if negative, all faces are flipped. Also
a bounding box and number of open edges is calculated.

Implemented its_number_of_patches(), its_num_open_edges()
Optimized its_split(), its_is_splittable() using a visitor pattern.

Reworked QHull integration into TriangleMesh:
    1) Face normals were not right.
    2) Indexed triangle set is newly emitted instead of duplicating
       vertices for each face.

Fixed cut_mesh(): Orient the triangulated faces correctly.
2021-09-20 17:12:22 +02:00
tamasmeszaros
0ecba516a3 Get rid of Contour3D 2021-06-08 10:28:23 +02:00
tamasmeszaros
c451fc94ba Refactored hollowing backend to use indexed_triangle_mesh 2021-06-08 10:28:23 +02:00
tamasmeszaros
997c446a05 SLA backend refactored, except Hollowing 2021-06-08 10:27:35 +02:00
Vojtech Bubnik
94abebdfb0 Fixed missing include 2021-05-18 16:15:54 +02:00
Vojtech Bubnik
39e17fd6b9 TriangleMeshSlicer: Got rid of admesh! 2021-05-18 15:05:30 +02:00
Vojtech Bubnik
499d8405e9 WIP: Reworked slicing
1) Slicing code moved to TriangleMeshSlicer.cpp,hpp from TriangleMesh.cpp,hpp
2) Refactored to use as little as possible of admesh.
2021-05-17 20:25:59 +02:00
tamasmeszaros
f21e0ae0ff Least supports optimization revived.
Fix missing include on Win32


Cleanup benchmarking code
2021-04-07 12:51:02 +02:00
tamasmeszaros
a7851618c8 Extend execution framework with convenience functions 2021-04-07 12:51:02 +02:00
tamasmeszaros
f827e15f81 Group hollowing result (including grid) into one struct 2021-03-08 17:38:10 +01:00
Vojtech Bubnik
d62aace663 Reduction on compiler warnings, mainly on MSVC.
Fix of the new gap_fill_enable flag: Take it into account when comparing
regions.
2021-02-10 17:29:07 +01:00
Vojtech Bubnik
8199e4051e Replaced all "long long" types with int64_t
Replaced all "unsigned long long" types with uint64_t.
These "new" types better communicate their meaning and they are
guaranteed to behave the same on all platforms & compilers.
2020-12-10 08:40:15 +01:00
tamasmeszaros
0ee6e549c6 Fix sla tests on mac 2020-10-15 13:50:05 +02:00
tamasmeszaros
d488af9dce Fix confusing test
fixes #4724
2020-09-21 08:45:28 +02:00
tamasmeszaros
a2e7e0b7c2 Drop rubbish tests 2020-09-16 15:04:01 +02:00
tamasmeszaros
b1c3c8a5d0 fixing optimizer and concurrency::reduce 2020-09-10 14:03:30 +02:00
tamasmeszaros
dbd5304bc2 Fix failing test due to changes in support point genertion 2020-09-10 13:19:17 +02:00
tamasmeszaros
c4cee05738 Enable all tests for support point generator 2020-09-10 13:19:17 +02:00
tamasmeszaros
c875a3ab39 Add dedicated tests for support point generation 2020-08-18 11:41:14 +02:00
tamasmeszaros
24bd73f9af Working small-to-normal support merging
Fixed fatal bug with anchors for mini supports

Make the optimization cleaner in support generatior

Much better widening behaviour

Add an optimizer interface and the NLopt implementation into libslic3r

New optimizer based only on nlopt C interfase
Fix build and tests
2020-08-03 19:05:30 +02:00
tamasmeszaros
173366060f Include test name with output obj files for sla_print_tests 2020-08-03 19:05:30 +02:00
tamasmeszaros
6a9eccf673 Rename EigenMesh3D to IndexedMesh and SupportConfig to SupportTreeConfig 2020-08-03 19:05:30 +02:00
tamasmeszaros
8ec59a1d2c Id-s put in a base class for support tree primitives 2020-08-03 19:05:30 +02:00
tamasmeszaros
0f34c14284 Fix bugs and non working tests
Fix failing tests


Try to fix build on windows


Try to fix failng tests on Mac
2020-08-03 19:05:30 +02:00
tamasmeszaros
d46d86ba4b Separate support tree routing and meshing, remove Common.hpp/.cpp .
* Remove Common.hpp and Common.cpp, move things into their respective modules in sla.
2020-08-03 19:05:30 +02:00
tamasmeszaros
439de8536a Create smaller supports in problematic areas with established strategies
Completely remove the concept of CompactBridge.

Replace it with Heads having the same back radius as front radius. 

Try to apply the same rules for mini supports as in the route_to_model step.

Increased accuracy of bridge_mesh_intersect shot from support points


Refining mini support integration
2020-08-03 19:05:30 +02:00
tamasmeszaros
d10286c978 Fix the tests after EigenMesh3D refactor 2020-06-02 17:15:08 +02:00
tamasmeszaros
4e4efeef31 Initial version of sl1 import with sla::Raster refactor. 2020-04-23 19:05:32 +02:00
bubnikv
a18443cca5 Fixed unit tests broken with the previous commit (Spiral Vase fix).
Fixed a crash in the previous commit.
2020-02-09 09:43:15 +01:00
tamasmeszaros
fd65628807 [refactor] Move remaining utility functions into sla_test_utils 2020-01-31 08:56:46 +01:00
Lukas Matena
7e7420e43f Fixed a bug in the hole-aware raycaster 2020-01-17 16:02:23 +01:00
Lukas Matena
b0e71a4d75 Fixed unit test (sla_print_tests - random number generator seeding) 2020-01-16 14:03:43 +01:00
tamasmeszaros
0ba462a0a2 Remove wrapper around std::mt19937 2020-01-15 17:44:15 +01:00
tamasmeszaros
4183f9b29a Test sla support point generation determinism with seed parameter 2020-01-14 10:48:22 +01:00
tamasmeszaros
87511f1b6f Remove test restriction for on-model supports pierce test 2020-01-14 10:48:22 +01:00
tamasmeszaros
ab0eb41720 Make sla support pierce tests repeatable 2020-01-14 10:48:22 +01:00
tamasmeszaros
0cd7c71baa more raycaster tests, without repeating the hollowing every time 2020-01-09 16:57:11 +01:00
Lukas Matena
6bf63f0097 Fixed a raycaster problem with handling duplicate hits from igl
The duplicate hits confused winding number calculations in the raycaster, which in turn returned incorrect hit.
2020-01-09 14:09:26 +01:00
tamasmeszaros
d2c1dbd785 Add tests for EigenMesh3D raycaster with hole support.
Tests fail! Supports are intersecting the object when holes are added.
2020-01-08 17:11:22 +01:00
tamasmeszaros
10f2d23ff6 Merge branch 'tm_openvdb_integration' into lm_tm_hollowing
* Refactor file names in SLA dir
2019-11-11 12:55:22 +01:00
tamasmeszaros
cc56f7a685 SLA Contour3D expanded with conversions supporting quads. 2019-11-04 14:33:29 +01:00
tamasmeszaros
3597793d40 Useful verbose test output on console with Catch2 2019-10-29 13:36:39 +01:00
tamasmeszaros
7c63af2859 Add catch2 extra args option to tests.
update example
2019-10-25 10:42:21 +02:00
tamasmeszaros
2d62dd725a Group test targets into logical "tests" directory. Disable DJDHeuristic 2019-10-14 14:58:07 +02:00
tamasmeszaros
1a16d5f0e7 Fix cmake with msvc generator.
* Remove unused libnest2d files. Make it use the global build script targets.
* Modify FindTBB to address multi-config builds and take care of __TBB_NO_IMPLICIT_LINKAGE
* Move FindNLopt to project common cmake module dir
* Rename libnest.hpp to nester.hpp and libnest.h to libnest.hpp 
* Clean up common test suite build scripts
2019-10-14 12:50:08 +02:00
tamasmeszaros
f95a368694 Fix concave hull having holes. 2019-10-09 14:59:09 +02:00
tamasmeszaros
85413bd690 Fix test outputs on buildbot. Also fix pairhash test. 2019-10-07 10:21:59 +02:00
tamasmeszaros
a4aa05310b Disable on-model supports for pierce tests.
Also added separate main for sla_print testsuite to speed up compilation.
2019-10-04 18:14:19 +02:00
tamasmeszaros
80d7b418b4 Port sla tests to catch2 2019-10-04 14:47:02 +02:00
tamasmeszaros
a258d309d1 Catch2 test framework integration into tm_sla_tests. 2019-10-04 14:23:19 +02:00