Commit Graph

20 Commits

Author SHA1 Message Date
bubnikv
a1c38794fb Refactored admesh to get rid of the error and fp members of stl_file. 2019-06-10 17:17:36 +02:00
bubnikv
8da54139c4 WIP: Admesh - replacement of C memory allocation with std vectors 2019-06-04 22:06:42 +02:00
bubnikv
6526a8fcaf 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
f33e9bf609 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
4a210aeecf Vojtech's improvements in the SLA preview cutting dialog. 2019-04-11 15:44:32 +02:00
Lukas Matena
bbda1896f9 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
a9223aeb5f 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
382326ffc8 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
fbce7b001b 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
d728f4be5e 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
cd3cec3e45 Use number_of_parts for is_splittable
It's there, why not use it
2019-04-01 12:09:44 +02:00
Sijmen Schoon
19dc89bfab Clean up and fix TriangleMesh::split and relatives 2019-04-01 12:09:44 +02:00
bubnikv
18025cc669 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
e3cba0a65a 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
588c07c12a 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
cf8e4fd7b0 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
Lukas Matena
0afe2aec1e First version of SLA support points generation 2018-12-07 14:11:21 +01:00
bubnikv
74ba1eaa16 WIP: Support of SLA suport & pad GLVolumes, couple of fixes. 2018-11-17 17:23:56 +01:00
Enrico Turri
7114b80882 Use Transform3d in place of Transform3f as parameter of mesh transform functions 2018-11-02 13:47:47 +01:00
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