Commit Graph

294 Commits

Author SHA1 Message Date
bubnikv
ef0d22be30 2D platter rendering fixed on Windows, and the background color fixed
on Linux/GTK.
2016-06-03 15:23:03 +02:00
bubnikv
62b440ff6c Fixes a performance issues on Windows, where the cut is being
refreshed many times for a single move of the Z plane.

Fixes a problem on Windows, where the new wxWidgets always returned
Cancel, even if the window was closed with the "Cut" button.

Improved performance if the live preview is disabled or not needed,
because both top and bottom parts shall be displayed.
2016-06-03 10:35:39 +02:00
bubnikv
ab9e3b718c Support multi sampled anti-aliasing with wxWidgets 3.0.3. 2016-05-27 23:38:45 +02:00
Vojtech Bubnik
d022493297 Merge remote-tracking branch 'upstream/master' 2016-05-03 22:05:31 +02:00
bubnikv
3ba625da22 Revert incorrect checkins. 2016-04-11 17:34:15 +02:00
bubnikv
7da68c91a5 Vojtech likes to use Sublime on Windows to get the wheels rolling. 2016-04-11 17:05:58 +02:00
Alessandro Ranellucci
f006e66549 Refactored calls to Wx::Bitmap->new 2016-04-09 19:10:57 +02:00
Alessandro Ranellucci
412a862677 Fixed dragging in 3D plater having some glitches with multipart objects 2016-03-19 22:31:07 +01:00
Alessandro Ranellucci
f7e97f7e9b Refactor cutting logic, don't slice in 3DScene 2015-12-19 23:15:37 +01:00
Alessandro Ranellucci
025a508de2 Ignore cut result if user didn't click the cut button 2015-12-19 20:41:47 +01:00
Alessandro Ranellucci
70e8db8a0a Minor code cleanup here and there 2015-12-19 20:27:04 +01:00
Alessandro Ranellucci
c73378744f Prevent flickering 2015-12-15 17:10:10 +01:00
Alessandro Ranellucci
7ecfe195f7 Live preview in the cut dialog 2015-12-14 00:15:26 +01:00
Alessandro Ranellucci
c16cdb9d85 Preserve the current layer when refreshing the 3D preview 2015-12-05 23:22:50 +01:00
Alessandro Ranellucci
a8091e41a0 Fix a minor glitch with scrollbars in OverrideSettingsPanel 2015-12-05 23:14:13 +01:00
Alessandro Ranellucci
c65c9d876e Bugfix: zooming in empty layers preview (because of disabled background processing) crashed 2015-07-04 15:26:11 +02:00
Alessandro Ranellucci
e84ead5291 Bugfix: changing range-based layer heigths didn't trigger background processing. #2958 2015-07-04 15:26:04 +02:00
Alessandro Ranellucci
455a1062ef Fix minor rendering glitch in 2D toolpaths preview 2015-06-17 00:34:05 +02:00
Alessandro Ranellucci
42ae8347df Zoom around mouse location in 2D toolpaths preview 2015-05-24 23:29:53 +02:00
Alessandro Ranellucci
c64308a5e7 Render brim and skirt in 3D toolpaths preview. #2649 2015-05-18 00:49:16 +02:00
Alessandro Ranellucci
36ba2eb5d6 Improved zoom/pan for toolpaths preview 2015-05-17 21:29:57 +02:00
Alessandro Ranellucci
80b169aa75 Pan & zoom for toolpaths preview 2015-05-16 00:33:22 +02:00
Alessandro Ranellucci
d998d97754 Bugfix: crash on Windows when deleting the first object part. #2774 2015-05-05 01:12:16 +02:00
Alessandro Ranellucci
901716adc8 Bugfix: the object parts editor is opened in invalid status until user clicks on a tree list item. #2762 2015-03-30 20:27:18 +02:00
Alessandro Ranellucci
3fd182a8f5 Fix object Z alignment after cut + rotate lower part. #2724 2015-03-09 18:37:58 +01:00
Alessandro Ranellucci
25cddfe446 Bugfix: layers view was not resized when inactive. #2608 2015-03-09 15:30:19 +01:00
Alessandro Ranellucci
722e94513c Refactoring: removed the non-idempotent init_extruders() step. Also, infill_extruder was not limited to the available number of extruders when slicing from the plater, and support material extruder was considered also when support material was disabled 2015-03-06 09:56:58 +01:00
Alessandro Ranellucci
69ea88473d Workaround for the Clipper issue causing extra points in grid segments 2015-02-22 17:09:08 +01:00
Alessandro Ranellucci
5021c9605b Revert "Merge pull request #2681 from robstarling/u/robstar/circular-bedshape-drawing-fix2"
This reverts commit 13885a36ec, reversing
changes made to 7198607420.
2015-02-22 15:01:33 +01:00
Rob Starling
6719afadec Bugfix: correctly draw circular beds in the 2D plater
Wx::DrawLine wasn't happy with a polyline, so we pass the sequence of points to Wx::DrawLines
2015-02-21 14:08:52 -08:00
Alessandro Ranellucci
9abcd5816c Little test for mixing objects and toolpaths 2015-01-25 15:36:20 +01:00
Alessandro Ranellucci
43f57ba2cb Optimization: don't reload 3D toolpaths each time the preview tab is selected 2015-01-25 10:59:39 +01:00
Alessandro Ranellucci
38d8b1d268 Update bed shape in 3D preview as well 2015-01-25 00:29:51 +01:00
Alessandro Ranellucci
b782351fd3 Enable arrows in 3D preview and rename preview tabs 2015-01-18 20:55:44 +01:00
Alessandro Ranellucci
428f831886 Scroll 3D preview layers with a slider 2015-01-18 20:48:54 +01:00
Alessandro Ranellucci
f2818ddbe0 Live 3D toolpaths preview. 2015-01-18 19:36:47 +01:00
Alessandro Ranellucci
56853319d1 Restore correct Z alignment after cut 2015-01-14 23:26:28 +01:00
Alessandro Ranellucci
2a7f1a8c19 Only show a single instance in settings and cut dialogs 2015-01-14 23:24:01 +01:00
Alessandro Ranellucci
3ee0fc5b1c Ability to select object parts by clicking in the 3D view in the object editor 2015-01-13 20:55:19 +01:00
Alessandro Ranellucci
d46d5c955b One more refactoring in 3DScene (select group/drag group) 2015-01-13 20:55:19 +01:00
Alessandro Ranellucci
9c8f8f8ded Refactoring: make Slic3r::GUI::3DScene::Base model-independent 2015-01-13 20:55:19 +01:00
Alessandro Ranellucci
fb08588007 Renamed PreviewCanvas to 3DScene 2015-01-09 01:30:04 +01:00
Alessandro Ranellucci
0a62d658d9 Removed ObjectPreviewDialog not used anymore 2015-01-09 01:27:35 +01:00
Alessandro Ranellucci
4c7d9dfef5 Memory optimization in PreviewCanvas: don't keep additional meshes in memory when not needed 2015-01-09 01:18:47 +01:00
Alessandro Ranellucci
2f255620c6 Fix toolpath preview after recent change of semantics of LayerRegion::perimeters 2015-01-08 15:41:17 +01:00
Alessandro Ranellucci
eba19aaba4 Fixed Object part editor because it wasn't updated with the new PreviewCanvas API. #2455 2014-12-28 00:16:15 +01:00
Alessandro Ranellucci
4c3fa999f5 Only draw the slices in toolpath preview for the current selected layer 2014-12-25 19:35:51 +01:00
Alessandro Ranellucci
9dd228df01 Enable the GLU tesselator on MSW if we have a recent OpenGL module 2014-12-24 11:49:27 +01:00
Alessandro Ranellucci
ea40c4d1b0 Fixed rendering of multiple interlaced layers in toolpaths preview 2014-12-24 01:34:35 +01:00
Alessandro Ranellucci
faed500520 Refresh slider when reloading print in toolpath preview canvas 2014-12-22 18:56:16 +01:00
Alessandro Ranellucci
38ecce0ce9 Disable the GLU tesselator on MSW 2014-12-17 14:41:58 +01:00
Alessandro Ranellucci
34a49086e5 Added code for potential antialiasing 2014-12-17 14:28:25 +01:00
Alessandro Ranellucci
fcfb3b98bc 3D object positioning 2014-12-16 01:12:56 +01:00
Alessandro Ranellucci
a34cd24fa1 Overlay object slices in toolpaths preview 2014-12-15 12:42:11 +01:00
Alessandro Ranellucci
74b3be3c06 Refactoring in 3D interactive code. Highlight all copies of an object when hovering 2014-12-14 00:54:35 +01:00
Alessandro Ranellucci
d1f58cbed5 Objects can be selected in 3D preview now. Double click and right click work as well 2014-12-13 20:41:03 +01:00
Alessandro Ranellucci
360dee862b Keep model objects aligned to Z = 0 in plater 2014-12-12 22:43:56 +01:00
Alessandro Ranellucci
baf070a36d Bugfix: workaround for MSW wxWidgets not drawing the slider 2014-12-12 12:34:40 +01:00
Alessandro Ranellucci
04bcb410a9 Minor GUI improvements to toolpaths preview 2014-12-01 00:10:32 +01:00
Alessandro Ranellucci
98c67007d5 Finished bb103122065cddf8f8ea63f5e4fce954142c4d4c 2014-12-01 00:00:12 +01:00
Alessandro Ranellucci
e8f242ee3f Move toolpaths preview to the plater dialog 2014-12-01 00:00:11 +01:00
Alessandro Ranellucci
049859e5b1 Fixed minor regression in plater 2D canvas 2014-11-22 19:42:35 +01:00
Alessandro Ranellucci
875035c09e Minor improvement to plater: select/drag uppermost object when user clicks on overlapping objects 2014-11-13 00:16:41 +01:00
Alessandro Ranellucci
334086d605 Bugfix: skirt and brim were not recalculated when objects where just moved in plater 2014-11-12 23:28:42 +01:00
Alessandro Ranellucci
73b3c06361 Ported more things to XS 2014-09-21 10:51:36 +02:00
Alessandro Ranellucci
380dd8adfc Ported some methods to XS 2014-08-03 18:41:09 +02:00
Alessandro Ranellucci
3e2799a4ee Bugfix: unexpected result when cutting a scaled object 2014-08-03 10:51:01 +02:00
Alessandro Ranellucci
f462af20f9 Visual preview for bed shape dialog 2014-08-03 00:20:55 +02:00
Alessandro Ranellucci
7aaf27c0c7 Put skirt outside brim to avoid conflicts. #2157 2014-07-24 23:43:19 +02:00
Alessandro Ranellucci
86bad17abb Display skirt and brim in toolpaths preview. Also take support material margin into account when sizing the window. #2169 2014-07-24 18:32:07 +02:00
Alessandro Ranellucci
983cf09ee5 Display bed shape in 3D plater 2014-07-15 21:58:03 +02:00
Alessandro Ranellucci
4617188790 Round print center coordinates to integer in 2D plater canvas 2014-07-13 12:36:37 +02:00
Alessandro Ranellucci
da4d6cbabb 3D preview of plater 2014-07-13 12:10:34 +02:00
Alessandro Ranellucci
b8a629f0b6 Select last appended part in object parts panel 2014-07-12 11:46:03 +02:00
Alessandro Ranellucci
aacc01a56f Store object and volume names in the new 'name' property instead of relying on material id 2014-07-12 11:20:57 +02:00
Alessandro Ranellucci
f82a8475a1 Use AMF object and volume metadata for handling per-object and per-volume settings 2014-07-11 20:09:01 +02:00
Alessandro Ranellucci
2ca0d4627a Refresh 2D plater canvas when window is resized (did not update on GTK) 2014-07-04 12:13:39 +02:00
Alessandro Ranellucci
b926079fd5 Enlarge the Z slider in the cut dialog 2014-07-04 12:04:42 +02:00
Alessandro Ranellucci
f0a57a83fd Proper handling of interlaced layers in toolpaths preview 2014-07-04 01:04:07 +02:00
Alessandro Ranellucci
2632b2b30e Include support material in toolpaths preview 2014-07-04 01:04:07 +02:00
Alessandro Ranellucci
16281cc0c3 Fix toolpaths preview when objects have distinct layer heights 2014-07-04 01:04:07 +02:00
Alessandro Ranellucci
907de1011f Toolpaths preview 2014-07-03 09:24:19 +02:00
Alessandro Ranellucci
d9dc2fda00 Fixed regression causing variable layer heights to be ignored. #2136
Conflicts:

	xs/xsp/my.map
