274 Commits

Author SHA1 Message Date
YuSanka
473c8a26a4 Suppress to switch to SLA-technology printer, if an object has a modifier(s)
+ WIP: ptSLA : Hide modifiers on 3DScene.
Waiting for @enricoturri1966 review/reworking
2022-12-15 11:46:05 +01:00
enricoturri1966
6f18f8f784 Tech ENABLE_RAYCAST_PICKING set as default 2022-12-05 10:24:30 +01:00
YuSanka
ba8b81b27e Cut: Extension for delete parts from cut objects.
When try to delete something from the cut object, than not just inform the users about an impossibility of this action,
but allow them to invalidate a cut information or delete all connectors from related objects, but leave the cut info.
2022-12-01 11:10:41 +01:00
Filip Sykala - NTB T15p
58592593af Add new volume as cut surface by definition in style 2022-11-21 10:15:20 +01:00
YuSanka
1c061dc7a1 After merge fixes 2022-10-27 14:23:50 +02:00
YuSanka
fbcdd4191b Merge remote-tracking branch 'PRIVATE/master' into ys_emboss_with_master 2022-10-27 13:09:55 +02:00
YuSanka
64c57faf8f Cut Improvements: Fixed Undo/Redo for cut performance
+ ObjectList: Fixed items update after Invalidate cut information
+ CutGizmo: Fixed wrong mode selection after delete object and that add new
2022-10-17 12:15:10 +02:00
YuSanka
74a32e3261 Cut: Bug fixing and Improvements
* CutGizmo: Fixed a label scale
* Fixed deselection of selected connectors, when moving the camera
* Implemented update of the settings for selected connectors
* Connector selection: Ctrl shortcut is changed to Shift to compatibility of the selection/deselection with rectangle selection
2022-10-07 11:14:13 +02:00
YuSanka
d1c871758b Cut WIP:
* ObjectDataViewModel: Respect to the volume id, when adding the new volume to the object
* 3mf : Save/Load info about connectors
2022-09-29 14:36:47 +02:00
YuSanka
0201a5055a Cut WIP:
* Suppress to split cut objects
* ObjectList:
  * Use another icons to mark the cut objects and connectors 
  * For the cut object show parts, which are not connectors
* Set different colors for the Plugs and Dowels
* CutGizmo:
  * Invalidate CutGizmo after changes in ObjectList or perform a cut
  * CupPlane in Connectors mode: Unselect selection, when click on empty space
  * Connectors mode: Fixed performance issue
