Commit Graph
100 Commits
Author SHA1 Message Date
bubnikv 80490550b5 Optimization of the tool path preview generation algorithm:
1) Replaced linear search with logarithmic search.
2) Templated the travel path generation, replaced 3 functions with one.
2019-08-26 15:52:56 +02:00
bubnikv 66535b41d5 Time optimization of GLCanvas3D::_travel_paths_by_feedrate() 2019-08-26 11:41:25 +02:00
bubnikv 85d9a16563 Fixed a bug, where the GL context was not being activated with _set_current()
as _set_current() tested for visibility of the window on the screen.

Improved memory management by:
1) Allocating small (around 3MB) vertex buffers to be sent to the GPU.
2) Passing the small vertex buffers to the GPU as quickly as possible.

A bit of copy / paste refactoring into common functions.
2019-08-26 11:12:48 +02:00
bubnikv 9cbfe8f5ef Make sure the "avoid crossing perimeters" class is resetted
at the start of G-code export.
2019-08-26 09:55:00 +02:00
bubnikv 972b7d2d6b Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-08-26 09:51:35 +02:00
bubnikv 9abef2241d The ASCII STL import was made more tolerant to non-standard input format,
namely:
1) Whitespaces are allowed at the end of lines
2) A freeform is allowed after "endloop", "endfacet" and "endsolid", if separated
from the keyword by a whitespace. Some ASCII STL exporters likely add their
annotations in there.

Fixes "Error on importing stl" #2813
2019-08-26 09:50:28 +02:00
bubnikv 1096dff0f6 Bumped up the version number to beta2, updated Prusa3D printer profiles. 2019-08-25 09:16:46 +02:00
bubnikv de43f579a9 Refactoring of AvoidCrossingPerimeters::init_external_mp() 2019-08-25 09:01:01 +02:00
bubnikv ceae7b4889 Fix of support generator regression agains 2.1.0-alpha1.
https://github.com/prusa3d/PrusaSlicer/issues/2810
https://github.com/prusa3d/PrusaSlicer/issues/2808
2019-08-25 08:59:47 +02:00
bubnikv c725fd4ed5 Merge remote-tracking branch 'remotes/origin/lm_avoid_crossing_perimeters_parallel' 2019-08-25 08:32:02 +02:00
bubnikv 29a51bc46f Updated bundled Prusa3d profiles
Bumped up the version to 2.1.0-beta, changed the user configs directory
to PrusaSlicer-beta.
2019-08-23 16:15:03 +02:00
bubnikv 04d6cfe8de Merge remote-tracking branch 'remotes/origin/ys_update_settings' 2019-08-23 16:08:24 +02:00
bubnikv a0a82b1d8b Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-08-23 15:53:51 +02:00
bubnikv 6adebb9c78 When synchronizing the front end with the back end after Undo / Redo
jump, postpone error messages, so they are displayed after
the Undo / Redo jump has been fully performed.
Otherwise there would be a message box opening, taking over the message
queue, and possibly performing actions as rendering on an inconsistent
application state.
2019-08-23 15:53:45 +02:00
bubnikv bb6cde789d Fix of a missing parameter. 2019-08-23 13:44:07 +02:00
bubnikv 12cb930634 A little optimizaiton 2019-08-23 13:27:19 +02:00
bubnikv 93c6915e9d Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-08-23 13:26:47 +02:00
bubnikv 007a5301eb Merge remote-tracking branch 'remotes/origin/lm_sla_gizmo_snapshots_supports' 2019-08-23 12:56:47 +02:00
bubnikv 89fb8fd43c Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-08-23 10:03:00 +02:00
bubnikv ac62734033 Fixed time stamps for the configuration snapshots
(local / UTC time functions were mixed up)
2019-08-23 10:02:45 +02:00
bubnikv 911589efe1 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-08-22 20:03:36 +02:00
bubnikv 0de566e2a2 Hopefully a workaround for crashes and hang ups at closing on Windows.
Release the OpenGL contexts not by a destructor of a static class,
but explicitely (predictively).
2019-08-22 20:03:17 +02:00
bubnikv c6604ff55d Merge remote-tracking branch 'remotes/origin/et_toolpaths_export' 2019-08-22 15:02:02 +02:00
bubnikv 9856859bf4 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-08-22 11:48:07 +02:00
bubnikv 0333553389 Windows specific fix of extruder selection and object editing
at the object list: When clicking on a column of an already selected line,
simulate ENTER key to enter the editing mode. This works most of the time,
but not 100% reliably.
solves the arthritis issue #1606
2019-08-22 11:47:58 +02:00
bubnikv 6bc82bc21a Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-08-21 14:52:30 +02:00
bubnikv dc3a0a0ab3 Refactoring of EdgeGrid to accept an segment to segment visitor.
WIP: PolygonTrimmer to trim skirt & brim with polygons stored in EdgeGrid.
2019-08-21 14:52:22 +02:00
bubnikv 668a8cd2ea Fix of an update of support extruders when changing number
of printer extruders.
2019-08-21 14:05:32 +02:00
bubnikv 40d313961e Fixing issues in Print / PrintObject / PrintRegion reporting
a list of printing extruders.
2019-08-21 13:49:37 +02:00
bubnikv ded2019765 Fix of "spiral vase printable for a single region object only" check. 2019-08-21 13:08:26 +02:00
bubnikv 7c0c5705df Fix of Excessive external_perimeter_extrusion_width error #2784
Increased the perimeter_extrusion_width check limit to 3x nozzle diameter.
2019-08-21 09:28:32 +02:00
bubnikv 0fbfbf4bd8 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-08-21 08:51:50 +02:00
bubnikv e403118d7d Fixed a typo in an error message. 2019-08-21 08:50:38 +02:00
bubnikv 775a54846f Fixed compilation of Win32 message boxes on unix systems. 2019-08-20 17:46:19 +02:00
bubnikv ccddcf88be Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-08-20 17:39:39 +02:00
bubnikv c8a78f5d85 Merge remote-tracking branch 'remotes/origin/ys_bf_msw_scale' 2019-08-20 16:53:23 +02:00
bubnikv 88dcb7f366 Checking for OpenGL driver version in the GUI slicer and giving some
reasonable advice to the user in case OpenGL < 2.0 was detected.
2019-08-20 16:38:03 +02:00
bubnikv 2e7d5e5bc1 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-08-20 16:22:37 +02:00
bubnikv fd3fe75d1c Reworked the rename_file() function on Windows to work reliably and
atomically. The code was taken from the llvm project, it is complex
and hopefully it covers all the Windows file system quirks. Vojtech
has highest hopes, that this will fix the various PrusaSlicer.ini
file corruptions.

