Commit Graph

34 Commits

Author SHA1 Message Date
tamasmeszaros
bab4611ee7 Future-proof qhull dependency handling 2019-06-05 19:19:49 +02:00
Jason Tibbitts
298ab4df7f Use generic qhull include location
Currently the qhull includes are referenced absolutely, but the compiler
is always called with the src directory in the include path and so it
should be safe to specify a more generic path.
2019-05-22 10:29:54 +02:00
bubnikv
7715725991 Merge branch 'master' into vb_wold_object_manipulation 2019-05-04 20:59:57 +02:00
bubnikv
0871ca2662 Fixed make_cylinder() / make_sphere() functions to produce meshes
without errors.
2019-05-04 14:03:50 +02:00
bubnikv
b0830d062b WIP: Transformation of instances in world coordinate space:
Ulocking the "anisotropic" scaling checkbox will bake the transformation
into meshes to allow for scaling in world axes.

Optimized and templated the stl_transform functions, now also available for 3x3 matrices.
The Canvas3D::reload_scene() now maintains selection even if all volumes of an instance changed their IDs.
2019-04-26 17:28:31 +02:00
Lukas Matena
13ee8c3bd5 TriangleMeshSlicer is now initialized by const-pointer to the mesh, responsibility for calling require_shared_vertices is left to the caller 2019-04-16 09:04:04 +02:00
bubnikv
8ad52f0461 Vojtech's improvements in the SLA preview cutting dialog. 2019-04-11 15:44:32 +02:00
Lukas Matena
579b44c479 The gizmo is now able to triangulate and show the cut, the triangulated cut is cached 2019-04-08 10:31:19 +02:00
Enrico Turri
85a6ac60de Follow-up of 763a91e2ca -> take in account of ModelObject::origin_translation when saving parts and modifiers to stl 2019-04-05 10:08:34 +02:00
bubnikv
380f5fbfa5 Fixed FFF slicing of meshes with left hand oriented transformations applied.
Slight optimization of FFF slicing - optimized copy of an object with just
a single volume.
2019-04-03 11:12:03 +02:00
bubnikv
93798b9a5e Some optimizations of "Fix crash on splitting some models #2042"
replaced std::vector<bool> with std::vector<unsigned char>
as std::vector<bool> is a specialized version optimized for memory,
not speed (8 bools are packed into a single boolean).
The triangle neighbor traversal was optimized to not push visited
or non-neighbors into the queue.
2019-04-01 14:50:40 +02:00
bubnikv
358ea1b1db Revert "Use number_of_parts for is_splittable"
It is too dangerous to rely on the admesh flag without inspecting the
admesh code line by line and a through test.

This reverts commit cd3cec3e45.
2019-04-01 12:27:45 +02:00
Sijmen Schoon
ab03a61901 Use number_of_parts for is_splittable
It's there, why not use it
2019-04-01 12:09:44 +02:00
Sijmen Schoon
7ee4009ef4 Move repaired check to find_unvisited_neighbors 2019-04-01 12:09:44 +02:00
Sijmen Schoon
e16ccd9a3b Fix a bunch of warnings 2019-04-01 12:09:44 +02:00
Sijmen Schoon
99c72bd4af Clean up and fix TriangleMesh::split and relatives 2019-04-01 12:09:44 +02:00
bubnikv
322d2a1fab Reworked the command line interface based on the current state
of the upstream.
Thanks @alexrj, @lordofhyphens for the original code of slic3r.cpp
2019-03-13 15:44:50 +01:00
bubnikv
4faf41fc33 Fixed a regression issue in the triangle mesh slicing code, where
a broken contour was not glued together using the closest neighbors.
2019-03-11 17:18:38 +01:00
bubnikv
c4aa0f7f36 Introduced the "slice_closing_radius" to define, how large gaps
will be closed after triangle mesh slicing.
The value is set to 0.049 by default, which corresponds to the hard
coded default in Slic3r-1.41.3.

See issues #520 #820 #1029 #1364 for the reference of why we need
the parameter for being able to print some specific models.
2019-03-01 17:53:02 +01:00
bubnikv
469d12f9cf Extended tesselation wrapper for other 3d and 2d point types. 2019-02-08 09:26:48 +01:00
bubnikv
44487a1841 Improved stability (fixed crashes) of the Cut by plane function by
replacing the cut triangulation with freeglu tesselator.
Added performance tracing output of the Cut by plane function.
Added wait cursor to split to parts / objects, object cut, save to AMF/3MF.
2019-02-05 20:23:24 +01:00
bubnikv
e5c201f2a3 Performance improvements:
Lazy "Place on face" gizmo update.
Caching of MeshObject::raw_mesh_bounding_box() for the object size display.
ModelObject::bounding_box(), raw_mesh_bounding_box(), full_raw_mesh_bounding_box() will not copy the mesh.
TriangleMesh::transformed_bounding_box(const Transform3d &trafo) will not copy the mesh data.
get_options_for_bundle() will not return reference to temp value
is_splittable() calls cheap mesh.has_multiple_patches()
2019-01-26 18:51:34 +01:00
bubnikv
9341ac5584 Improvements of the triangulation of SLA layer preview. 2019-01-24 19:08:58 +01:00
bubnikv
bd4108cd5c Fixed update on reset of the variable layer height profile.
Fixed update of the layer height profile on PrintObject when changing profiles.
Fixed crash due to the layer height editing refactoring & wipe tower.
2019-01-23 14:00:03 +01:00
bubnikv
c28f44ea1f Fixed assert in mesh slicing code. 2019-01-14 19:39:45 +01:00
bubnikv
0f942b5dc0 Merged some of the late changes on slicing robustness
from the 1.41.2 (stable) to the current 1.42.0-alpha3
This should fix a number of errors reported (#1562, #1592, #1614, #1633)
2019-01-14 11:06:52 +01:00
bubnikv
6506626d69 Set a safety offset on a freshly sliced mesh to 0.0001
to satisfy GH #520, #1029, #1364
This change needs to be tested throughly on a large data set of meshes.
2018-12-12 10:29:42 +01:00
bubnikv
ecf1e57e68 Manual merge of the TriangleMesh.cpp from the stable branch. 2018-12-12 10:02:01 +01:00
bubnikv
1d82cca0d2 WIP: Support of SLA suport & pad GLVolumes, couple of fixes. 2018-11-17 17:23:56 +01:00
Enrico Turri
0e241917ec Use Transform3d in place of Transform3f as parameter of mesh transform functions 2018-11-02 13:47:47 +01:00
bubnikv
31b482c605 WIP: Reconstruction of background processing. 2018-10-23 15:27:31 +02:00
bubnikv
14b0d2d40c Fixed a regression bug in admesh: bad hashing.
Also the hash table size for admesh was made adaptive based on the number
of faces.
2018-09-25 16:05:26 +02:00
bubnikv
8eabbb4428 Rewrote .PRUSA file parser from wxWidgets zip to miniz.
Added tracing for mesh repair.
2018-09-25 14:30:57 +02:00
bubnikv
1260b8deb3 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