Commit graph

713 commits

Author SHA1 Message Date
Filip Sykala
faa63f3182 Merge branch 'master' into fs_emboss
# Conflicts:
#	src/libslic3r/Format/3mf.cpp
2022-02-10 14:04:02 +01:00
Filip Sykala
a50d93cd66 Merge branch 'master' into fs_emboss
# Conflicts:
#	src/libslic3r/Geometry.cpp
#	src/slic3r/GUI/Gizmos/GLGizmoBase.cpp
#	src/slic3r/GUI/Gizmos/GLGizmoMove.cpp
#	src/slic3r/GUI/Gizmos/GLGizmoMove.hpp
#	src/slic3r/GUI/Gizmos/GLGizmoRotate.cpp
#	src/slic3r/GUI/Gizmos/GLGizmoRotate.hpp
#	src/slic3r/GUI/Gizmos/GLGizmoScale.cpp
#	src/slic3r/GUI/Gizmos/GLGizmoScale.hpp
#	src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp
#	src/slic3r/GUI/ImGuiWrapper.cpp
#	src/slic3r/GUI/ImGuiWrapper.hpp
#	src/slic3r/GUI/Selection.cpp
#	tests/slic3rutils/slic3r_jobs_tests.cpp
2022-02-02 15:27:25 +01:00
enricoturri1966
7d87490777 Tech ENABLE_RELOAD_FROM_DISK_REWORK - A bunch of bug fixes in Reload from disk command:
1) Lost orientation after reload from disk (SPE-1182)

2) Wrong objects replacement from reload from disk command (SPE-1183)

3) Reload from disk not disabled for built-in models (SPE-1184)
2022-02-02 14:25:36 +01:00
Lukáš Hejl
c2258dead7 Fixed destructors of DiffViewCtrl and ObjectList after 8342b7f95b and 0726b46da2. 2022-01-31 14:36:06 +01:00
Filip Sykala
53ee0092b0 Create emboss object on cursor position 2022-01-28 18:00:10 +01:00
Lukáš Hejl
0726b46da2 Added deallocation of ObjectList::m_objects_model into the ObjectList destructor. 2022-01-28 14:43:10 +01:00
enricoturri1966
2cebe16663 Tech ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL - Removal of wipe tower magic object_id equal to 1000 2022-01-17 15:56:58 +01:00
YuSanka
1955baa14b GUI_ObjectList: Get list of the loaded files before a taking of Undo/Redo snapshot
+ Fixed localization for the "Post processing" description line
2021-12-17 12:49:55 +01:00
enricoturri1966
818a92497a Fixed call to take_snapshot() in ObjectList::load_subobject() 2021-12-16 12:03:11 +01:00
Filip Sykala
88523bceb6 Merge branch 'master' into fs_emboss 2021-12-13 10:52:04 +01:00
YuSanka
080e80a4d6 Localization: Next improvements: CS, IT, ES, DE, ES, FR 2021-12-10 17:28:36 +01:00
YuSanka
14749d3c73 Code refactoring for ObjectList::get_selection_indexes().
Assert is changed to check if selection isn't empty.
Elsewhere processing of the empty selection can causes a crash.
2021-12-10 17:10:09 +01:00
enricoturri1966
8df5202e74 - Fixes in reload from disk command 2021-12-10 14:36:28 +01:00
Vojtech Bubnik
bfce4f6901 Follow-up to 3622f06bed
Work around 3D scene focus after de-activation of the main
window without having to resort to CallAfter(), which breaks
on Linux with some window managers that follow mouser cursor.
Fixes   

3622f06bed was not a correct solution,
it broke focus for non-modal windows.
Fixes 