2014-07-01 19:49:15 +02:00
Alessandro Ranellucci
710568b989 Initialize controls status when loading cut window 2014-07-01 18:22:19 +02:00
Alessandro Ranellucci
a06fad9e13 Enable/disable GUI controls according to the others in order to guide the user through option dependency 2014-07-01 18:18:23 +02:00
Alessandro Ranellucci
04b67f0cb0 Refactored OptionsGroup class for cleaner OOP model and cleaner event model 2014-07-01 16:42:12 +02:00
Alessandro Ranellucci
b9e8fbacb7 Put the Default Extruder option in a less confusing position 2014-06-19 20:07:16 +02:00
Alessandro Ranellucci
928335f186 Removed print_center option (but left --print-center from CLI) 2014-06-16 23:58:45 +02:00
Alessandro Ranellucci
4d8ecccc5e Add support for circular bed 2014-06-16 23:36:31 +02:00
Alessandro Ranellucci
998a4225de Finished implementation of bed_shape in plater 2014-06-16 15:18:39 +02:00
Alessandro Ranellucci
7a20c4d52a More incomplete work for using bed_shape in plater 2014-06-16 14:05:22 +02:00
Alessandro Ranellucci
87383250de Fix regression in cut 2014-06-14 22:36:49 +02:00
Alessandro Ranellucci
182c5eb809 Show contextual menu when right-clicking on a plater object 2014-06-14 21:36:28 +02:00
Alessandro Ranellucci
ec7bb40da9 Rotation around X and Y axes from plater 2014-06-14 20:52:21 +02:00
Alessandro Ranellucci
3d8c8fa46e Import wxTheApp 2014-06-14 19:59:59 +02:00
Alessandro Ranellucci
ddac2d1570 Merged SkeinPanel into MainFrame 2014-06-14 19:54:18 +02:00
Alessandro Ranellucci
defe0a4279 Move 2D canvas to a distinct class for better isolation 2014-05-28 12:29:43 +02:00
Alessandro Ranellucci
ad99b2a0fd Fixed one more regression introduced with Model refactoring. Includes regression test 2014-05-15 16:37:18 +02:00
Alessandro Ranellucci
baefefc50d One method call not changed after Model refactoring 2014-05-12 22:42:50 +02:00
Y. Sapir
05b2993769 Translate Model class' storage to C++.
Some code copied from xs-model branch.