2022-09-27 16:17:09 +02:00
YuSanka
e689be65db Code cleaning 2022-09-27 09:10:09 +02:00
YuSanka
66e2c3b30a Cut WIP: Send to the cut() whole cut_matrix instead of cut_plane_pos and rotation angles
+ Fixed units inside input window
+ NotificationManager: Added info line for loaded object with cut parts
+ Next Code refactoring
2022-09-27 08:22:20 +02:00
Filip Sykala - NTB T15p
c549c6afbe Merge branch 'master' into fs_emboss
# Conflicts:
#	src/libslic3r/CMakeLists.txt
#	src/libslic3r/Format/3mf.cpp
#	src/libslic3r/Model.hpp
#	src/libslic3r/Point.hpp
#	src/libslic3r/Technologies.hpp
#	src/slic3r/CMakeLists.txt
#	src/slic3r/GUI/GLCanvas3D.cpp
#	src/slic3r/GUI/GLSelectionRectangle.cpp
#	src/slic3r/GUI/GUI_Factories.hpp
#	src/slic3r/GUI/Gizmos/GLGizmoBase.cpp
#	src/slic3r/GUI/Gizmos/GLGizmoBase.hpp
#	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/MeshUtils.cpp
#	src/slic3r/GUI/MeshUtils.hpp
#	src/slic3r/GUI/ObjectDataViewModel.cpp
#	src/slic3r/GUI/ObjectDataViewModel.hpp
#	src/slic3r/GUI/Selection.cpp
2022-08-31 15:22:10 +02:00
YuSanka
cf144da4fe Cut WIP: Import/Export cut information to/from .3mf file
+ Fixed a crash during change object selection, when CutGizmo is On
+ Fixed Undo/Redo (was accidentally broken with 7912613dc8e11db2ddea8018ce16b26a01756a3b)
2022-08-22 10:09:32 +02:00
YuSanka
2ac3861b2a Merge remote-tracking branch 'PRIVATE/master' into ys_cut 2022-08-08 10:57:38 +02:00
YuSanka
05c22604fb Cut WIP: Suppress use connectors for SLA mode 2022-07-27 15:21:37 +02:00
YuSanka
e990254d52 Cut WIP: set attributes for each connector separately.
+ Allow select/deselect several connectors and apply size/depth for selected group of connectors
2022-07-27 11:32:38 +02:00
YuSanka
0fd29dfec7 Cut WIP: Suppress un-universal scaling for cut objects
Added editing of the tolerance
2022-07-22 16:38:28 +02:00
Filip Sykala - NTB T15p
79a7f588b9 Merge branch 'et_world_coordinates' into fs_emboss
# Conflicts:
#	src/libslic3r/CMakeLists.txt
#	src/libslic3r/Format/3mf.cpp
#	src/libslic3r/Model.hpp
#	src/libslic3r/Technologies.hpp
#	src/slic3r/GUI/GLCanvas3D.cpp
#	src/slic3r/GUI/GUI_App.cpp
#	src/slic3r/GUI/Gizmos/GLGizmoBase.cpp
#	src/slic3r/GUI/Gizmos/GLGizmoBase.hpp
#	src/slic3r/GUI/Gizmos/GLGizmoRotate.cpp
#	src/slic3r/GUI/Selection.cpp
#	src/slic3r/GUI/Selection.hpp
2022-07-20 13:02:07 +02:00
YuSanka
cd8e0d002b Cut WIP: Added "Place o cut" 2022-07-19 16:58:27 +02:00
Filip Sykala - NTB T15p
f93cefb668 add getter on mesh shared ptr(suggested by @Vojta) 2022-07-19 14:05:30 +02:00
YuSanka
89a7f6bdb1 Merge remote-tracking branch 'origin/ys_wx317_master' into ys_cut 2022-06-29 11:44:11 +02:00
enricoturri1966
6c6713c4ad Tech ENABLE_RAYCAST_PICKING - Raytraced picking of volumes 2022-06-10 14:56:15 +02:00
enricoturri1966
00878fb330 Tech ENABLE_TRANSFORMATIONS_BY_MATRICES merged into ENABLE_WORLD_COORDINATE
Fixed conflicts during rebase with master
2022-06-06 13:36:29 +02:00
enricoturri1966
2f6f73e10f Tech ENABLE_TRANSFORMATIONS_BY_MATRICES - Reworked method void Selection::translate(const Vec3d& displacement, ECoordinatesType type) to use matrix multiplication
Fixed conflicts during rebase with master
2022-06-03 14:56:07 +02:00
enricoturri1966
7e72963293 Tech ENABLE_TRANSFORMATIONS_BY_MATRICES - 1st installment. Geometry::Transformation modified to store data in a single matrix, without store the matrix components
Fixed conflicts during rebase with master
2022-06-03 13:58:36 +02:00
Filip Sykala
dbae2f6305 Serialization of text configuration for UndoRedo stack 2022-05-11 13:56:34 +02:00
YuSanka
94f3aaacd4 Cut WIP: Undo/Redo implementation 2022-05-02 12:44:47 +02:00
YuSanka
73469ffa21 Merge remote-tracking branch 'origin/master' into ys_cut 2022-04-28 13:25:00 +02:00
Filip Sykala
7ec422d12f Merge branch 'et_world_coordinates' into fs_emboss
# Conflicts:
#	src/libslic3r/Model.hpp
#	src/libslic3r/Technologies.hpp
#	src/slic3r/GUI/Gizmos/GLGizmoBase.hpp
2022-04-20 12:13:17 +02:00
tamasmeszaros
91b79bb85c Fix crash in debug mode when split result contains ill formed parts 2022-04-19 11:46:20 +02:00
YuSanka
91a1cd30a0 Merge remote-tracking branch 'origin/master' into ys_cut 2022-04-14 10:04:45 +02:00
YuSanka
c29b7b1eef Cut WIP:
* Suppress to delete/add a SolidPart/NegativeVolume from/for objects which are marked as "is cut"
* Suppress to delete Instances which are marked as "is cut"
* Allow delete an object which is marked as "is cut", but show warning message about break of the "cut consistency".
  And if this deletion was performed, the all related objects will be unmarked.
