bubnikv
f1965f46dd
Further C++isation of the admesh library & TriangleMesh
...
(copy & move constructors / operators)
2019-06-13 16:33:50 +02:00
bubnikv
c1fed74010
Sharing TriangleMesh objects between the front end (UI) and back end
...
(background processing)
2019-06-11 17:08:47 +02:00
bubnikv
9023e0bcba
admesh refactoring: Use Eigen vec3i for indexed triangles.
2019-06-10 21:14:58 +02:00
bubnikv
c073749ee1
admesh refactoring: separation of the shared vertices / indices
...
into an indexed_triangle_set structure
2019-06-10 18:30:54 +02:00
bubnikv
068263a62d
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
bubnikv
362c229a5c
Refactored admesh to get rid of the error and fp members of stl_file.
2019-06-10 17:17:36 +02:00
bubnikv
e934e5550a
Fix of the previous refactoring.
2019-06-10 11:04:09 +02:00
bubnikv
bbcb22248d
Merge remote-tracking branch 'remotes/origin/master' into vb_admesh_fix
2019-06-06 21:01:19 +02:00
tamasmeszaros
bab4611ee7
Future-proof qhull dependency handling
2019-06-05 19:19:49 +02:00
bubnikv
0e26eb0aeb
WIP: Admesh - replacement of C memory allocation with std vectors
2019-06-04 22:06:42 +02:00
bubnikv
3ebd5d94f6
Fix of mesh decimation (the admesh library).
...
Fixes "Unable to save project (#2445 )"
2019-06-04 18:25:53 +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