Commit graph

85 commits

Author SHA1 Message Date
bubnikv
0558b53493 WIP: Moved sources int src/, separated most of the source code from Perl.
The XS was left only for the unit / integration tests, and it links
libslic3r only. No wxWidgets are allowed to be used from Perl starting
from now.
2018-09-19 11:02:24 +02:00
bubnikv
3ddaccb641 Replaced CONFESS with throw std::exception in libslic3r, so now
libslic3r should be compilable without Perl.
2018-09-18 10:09:58 +02:00
bubnikv
fe3b92870f Merged with dev 2018-09-17 15:12:13 +02:00
bubnikv
0235f1a821 Merged with dev 2018-09-12 11:59:02 +02:00
Enrico Turri
15b1340514 Added ModelInstance::world_matrix() method and stl_transform using eigen transform 2018-09-04 14:42:14 +02:00
Enrico Turri
cfe49a20ad Removed unused methods 2018-08-28 15:19:53 +02:00
tamasmeszaros
1c4574d42e fix centroid error for two points and merge with dev. 2018-08-27 16:20:13 +02:00
Enrico Turri
fef5a5252e Fixed conflicts after merging with master 2018-08-27 14:00:53 +02:00
tamasmeszaros
d749080261 Merge remote-tracking branch 'origin/dev' into sla_base_pool 2018-08-27 09:53:52 +02:00
Enrico Turri
66ce638439 Fixed conflicts after merging with branch eigenize 2018-08-23 15:37:38 +02:00
bubnikv
76d60070eb Eigenized the admesh structures
(stl_vertex, stl_normal).
2018-08-22 15:34:03 +02:00
bubnikv
6829704475 d .. 2018-08-22 15:03:35 +02:00
bubnikv
ac72cd779f Replaced Point3 with Eigen Vec3crd, removed Point3 from the Perl binding. 2018-08-21 22:14:47 +02:00
bubnikv
cae0806112 Eradicated most of Pointf extras compared to pure Eigen::Vector2d. 2018-08-21 20:34:45 +02:00
bubnikv
cb138a20b8 Completely replaced the homebrew Pointf3 class with Eigen Vec3d.
Replaced the unscale macro with a template, implemented templates
for unscaling Eigen vectors.
2018-08-21 17:43:05 +02:00
Lukas Matena
86b67bbd42 Lay flat - rotation is now done in one go directly about the necessary axis 2018-08-21 15:40:11 +02:00
tamasmeszaros
6e77307880 Merge remote-tracking branch 'origin/eigenize' into sla_base_pool 2018-08-21 13:50:09 +02:00
Lukas Matena
b0dd328fde Lay flat - icons and invalidation improvement 2018-08-20 11:27:25 +02:00
bubnikv
65011f9382 Removed the x(), y(), z() Point/Pointf/Point3/Pointf3 accessors. 2018-08-17 15:53:43 +02:00
Lukas Matena
f9efcc36b6 Lay flat gizmo improvements - merge adjacent faces, compute and cache convex hull for entire ModelObject, refresh when moved, etc. 2018-08-17 15:40:47 +02:00
tamasmeszaros
f297da0d01 Working curve approximation of the concave hull with clipper offset. 2018-08-16 17:47:05 +02:00
Lukas Matena
3f72ca2a15 Merge remote-tracking branch 'origin/convex_hull' into lm_lay_flat_round_merged_facets 2018-08-16 08:56:18 +02:00
Enrico Turri
4d98d32199 Use of bounding box of rotated 3D convex hull for out of print volume detection 2018-08-15 12:50:06 +02:00
bubnikv
f34252a27b Changing the internal representation of Point / Pointf / Point3 / Pointf3 to Eigen Matrix types:
Changed the Point3 / Pointf3 to composite Eigen Vec3crd / Vec3d.
Point3 is no more derived from Point,
Pointf3 is no more derived from Pointf.
Introduced Transform2f/3f/2d/3d types as aliases to Eigen::Transform.
2018-08-14 21:33:41 +02:00
bubnikv
86da661097 Changing the internal representation of Point / Pointf / Point3 / Pointf3 to Eigen Matrix types, first step 2018-08-14 18:33:26 +02:00
Lukas Matena
a06b6716ea First naive implementation of TriangleMesh convex hull calculation 2018-08-09 16:35:28 +02:00
tamasmeszaros
3bdb12ada1 Making it compile on GCC 4.9 2018-05-23 14:16:54 +02:00
Enrico Turri
d19b1162b3 Fixed normals on wipe tower box 2018-05-03 11:09:13 +02:00
bubnikv
33e1108f65 Background processing in C++, WIP. 2018-03-28 17:05:31 +02:00
bubnikv
1b23f9cd6e Fixing compilation errors: A non-const reference does not accept
a temporary variable.
2018-03-16 10:04:42 +01:00
bubnikv
4f0c6dd879 Reworked the fix of #784 for efficiency and robustness:
First, the same direction segments are chained as before, but this time
the remaining open polylines are collected to be processed in the 2nd step.

