Commit Graph

25 Commits

Author SHA1 Message Date
8a2a9dba2f 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
8fdb0fddc0 Get rid of Contour3D 2021-06-08 10:28:23 +02:00
1009f78862 SLA backend refactored, except Hollowing 2021-06-08 10:27:35 +02:00
70b4915f9c TriangleMeshSlicer: Got rid of admesh! 2021-05-18 15:05:30 +02:00
308d6b7809 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
f3e3aabec7 Least supports optimization revived.
Fix missing include on Win32


Cleanup benchmarking code
2021-04-07 12:51:02 +02:00
4eb13a407f Extend execution framework with convenience functions 2021-04-07 12:51:02 +02:00
bd79036d13 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
73d8bab4f8 Fix confusing test
fixes #4724
2020-09-21 08:45:28 +02:00
c10ff4f503 fixing optimizer and concurrency::reduce 2020-09-10 14:03:30 +02:00
927b81ea97 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
1eec6c473c Rename EigenMesh3D to IndexedMesh and SupportConfig to SupportTreeConfig 2020-08-03 19:05:30 +02:00
247fca6d55 Initial version of sl1 import with sla::Raster refactor. 2020-04-23 19:05:32 +02:00
e7d2fcf0be 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
7f476f38b9 [refactor] Move remaining utility functions into sla_test_utils 2020-01-31 08:56:46 +01:00
79e546816d Fixed unit test (sla_print_tests - random number generator seeding) 2020-01-16 14:03:43 +01:00
e6bdec4aa5 Remove wrapper around std::mt19937 2020-01-15 17:44:15 +01:00
ce49f0a294 Test sla support point generation determinism with seed parameter 2020-01-14 10:48:22 +01:00
bb62f36df3 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
c22423a219 Merge branch 'tm_openvdb_integration' into lm_tm_hollowing
* Refactor file names in SLA dir
2019-11-11 12:55:22 +01:00
7808d09d06 SLA Contour3D expanded with conversions supporting quads. 2019-11-04 14:33:29 +01:00
6f8ce12287 Useful verbose test output on console with Catch2 2019-10-29 13:36:39 +01:00
175b6fd9f5 Fix concave hull having holes. 2019-10-09 14:59:09 +02:00
f1388fffba Fix test outputs on buildbot. Also fix pairhash test. 2019-10-07 10:21:59 +02:00
a34ca42709 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