Commit Graph

25 Commits

Author SHA1 Message Date
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
0ecba516a3 Get rid of Contour3D 2021-06-08 10:28:23 +02:00
997c446a05 SLA backend refactored, except Hollowing 2021-06-08 10:27:35 +02:00
39e17fd6b9 TriangleMeshSlicer: Got rid of admesh! 2021-05-18 15:05:30 +02:00
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
f21e0ae0ff Least supports optimization revived.
Fix missing include on Win32


Cleanup benchmarking code
2021-04-07 12:51:02 +02:00
a7851618c8 Extend execution framework with convenience functions 2021-04-07 12:51:02 +02:00
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
d488af9dce Fix confusing test
fixes #4724
2020-09-21 08:45:28 +02:00
b1c3c8a5d0 fixing optimizer and concurrency::reduce 2020-09-10 14:03:30 +02:00
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
6a9eccf673 Rename EigenMesh3D to IndexedMesh and SupportConfig to SupportTreeConfig 2020-08-03 19:05:30 +02:00
4e4efeef31 Initial version of sl1 import with sla::Raster refactor. 2020-04-23 19:05:32 +02:00
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
fd65628807 [refactor] Move remaining utility functions into sla_test_utils 2020-01-31 08:56:46 +01:00
b0e71a4d75 Fixed unit test (sla_print_tests - random number generator seeding) 2020-01-16 14:03:43 +01:00
0ba462a0a2 Remove wrapper around std::mt19937 2020-01-15 17:44:15 +01:00
4183f9b29a Test sla support point generation determinism with seed parameter 2020-01-14 10:48:22 +01:00
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
10f2d23ff6 Merge branch 'tm_openvdb_integration' into lm_tm_hollowing
* Refactor file names in SLA dir
2019-11-11 12:55:22 +01:00
cc56f7a685 SLA Contour3D expanded with conversions supporting quads. 2019-11-04 14:33:29 +01:00
3597793d40 Useful verbose test output on console with Catch2 2019-10-29 13:36:39 +01:00
f95a368694 Fix concave hull having holes. 2019-10-09 14:59:09 +02:00
85413bd690 Fix test outputs on buildbot. Also fix pairhash test. 2019-10-07 10:21:59 +02:00
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