Commit graph

80 commits

Author SHA1 Message Date
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
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
bubnikv
4d00aa1800 More tracing of the slicing process. 2017-03-03 12:53:05 +01:00
bubnikv
1b89c08bfc TriangleMesh.cpp/h:
New methods: has_multiple_patches(), number_of_patches()
Improved constness of file access methods.
Reduced some memory allocations costs.
Fixed some crashes of the cut() method on invalid meshes, Slic3r crashes on the unstable triangulation now.
Documented.
2017-02-26 22:17:39 +01:00
Joseph Lenox
c575a1f1d6 Added make_sphere, generates a mesh with specified step angle and raidus rho. 2017-02-21 16:29:09 +01:00
Joseph Lenox
f44df28a96 Fixed mesh generation to generate cylinders. 2017-02-21 16:10:54 +01:00
Joseph Lenox
b91b98b21e Added prototype make_cylinder() 2017-02-21 16:10:38 +01:00