Also:
* Generate ::Ref classes programatically.
* Add separate __REGISTER_CLASS macro
    (for use where forward declaration won't work, i.e. typedefs)
2014-05-05 16:30:19 +03:00
Alessandro Ranellucci
2a2ba15665 Use a slider for the cutting GUI 2014-04-25 18:36:08 +02:00
Alessandro Ranellucci
8db4913b04 New option for rotating the lower part resulting from the cut so that the flat surface lies on the print bed 2014-04-25 17:50:03 +02:00
Alessandro Ranellucci
4f17c2b7d1 First working implementation of a GUI for cutting 2014-04-25 17:14:39 +02:00
Alessandro Ranellucci
882a98ed44 Initial work for a GUI for the cut feature 2014-04-25 14:54:08 +02:00
Alessandro Ranellucci
45559f87f3 Save the vector used for aligning object volumes to origin and apply it to additional parts added from the object part panel in order to make them coincide 2014-04-02 20:23:26 +02:00
Alessandro Ranellucci
071097d3f1 Fix extruder assignment and tests 2014-03-27 00:01:33 +01:00
Alessandro Ranellucci
fec41d6dfd Update plater and print upon changing object parts and their settings 2014-03-23 16:45:55 +01:00
Alessandro Ranellucci
67ef3f1799 Assign a default extruder for newly added parts too 2014-03-23 15:25:26 +01:00
Alessandro Ranellucci
d75417601e Make the override panel prettier and prevent the default extruder setting from being deleted since it can't be readded manually 2014-03-23 15:18:08 +01:00
Alessandro Ranellucci
bf8c388568 Use a popup menu for part settings 2014-03-23 13:46:05 +01:00
Alessandro Ranellucci
f71ac8cd65 Merge the Object Settings tab into the Parts tab 2014-03-22 17:41:14 +01:00
Alessandro Ranellucci
30aa255bb5 Correctly disable and reset the override settings panel 2014-03-21 22:15:33 +01:00
Alessandro Ranellucci
bf352de224 Replaced icon for modifier meshes and fixed delete button not being disabled when no part was selected 2014-03-21 22:06:47 +01:00
Alessandro Ranellucci
878deb8183 Write material config to AMF files. Remove the old Materials tab. Update custom settings when a part is selected 2014-02-15 00:36:52 +01:00
Alessandro Ranellucci
691db31da0 Some incomplete work for per-region config 2014-02-14 22:26:00 +01:00
Alessandro Ranellucci
2e7b29fbdd Minor layout changes to the Parts editor 2014-02-14 22:25:59 +01:00
Alessandro Ranellucci
bf307371f4 Use a plain list instead of a tree to display object parts 2014-02-14 22:25:59 +01:00
Alessandro Ranellucci
94cb298eec Make OpenGL optional for the new parts dialog. #1731 2014-02-11 01:09:10 +01:00
Alessandro Ranellucci
42519174cd New erase() method for DynamicConfig objects 2014-01-22 21:15:19 +01:00
Alessandro Ranellucci
b5b8fb606f Basic functionality of the Parts tab is complete 2014-01-22 21:15:19 +01:00
Alessandro Ranellucci
7387e60706 More incomplete work 2014-01-22 21:15:19 +01:00
Alessandro Ranellucci
b20caa4e31 Completed parts visualization with highlighting 2014-01-22 21:15:19 +01:00
Alessandro Ranellucci
3f4f27fa5d Some incomplete work for interactive part editor 2014-01-22 21:15:18 +01:00
Alessandro Ranellucci
11f065ca5e New object dialog tab with list of materials and volumes 2014-01-08 19:36:41 +01:00
Alessandro Ranellucci
81663215c5 Adapt plater to the new split config 2014-01-02 22:06:58 +01:00
Alessandro Ranellucci
beb1baa096 Incomplete work for refactoring regions and flows 2013-12-30 18:28:41 +01:00
Alessandro Ranellucci
0e8a0ef1ca Refactoring. Use Model class for representing the plate in GUI 2013-12-12 20:19:33 +01:00
Alessandro Ranellucci
4be1e5702a Free memory after closing the preview and the setting windows 2013-11-12 21:49:34 +01:00
Alessandro Ranellucci
85232bb6fd Fix a minor visualization glitch on Windows 2013-11-12 14:34:03 +01:00
Alessandro Ranellucci
026e0c06e4 Ability to customize how materials are mapped to extruders. #1020 2013-08-25 19:52:32 +02:00
Alessandro Ranellucci
cb0ee9729f A couple fixes for Windows 2013-08-25 18:08:56 +02:00
Alessandro Ranellucci
ae21a45886 Distinct dialogs for 3D preview and object settings 2013-08-25 18:03:26 +02:00
Alessandro Ranellucci
fde6e371a9 Use multiple colors for multimaterial models in 3D preview 2013-08-25 16:35:21 +02:00
Alessandro Ranellucci
3d6fb1b05c New feature: ability to override specific settings for individual objects in the plater. #344 2013-08-25 14:37:50 +02:00
Alessandro Ranellucci
6affa23297 Show repair stats in object info dialog 2013-07-13 20:23:03 +02:00
Alessandro Ranellucci
510c2092df Fix rotation and scaling in plater producing mispositioned objects in G-code after recent changes. Includes a large refactoring and the new Slic3r::Geometry::BoundingBox class. #1171 #1191 2013-06-07 23:16:02 +02:00
Alessandro Ranellucci
5c74fd095b Very basic implementation of 3D preview - install Wx::GLCanvas to get it working 2013-05-17 14:14:33 +02:00
Alessandro Ranellucci
fc1a23f5b0 Quick and dirty OpenGL mockup 2013-05-16 12:09:01 +02:00
Alessandro Ranellucci
6bc5de0b5d Allow custom ranges with layer_height = 0 2013-03-24 15:26:55 +01:00
Alessandro Ranellucci
5c1336d2de Clarify that min Z, max Z and layer height are supposed to be expressed in mm 2013-03-12 10:28:51 +01:00
Alessandro Ranellucci
a5e6340004 Workaround for HideRowLabels() missing in wxWidgets 2.8. #770 2013-03-11 20:00:12 +01:00
Alessandro Ranellucci
f670acb4b1 Slice a single object with multiple layer heights. :-) 2013-03-10 14:58:49 +01:00
Alessandro Ranellucci
d1acc511b3 Refactor ObjectDialog into a tab panel 2013-03-10 12:46:54 +01:00
Alessandro Ranellucci
6a0ba97f0e Move ObjectDialog to a separate file 2013-03-10 12:33:10 +01:00