* m_connectors_cnt is added into CutObjectBase class to correct synchronization of a connectors count between related objects
2022-04-13 13:11:41 +02:00
YuSanka
463e9ab530 Cut WIP:
+ Added CutObjectBase class which contains cut attributes for object
+ ObjectList and ManipulationPanel :
    * Disable all ManipulationEditors for solid/negative volumes of cut object
    * Disable Scale/Size ManipulationEditors for objects/instances of objects which are CutParts of initial object
+ Scale/Rotation/Move gizmos are disabled for solid/negative volumes of cut object
+ Select whole CutParts of initial object when ScaleGizmo is active
2022-04-11 11:20:00 +02:00
Filip Sykala
8719ec8977 Merge branch 'master' into fs_emboss
# Conflicts:
#	src/libslic3r/Model.hpp
2022-04-05 15:55:24 +02:00
Lukas Matena
e01d32d01a Fixed several std::moves that had no effect, moved GCode data to heap 2022-03-31 16:42:15 +02:00
YuSanka
fdaca50d4b Cut WIP: Implemented flip of the upper part after performing of the cut 2022-03-23 09:26:15 +01:00
YuSanka
301d0d5288 Cut WIP:
* Processed Auto/Manual connetor's mode
* Processed Dowel type of connectors
* Added TriangeMesh::its_make_frustum_dowel
2022-03-22 11:25:48 +01:00
YuSanka
e785a66a01 Cut: Added possibility to delete a selected connector
+ Save connector position in object's local coordinates
+ Added missed cut_.svg
2022-03-17 17:41:36 +01:00
YuSanka
09249e3b8d Cut: Perform cut with connectors 2022-03-15 17:08:15 +01:00
YuSanka
b204f05809 Cut: ObjectList: Show info about added cut connectors.
+ Some code refactoring: Put CutConnectorsType, CutConnectorsStyle and CutConnectorsShape to the Model.hpp.
2022-03-14 16:54:50 +01:00
YuSanka
0fba32fa53 Cut: Add connectors. WIP 2022-03-11 15:16:38 +01:00
YuSanka
1b9f42d71b Cut improvements:
* Added new cut() function witch respects to the rotation of the cut plane
* Added revert buttons to the GizmoCutDialog
* Fixed GLGizmoCenterMove::bounding_box(). Pad and supports don't added to the bb now
2022-02-23 13:24:06 +01:00
Filip Sykala
4d31128837 Separate font manager to be able manage imgui font for all fonts
Separate FontListSerializable
Rename Emboss::Font to Emboss::FontFile
2022-01-13 22:00:53 +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
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
tamasmeszaros
17686b4814 Slight performance boost
follow up to f7db7c0
2021-11-11 11:12:03 +01:00
Filip Sykala
b5a075ce4a Merge branch 'master' into fs_emboss 2021-10-26 18:58:38 +02:00
Vojtech Bubnik
0bc2448e22 Documented the new print bed collision detection algorithm requirements:
Only convex print bed is supported.
Optimization of collision detection by precomputing the print bed shape type.
2021-10-23 15:29:18 +02:00
Vojtech Bubnik
36baae05f1 Commented out unused and expensive printbed_collision_state() 2021-10-23 15:29:18 +02:00