Second, the remaining open polylines are connected by a greedy algorithm
disregarding their original orientation. As the orientation of loops
created by the 2nd step is mixed, the orientation of these loops is
unknown, therfore a CCW orientation is enforced. The CCW heuristics
may fill holes and cavities, but no outer geometry will be lost.
2018-03-15 17:14:13 +01:00
Enrico Turri
1ae8684af1 Modified TriangleMeshSlicer::make_loops() to fix #784 2018-03-13 13:32:50 +01:00
Enrico Turri
0ec68eb35b Fix for issue #661 (ExPolygons generation) 2018-02-28 11:41:04 +01:00
bubnikv
68c51be130 Merge remote-tracking branch 'remotes/origin/mesh_repair' 2018-02-23 14:38:37 +01:00
Enrico Turri
1489b9901b Added workaround into admesh stl_fix_normal_directions() function to prevent meshes to be broken by the repairing process (fixes #716, #574, #413, #269, #262, #259, #230, #228, #206) 2018-02-15 16:10:47 +01:00
Enrico Turri
475f892413 3mf Importer - 1st installment 2018-01-30 09:27:10 +01:00
Enrico Turri
d34f3ffc83 Fix for #574, #413, #269, #262, #259, #230, #228, #206 2018-01-18 09:15:04 +01:00
bubnikv
ee645007f2 Another step towards C++ presets. 2017-10-25 12:53:31 +02:00
bubnikv
98408bbed0 Fixed a crash when slicing leads to no print.
Fixed a bug in TriangleMesh::bounding_box().
2017-09-12 16:48:44 +02:00
bubnikv
31085fb1d7 Ported some ModelObject methods from Perl to C++.
Added some utility functions to TriangleMesh, thanks to @alexrj
Some porting to C++ based on work by @alexrj.
2017-08-02 16:05:18 +02:00
bubnikv
b724d789fd New feature: Splitting an object into a multi-part volume. 2017-06-15 15:38:15 +02:00
bubnikv
f408f08850 Disabled the new Slic3r version check until we have a server set up
for the Slic3r Prusa Edition.

Hopefully a fix of https://github.com/prusa3d/Slic3r/issues/258
by moving the 2D thumbnail generation to the main thread and
forcing the simple 2D convex hull for even the small objects.
2017-06-12 14:25:35 +02:00
bubnikv
329f0b9cf4 Debugging output and asserts for TriangleMeshSlicer::slice(). 2017-04-05 08:57:37 +02:00
bubnikv
a956186c76 Parallelized TriangleMeshSlicer::make_expolygons 2017-03-08 21:55:38 +01:00
bubnikv
1e6cf0cd98 TriangleMeshSlicer
replaced the vectors of vectors by vectors of indices to a continuous memory,
using binary search to get to an index.
2017-03-08 09:47:32 +01:00
bubnikv
edd7cabf68 Trace TriangleMeshSlicer at loglevel debug (nr. 4) 2017-03-07 22:50:32 +01:00
bubnikv
cb1a6eae1e Added dependencies on the Intel Thread Building Blocks.
Changed the C++ parallelization code to Intel Thread Building Blocks.
2017-03-07 13:03:14 +01:00
bubnikv
d20a9d73d4 Fix for OSX: clang requires the member operator< and == to be const. 2017-03-05 16:34:16 +01:00
bubnikv
1909c75c21 TriangleMeshSlic3r used unordered_map, which was terribly horribly shamelessly
slow on mingw. Rewrote using std::vector<>, which is blazing fast.
2017-03-03 17:36:07 +01:00
bubnikv
4de33effdc Tracing of TriangleMesh repair. 2017-03-03 13:31:51 +01:00