9379fedd43
Further C++isation of the admesh library & TriangleMesh
...
(copy & move constructors / operators)
2019-06-13 16:33:50 +02:00
0bb8ee149e
Sharing TriangleMesh objects between the front end (UI) and back end
...
(background processing)
2019-06-11 17:08:47 +02:00
af5017c46c
admesh refactoring: Use Eigen vec3i for indexed triangles.
2019-06-10 21:14:58 +02:00
6defabea53
admesh refactoring: separation of the shared vertices / indices
...
into an indexed_triangle_set structure
2019-06-10 18:30:54 +02:00
65238a89b1
admesh refactoring: Removed the shared_vertices counter as it is now
...
contained inside v_shared std::vector
2019-06-10 17:36:15 +02:00
a1c38794fb
Refactored admesh to get rid of the error and fp members of stl_file.
2019-06-10 17:17:36 +02:00
025f86ca3f
Fix of the previous refactoring.
2019-06-10 11:04:09 +02:00
7dd842b294
Merge remote-tracking branch 'remotes/origin/master' into vb_admesh_fix
2019-06-06 21:01:19 +02:00
6136fe7d92
Future-proof qhull dependency handling
2019-06-05 19:19:49 +02:00
8da54139c4
WIP: Admesh - replacement of C memory allocation with std vectors
2019-06-04 22:06:42 +02:00
3ab886b747
Fix of mesh decimation (the admesh library).
...
Fixes "Unable to save project (#2445 )"
2019-06-04 18:25:53 +02:00
ef028cd8b1
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
31e724abac
Merge branch 'master' into vb_wold_object_manipulation
2019-05-04 20:59:57 +02:00
e515ef4fbe
Fixed make_cylinder() / make_sphere() functions to produce meshes
...
without errors.
2019-05-04 14:03:50 +02:00
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
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
4a210aeecf
Vojtech's improvements in the SLA preview cutting dialog.
2019-04-11 15:44:32 +02:00
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
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
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
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
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
cd3cec3e45
Use number_of_parts for is_splittable
...
It's there, why not use it
2019-04-01 12:09:44 +02:00
4a9e05194c
Move repaired check to find_unvisited_neighbors
2019-04-01 12:09:44 +02:00
69199215b0
Fix a bunch of warnings
2019-04-01 12:09:44 +02:00
19dc89bfab
Clean up and fix TriangleMesh::split and relatives
2019-04-01 12:09:44 +02:00
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
c482933845
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
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
d0553ece0e
Extended tesselation wrapper for other 3d and 2d point types.
2019-02-08 09:26:48 +01:00
8982664551
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
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
49487c16e6
Improvements of the triangulation of SLA layer preview.
2019-01-24 19:08:58 +01:00
0af11c51e3
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
befccb0734
Fixed assert in mesh slicing code.
2019-01-14 19:39:45 +01:00
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
2b9f52c33c
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
5ea8df0ca0
Manual merge of the TriangleMesh.cpp from the stable branch.
2018-12-12 10:02:01 +01:00
74ba1eaa16
WIP: Support of SLA suport & pad GLVolumes, couple of fixes.
2018-11-17 17:23:56 +01:00
7114b80882
Use Transform3d in place of Transform3f as parameter of mesh transform functions
2018-11-02 13:47:47 +01:00
bded28f888
WIP: Reconstruction of background processing.
2018-10-23 15:27:31 +02:00
47b2d363f0
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
8945763221
Rewrote .PRUSA file parser from wxWidgets zip to miniz.
...
Added tracing for mesh repair.
2018-09-25 14:30:57 +02:00
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