The actual issue seems to be caused by wxProgressDialog not playing
well with modal dialogs closed just before wxProgressDialog opens.
If wxProgressDialog parent was not a main frame, keyboard focus
was not restored correctly after the wxProgressDialog closed.
2021-12-05 09:09:34 +01:00
Filip Sykala
8699d04dc9 Merge branch 'et_world_coordinates' into emboss_local
# Conflicts:
#	src/slic3r/GUI/Plater.cpp
2021-12-02 13:05:43 +01:00
Filip Sykala
d698df2c31 Merge branch 'master' into fs_emboss
# Conflicts:
#	src/slic3r/GUI/GUI_App.cpp
#	tests/libslic3r/test_indexed_triangle_set.cpp
2021-12-01 14:35:42 +01:00
enricoturri1966
ad72e29612 Fixed conflicts after merge with master 2021-11-30 13:58:06 +01:00
Filip Sykala
43d200a7fb Using of Re run Job 2021-11-23 22:21:14 +01:00
YuSanka
7828964f8c Fix for - Filename containing chars not usable on FAT result in error and crash in gcode export 2021-11-23 13:53:58 +01:00
Filip Sykala
eba68f9a9e Merge branch 'master' into fs_emboss
# Conflicts:
#	src/slic3r/GUI/GUI_ObjectList.cpp
#	src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp
#	src/slic3r/GUI/ImGuiWrapper.hpp
2021-11-23 09:09:09 +01:00
YuSanka
1b7975639e Follow-up 172b97cc2a - Show context menu only on right mouse click 2021-11-21 18:15:59 +01:00
YuSanka
172b97cc2a Fix for - Feature Request: Right-click object table name-field should bring up context-menu - same as in 3D Editor View
+ removed unused code
2021-11-19 10:24:02 +01:00
Vojtech Bubnik
cc44089440 New BuildVolume class was created, which detects build volume type (rectangular,
circular, convex, concave) and performs efficient collision detection agains these build
volumes. As of now, collision detection is performed against a convex
hull of a concave build volume for efficency.

GCodeProcessor::Result renamed out of GCodeProcessor to GCodeProcessorResult,
so it could be forward declared.

Plater newly exports BuildVolume, not Bed3D. Bed3D is a rendering class,
while BuildVolume is a purely geometric class.

Reduced usage of global wxGetApp, the Bed3D is passed as a parameter
to View3D/Preview/GLCanvas.

Convex hull code was extracted from Geometry.cpp/hpp to Geometry/ConvexHulll.cpp,hpp.
New test inside_convex_polygon().
New efficent point inside polygon test: Decompose convex hull
to bottom / top parts and use the decomposition to detect point inside
a convex polygon in O(log n). decompose_convex_polygon_top_bottom(),
inside_convex_polygon().

New Circle constructing functions: circle_ransac() and circle_taubin_newton().

New polygon_is_convex() test with unit tests.
2021-11-16 10:15:51 +01:00
enricoturri1966
0a238adbab Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_world_coordinates 2021-11-15 09:36:09 +01:00
YuSanka
a6863961f7 Localization + new POT
+ added hyperlinks for Ironing parameters
2021-11-15 08:32:40 +01:00
YuSanka
8bfa132a1b Localization fixes + new POT 2021-11-12 09:21:41 +01:00
enricoturri1966
ecaa16ea06 Fixed conflicts after merge with master 2021-11-09 16:01:04 +01:00
enricoturri1966
5190a1f425 - Fixed cut of merged object 2021-11-08 12:56:38 +01:00
enricoturri1966
41fc0be32a Tech ENABLE_INSTANCE_COORDINATES_FOR_VOLUMES - 1st installment: introduction of instance reference system in part manipulation 2021-11-03 14:50:30 +01:00
enricoturri1966
9885df5530 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_world_coordinates 2021-11-03 12:03:23 +01:00
YuSanka
23ab9fb181 MSW DarkMode: Set mode colors for "Change volume type" dialog. 2021-10-29 08:46:29 +02:00
enricoturri1966
d288cbfde5 Tech ENABLE_WORLD_COORDINATE - Fixed visualization of sidebar hints when editing values in Object manipulation fields while using an MMU printer 2021-10-27 13:29:50 +02:00
Filip Sykala
ae5f594e1e Merge branch 'master' into fs_emboss 2021-10-21 19:43:05 +02:00
YuSanka
44b8e09e4e ObjectList: Allow to add the TextVolume as a lonely child to the object 2021-10-21 17:38:01 +02:00
YuSanka
176df52f64 ObjectList: Added different icons for text volumes 2021-10-21 13:51:56 +02:00
YuSanka
1627e30aaf Implemented menu for Text Volume 2021-10-21 10:27:39 +02:00
tamasmeszaros
5f19539df5 Obvious fixes to stupid warnings 2021-10-21 09:55:12 +02:00
YuSanka
c921d6f936 ObjectList: Fixed positioning of the object's part/modifiers when it's added
Use load_modifier() for everything without a respect to the type
2021-10-08 12:14:49 +02:00
YuSanka
fb3ed367ad Try to fix a focus for Application after closing of the "fix thought NetFab" ProgressBarDialog 2021-10-07 11:53:19 +02:00
YuSanka
7340488aaf ObjectList: Fixes
* Fixed update of a warning icon for multi-part object, when some part with errors was deleted
 * Fixed a crash when selecting non-Object and non-Volume item (in get_mesh_errors_info() was missed check of the obj_idx)