Enabled the locales switching and error handling on Linux as well,
where now the missing locales are reported and running the locale-gen
tool is recommended.
2019-08-20 16:19:30 +02:00
bubnikv a83da0f72c Merge remote-tracking branch 'remotes/origin/lm_wxmemleaks' 2019-08-20 09:39:43 +02:00
bubnikv 384ee17fcb Merge remote-tracking branch 'remotes/origin/lm_circular_priming' 2019-08-20 09:34:45 +02:00
bubnikv 2870416e4d Merge remote-tracking branch 'remotes/origin/lm_exceptions_rebased' 2019-08-20 09:20:57 +02:00
bubnikv 778e499827 Merge remote-tracking branch 'remotes/origin/lm_wipe_tower_linear_advance' 2019-08-20 09:19:22 +02:00
bubnikv 167de35e22 Merge remote-tracking branch 'remotes/origin/lm_corrupt_config' 2019-08-20 09:12:33 +02:00
bubnikv 4fbee3216b Fix of Zoom by trackpad does not update until click #2750
For an unknown reason, if the scrolling is performed on Windows
with the two finger gesture on touch pad, there is no Idle event
generated on some computers.
The Idle is not generated on Vojtech's laptop, it is generated
on Enrico's laptop.
evt.Skip() solves the issue on Vojtech's laptop.
2019-08-19 19:48:07 +02:00
bubnikv e30a17beb3 Fixed memory issues of BedShapeHintwhen using unions of non-trivial objects 2019-08-19 17:01:39 +02:00
bubnikv 4717cdf2e1 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-08-19 14:34:23 +02:00
bubnikv 7008853f08 Add AppImage credits #2747 2019-08-19 14:34:12 +02:00
bubnikv aa7f98b020 Bumped up version to 2.1.0-alpha1 2019-08-09 13:19:23 +02:00
bubnikv 9b700ef252 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-08-09 09:58:27 +02:00
bubnikv 46fa83adac Only validate support_material_extrusion_width with supports
or raft enabled.
2019-08-09 09:58:05 +02:00
bubnikv 39b07e7b94 Partial revert of 07a3072622
It fixes an issue where the objects out of print bed are shown
in the print path preview in SLA mode.
2019-08-08 18:26:41 +02:00
bubnikv bcfb445d0c Partial revert of f474978db5
to fix Perl driven unit tests.
2019-08-08 15:24:23 +02:00
bubnikv 7e694a8fb8 Workaround for invalid access inside some character classification table
when parsing localized file names by the PlaceholderParser:
UTF8 characters were handled as chars, and the negative char values were
used as indices into 7bit long tables.
2019-08-08 14:21:24 +02:00
bubnikv f474978db5 Clean up the mess required for the legacy Perl bindings, which are now
used for Perl unit / integration tests only. With this commit,
the code will be cleaner, but likely the unit tests will not run
on Windows, if installed in a localized path.
2019-08-08 12:59:55 +02:00
bubnikv 0fb81e6cda Let the alpha build store its profile into PrusaSlicer-alpha directory. 2019-08-08 10:00:11 +02:00
bubnikv 23b2b4c59f Merge remote-tracking branch 'remotes/origin/vb_picking_fix' 2019-08-08 09:50:02 +02:00
bubnikv 8970ee28b2 Fixed linking of the "pad" combo box of the Plater with the respective
pad boolean values of the configuration layer.
2019-08-08 09:48:56 +02:00
bubnikv b7f93292fa FIx of Single test suite failure on two minority architectures #2461 2019-08-08 09:45:42 +02:00
bubnikv 75f36b83d5 Merge remote-tracking branch 'remotes/origin/master' into tm_zero_elev_ui 2019-08-08 08:43:00 +02:00
bubnikv 2e53cf1464 Merge branch 'tm_zero_elev_ui' of https://github.com/Prusa3d/PrusaSlicer into tm_zero_elev_ui 2019-08-08 08:42:50 +02:00
bubnikv ed2ca9ab0b Merge remote-tracking branch 'remotes/origin/ys_printable_property' into vb_picking_fix 2019-08-07 15:44:25 +02:00
bubnikv 841d0796b7 Fix of the SLA gizmo picking. 2019-08-07 15:36:09 +02:00
bubnikv 7cef1292b2 Yet another fix of the preceding commit. 2019-08-07 15:03:43 +02:00
bubnikv a19a506ad8 GLCanvas requires 8bit alpha channel for picking checksums. 2019-08-07 14:55:34 +02:00
bubnikv abd89e4f9a Merge remote-tracking branch 'remotes/origin/master' into vb_picking_fix 2019-08-07 14:31:16 +02:00
bubnikv 83ed1bed16 Merge remote-tracking branch 'remotes/origin/ys_printable_property' into vb_picking_fix 2019-08-07 14:31:00 +02:00
bubnikv 2d7f478dac Finished picking by color with a checksum in the alpha channel
to guard against unwanted alpha blending and / or multi sampling.
2019-08-07 14:15:38 +02:00
bubnikv 2ad3c05a65 WIP: Improvement in the picking robustness: store a checksum
into the alpha channel.
2019-08-07 11:37:38 +02:00
bubnikv a58b1844e0 WIP: Picking fix - disable alpha blending and render with false colors
including the alpha channels, which have their 3 lowest bits set to zero.
In case some blending occurs, the lowest 3 bits will likely be used
to interpolate between the false colors, therefore the 3 lowest bits
may be used to detect alpha blending or multi-sampling.
2019-08-07 11:14:04 +02:00
bubnikv 2f642ffffb ModelInstance::is_printable() takes into account printability
of the parent ModelObject.
2019-08-07 10:18:16 +02:00
bubnikv b7a8e51907 Merge remote-tracking branch 'remotes/origin/master' into ys_printable_property 2019-08-07 08:43:11 +02:00
Vojtech Bubnik 5ee69842d0 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-08-06 19:53:47 +02:00
Vojtech Bubnik d36c64873d Fix of a Linux / GTK specific crash on deleting of Layers from the side panel: wxWidgets / GTK internally delays the EnsureVisible() call to Idle processing. If the item is deleted after EnsureVisible() is planned and before the Idle processed, the Idle processing routine works with deleted data 2019-08-06 19:53:20 +02:00
bubnikv 621a552dc0 Redirect requests for the Prusa web pages with Slovak locale active
to Czech web pages.
2019-08-06 17:27:36 +02:00
bubnikv 4dd9817176 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-08-06 17:10:39 +02:00
bubnikv c7962b5c20 Added missing include 2019-08-06 17:10:03 +02:00
bubnikv 9905f8d349 Fix of the previous commit: zero extrusion width parameter is
always valid, it is replaced with an "auto" value.
2019-08-06 15:36:16 +02:00
bubnikv 74e592ceaa Improved handling of excessive extrusion width values (too small
or too big).
Fixes std: bad_alloc #2715
2019-08-06 15:11:46 +02:00
bubnikv 29d9c65ee2 Missing include (required by clang, not required by msvc) 2019-08-06 11:40:33 +02:00
bubnikv 9197e3feed Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-08-06 11:29:39 +02:00
bubnikv e1ff808f14 Fixed parallelization of texture compression:
Memory synchronization (memory barriers) are introduced using
std::atomic variables.
2019-08-06 11:29:26 +02:00
bubnikv ef0e323d1b Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-08-05 17:49:31 +02:00
bubnikv cf2f16d864 Fixed Model::convert_multipart_object() for STLs (regression from 8e2af5151dcf6f102b65981ff5aa56c2dfda5a2a).
Removed Model::s_auto_extruder_id and related, as it is a Perl interfacing legacy.
Fixed a typo in asserts introduced in the preceding commit.
2019-08-05 17:49:21 +02:00
bubnikv 219521f6ad Wording improvmenet of some error message. 2019-08-05 14:54:29 +02:00
bubnikv c91df2c769 Fixed a typo in print_host variable name 2019-08-05 14:36:50 +02:00
bubnikv 7e1d2daf78 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-08-05 14:30:42 +02:00
bubnikv 731e5abd88 Fixed a regression issue where excessive memory was allocated
for the GLVolumes before sending to the GPU driver. The following commits
were partially reverted:

