Commit Graph

214 Commits

Author SHA1 Message Date
3bae5db6ef Fix for compilation on clang: Forward declarations of templates. 2019-07-18 12:07:50 +02:00
dcb1875e40 Undo / Redo memory conservation strategy: Release recoverable data
starting from the objects of lowest ObjectID.
(convex hulls are recoverable as well as the indexed triangle sets
inside the TriangleMeshes or the triangle connectivity information).

Now the top most snapshot (the temp one taken before Undo jump) will
never be released.
2019-07-18 11:51:06 +02:00
af93cc0e20 Fixes after merge with master. 2019-07-17 18:10:08 +02:00
d55dbf437c Merge branch 'master' into tm_arrange_selection 2019-07-17 17:25:31 +02:00
3eeb453e9a Solved issue with virtual bed management.
libnest2d: Fix for unclosed polygons after merge.
2019-07-17 13:32:31 +02:00
b3217c191d Priority for wipe tower, Increased safety distance from bed edges.
* WipeTowerInfo class extended in plater (WipeTower) instead of GLCanvas3D
* Bed origin support in ModelInstance and WipeTower
2019-07-16 18:33:42 +02:00
b68d5950ac Arrange cache in ModeInstance and logical bed remembered. 2019-07-15 17:30:44 +02:00
9539a4860c Not handling logical beds in arrange() 2019-07-12 21:17:11 +02:00
445cd20919 Undo / Redo fixes 2019-07-05 19:06:19 +02:00
8953e0980c Fixed merge issues. 2019-07-04 20:49:46 +02:00
d98aa0f91d Merge remote-tracking branch 'origin/master' into vb_undo_redo 2019-07-04 20:22:15 +02:00
0f682282bf Update object list after undo/redo 2019-07-04 19:46:46 +02:00
2bde3e12f2 WIP Undo / Redo: First Undo in the history of PrusaSlicer! 2019-07-04 10:45:41 +02:00
b475a174d7 WIP still with arrange return value. 2019-07-03 19:24:41 +02:00
07e2066dd3 WIP Undo / Redo: Serializing the configs of ModelObject / ModelVolume
/ ModelMaterial as separate objects to conserve memory.
2019-07-03 13:43:54 +02:00
1ba1fd2b97 WIP UndoRedo: Added Undo/Redo stack, added Platter::take_snapshot(),
experimental snapshots on loading STLs and increasing / decreasing
model instances.
2019-07-02 16:42:23 +02:00
a5f5840c1b Still WIP 2019-07-01 18:22:07 +02:00
00beee9dee Arranging with new structure. 2019-06-28 17:03:50 +02:00
373d266a0d WIP on structuring arrange inputs 2019-06-27 21:13:44 +02:00
7a614088ae WIP Undo / Redo: ModelID / ModelBase renamed to ObjectID / ObjectBase 2019-06-27 11:02:45 +02:00
3d84bd20a3 WIP Undo / Redo: Serialization of the Model / ModelObject / Model instance
using the cereal framework.
2019-06-26 16:29:12 +02:00
be350a00f0 Reworked the Perl unit / integration tests to use the same Print
interface that the application is using. Old interface used just
for the integration tests was removed.
2019-06-20 20:23:05 +02:00
436b9c40fe Integrated the new layer height spans with configs into the backend.
Fixed some compiler warnings.
2019-06-20 16:15:09 +02:00
0f1b49381b Merge remote-tracking branch 'remotes/origin/ys_new_features' 2019-06-18 10:01:29 +02:00
c1fed74010 Sharing TriangleMesh objects between the front end (UI) and back end
(background processing)
2019-06-11 17:08:47 +02:00
d8d99eda9d Changed data types 2019-06-03 15:35:21 +02:00
91fd56429c Tech ENABLE_VOLUMES_CENTERING_FIXES set as default 2019-05-21 09:42:59 +02:00
09673970f7 Merge remote-tracking branch 'remotes/origin/master' into vb_wold_object_manipulation 2019-05-03 19:13:47 +02:00
22f170e29e ObjectList improvements: Added warning icon for Parts with a repaired errors 2019-04-29 15:27:59 +02:00
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
59fda680e9 Refactoring: get_mesh_errors_count() moved to ModelObject
+ added get_object_stl_stats() to ModelObject
2019-04-24 16:04:47 +02:00
4313f0dd6c Fix of Complete individual objects: "checker" bug #1911"
Also fix of an arrangement issue for instances with some transformation
around X or Y axis applied.
2019-04-18 12:45:43 +02:00
d8a22aa2d9 Fix of "Variable layer height feature breaks after rotating part #2073"
There was an approximate bounding box used at the GUI, while a snug
bounding box was used at the back end, causing invalidation
of the variable layer height editing profile on rotated objects.

A snug bounding box around the first instance is now cached.
2019-04-13 14:15:54 +02:00
3ecd0dd48d Use current selection to determine proposed filename when exporting to stl files 2019-04-04 14:00:31 +02:00
f6087171b9 Fix of the previous commmit. 2019-04-02 13:54:23 +02:00
99f0207578 Handling of left hand oriented coordinate systems:
is_left_handed() method on transformations and volumes
rendering of GLVolumes in left handed coordinate systems by glFrontFace(GL_CW);
SLA slicing on left hand oriented instances by flipping the mesh for SLAPrintObject in X.
rendering of the SLA cutting plane in left handed systems
resetting the SLA clipping planes on 3D preview invalidation
2019-04-02 13:47:49 +02:00
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
ab03a61901 Use number_of_parts for is_splittable
It's there, why not use it
2019-04-01 12:09:44 +02:00
07686d8df9 Do not consider modifiers when centering an object after 3mf and amf import 2019-03-22 09:47:40 +01:00
fed65f0dc0 Merge branch 'master' of https://github.com/prusa3d/Slic3r 2019-03-13 15:45:01 +01:00
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
ede4a79088 Update of ModelVolume::m_is_splittable moved inside ModelVolume itself 2019-03-13 14:04:59 +01:00
8db9edf185 SLA gizmo keeps track of current status of the points, enables the user to erase all points 2019-02-27 16:23:10 +01:00
ab968364e5 Renamed the "lambda-" prefix for the generic modifiers to "Generic-"
Refactored ModelVolume::Type to enum class ModelVolumeType to be able
to forward declare it.

Refactored UI to use the ModelVolumeType instead of the untyped int.
2019-02-22 12:12:10 +01:00
4654c1d2ed Merge fixes 2019-02-20 15:54:12 +01:00
fe15fed998 Merge branch 'master' into lm_sla_supports_auto2 2019-02-04 08:41:00 +01:00
8d555e7c31 Model fixing through Netfabb service (Windows only):
Model volumes are now fixed one by one, instances & parameters are maintained,
it is now possible to fix just a single volume of a multi-part object.
2019-02-03 22:14:34 +01:00
cc06b9f06b Fixed an issue, where the output G-code file name was not always updated
from the current Model/ModelObjects.
Fixed a possible race condition in updating Print::m_placeholder_parser
with the proposed filename / filename base.
Improved documentation (source code comments).
2019-02-03 10:41:14 +01:00
5f3f6e8fe6 More SLA support points improvements
- unselected objects are hidden when SLA gizmo is active
- support volumes are hidden when editing mode is active
- 3mf support points format versioning
2019-02-01 23:09:02 +01:00
5f0454e153 SLA support points improvements
- semi-intelligent algorithm to place support points
- enhanced ImGui dialog with editing/non-editing mode
- support points can have different head diameter (only implemented in GUI so far)
- autogenerated points supporting emerging islands are annotated and the info is kept
2019-02-01 07:13:08 +01:00