+ Follow-up 1cc7b4ba97 - some code refactoring:
  * fixed RepairedMeshErrors.merge()
  * get_mesh_errors_count() renamed to get_repaired_errors_count()
2021-10-06 17:24:40 +02:00
David Kocik
d5d106fe61 Netfabb finished notification, fix of 2021-10-06 13:07:38 +02:00
YuSanka
1cc7b4ba97 Save/Load repaired errors from/to a mesh statistics to/from a 3MF 2021-10-06 10:57:28 +02:00
YuSanka
47b54d5ce0 ObjectList: Fixed mouse click on the WarningIcon, when mesh wasn't repaired and isn't manifold. 2021-10-06 10:12:21 +02:00
YuSanka
3e07d2e853 Changed conditions for the warning icon.
If mesh isn't manifold then always show the red "exclamation" icon
It mesh is manifold but was repaired then show the gray/white "exclamation" icon
2021-10-05 13:21:38 +02:00
Vojtech Bubnik
e533d237f9 Manifold mesh may contain self-intersections, so we want to always allow fixing the mesh.
This is a fix of a regression wrt. https://github.com/prusa3d/PrusaSlicer/releases/tag/version_2.4.0-alpha2
2021-10-04 10:39:58 +02:00
Vojtech Bubnik
8f4f02f84c Merge remote-tracking branch 'remotes/origin/vb_project_state' 2021-09-27 14:36:22 +02:00
Vojtech Bubnik
41dc265a45 WIP Undo / Redo and project state: Marking Undo / Redo snapshots
with their purpose.
2021-09-27 14:10:53 +02:00
Oleksandra Yushchenko
8f064dd155
Check unsaved changes ()
* Check Unsaved changes (partially related to )
 + Allow create new project when Plater is empty, but some of presets are modified (related to )
 + When creating new project allow Keep or Discard modification from previous project
 + Added check of changes:
    * before any load project (including DnD and "Load From Recent Projects")
    * before preset updater
    * when configuration is changing from the ConfigWizard
 + Dialog caption is added for each check

 + Create/Destroy ConfigWizard every time when it's called

* Check Unsaved changes: Next Improvements
 + For dialog "Save project changes" added a reason of saving and name of the current project (or "Untitled")
 + UnsavedChangesDialog: Headers are extended to better explain the reason
 + Preferences: Fixed tooltiops for "Always ask for unsaved changes when..."
 + Suppress "Remember my choice" checkbox for actions which are not frequently used

* Fixed behavior of the application when try to save changed project but "Cancel" button is selected in "Save file as..." dialog

* Check unsaved changes: Improvements for Config Wizard - Check all cases when presets should be updated
 + Fixed info line for Materials pages. Text of the info relates to the printer technology now

* Improved suggested name for a project when Application is closing

* Fixed Linux/OSX build warnings
2021-09-22 12:44:13 +02:00
YuSanka
238e65e455 Improvements for statistics information:
+ Show 2 groups of errors: "Auto-repared" and "Remaning".
 + Use different icons for volumes with/without remaining errors
 + Fixed update of the ObjectList warnings icons after switch the color mode of a PrusaSlicer
 + Some code refactoring: Use same code for tooltips for "exclamation"-icon from an ObjectList and from a Sidebar->ObjectInfo
2021-09-21 17:20:12 +02:00
Vojtech Bubnik
8a2a9dba2f Eradicated admesh from TriangleMesh:
TriangleMesh newly only holds indexed_triangle_set and
TriangleMeshStats. TriangleMeshStats contains an excerpt of stl_stats.
TriangleMeshStats are updated when initializing with indexed_triangle_set.

Admesh triangle mesh fixing is newly only used when loading an STL.
AMF / 3MF / OBJ file formats are already indexed triangle sets, thus
they are no more converted to admesh stl_file format, nor fixed
through admesh repair machinery. When importing AMF / 3MF / OBJ files,
volume is calculated and if negative, all faces are flipped. Also
a bounding box and number of open edges is calculated.

Implemented its_number_of_patches(), its_num_open_edges()
Optimized its_split(), its_is_splittable() using a visitor pattern.

Reworked QHull integration into TriangleMesh:
    1) Face normals were not right.
    2) Indexed triangle set is newly emitted instead of duplicating
       vertices for each face.

Fixed cut_mesh(): Orient the triangulated faces correctly.
2021-09-20 17:12:22 +02:00