4269c8b23c Removed GLVolume non-VBO rendering
d15698e21e GLVolume and GLIndexedVertexArray refactored to send data to gpu at the first render call

Namely, the GLVolume buffers are "shrink to size"'d before sending their
content to the OpenGL driver, and the vertex buffers are populated
as quickly as possible from the GLVolume, so that the same buffer is not
kept twice in RAM on systems, where the RAM is shared with the graphics
card.

Also the memory allocation reporting was improved for the GLVolumes.
2019-08-05 14:30:32 +02:00
bubnikv 07250bd781 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-08-01 15:25:40 +02:00
bubnikv 9f393e6b9b Not taking the snapshot with non-empty Redo stack will likely be more confusing than losing the Redo stack.
Let's wait for user feedback.
2019-08-01 15:25:35 +02:00
bubnikv 576643c7ed Bumped up the version to 2.1.0-alpha0.
Updated the bundled profiles to integrate retract overrides
for PET and FLEX materials.
2019-08-01 11:53:22 +02:00
bubnikv 93f86b795d asserts for accessing deleted object list nodes. 2019-07-31 16:36:56 +02:00
bubnikv 1ba9100994 Fix of gizmo deserialization after Undo / Redo: Deselect all gizmos
but the gizmo to be deserialized.
2019-07-31 14:00:43 +02:00
bubnikv ca1c78b3fc Merge remote-tracking branch 'remotes/origin/et_custom_bed' 2019-07-30 16:48:47 +02:00
bubnikv 45b4c87926 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-07-29 17:55:58 +02:00
bubnikv 3d9df02f5f When accessing the localized web pages provided by Prusa Research,
only those language codes are now passed to the Prusa Research
web server, which are currently supported.
For example, there is no web page for "en_UK", the "en_UK" code will be
translated to "en_US".
2019-07-29 17:55:50 +02:00
bubnikv 3b21c64c2e Fix of "Unable to slice in command line mode: Mixing configurations
for FFF and SLA technologies" #2426
2019-07-29 16:19:32 +02:00
bubnikv 08a90b8c1b Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-07-26 13:44:41 +02:00
bubnikv 30d4bfd410 New Undo / Redo stack for the gizmos. The Gizmo specific stack is
entered with Plater::enter_gizmos_stack(), and left with
Plater::enter_gizmos_stack(). Other than that, the 2nd Undo / Redo
stack is transparent to the user of the Plater.

WIP: Currently the Gizmo stack takes a snapshot of the whole scene on
Plater::enter_gizmos_stack(). While it should work, it may be cheaper
to modify the Undo/Redo stack to only take a snapshot of the gizmos
in the Gizmo mode.
2019-07-26 13:44:33 +02:00
bubnikv 17edc289e9 Fixed missing return value. 2019-07-25 17:18:51 +02:00