96 Commits

Author SHA1 Message Date
enricoturri1966
6201dad245 Tech ENABLE_COLOR_CLASSES set as default 2022-01-14 08:19:00 +01:00
enricoturri1966
cd4094743e Tech ENABLE_COLOR_CLASSES - 1st installment -> Introduction of classes ColorRGB and ColorRGBA to unify color data definition and manipulation 2021-12-22 10:45:35 +01:00
enricoturri1966
e6c7814546 Fix of missing update after changing the value of Max print height into Printer settings tab - SPE-1133 2021-11-24 12:31:27 +01:00
enricoturri1966
a4baecb340 #7326 - Fixed crash when starting GCodeViewer 2021-11-22 10:57:38 +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
Vojtech Bubnik
497905406b New code for minimum enclosing circle by randomized Welzl algorithm.
Split the circle code from Geometry.cpp/hpp to Geometry/Circle.cpp,hpp
2021-10-27 15:12:29 +02:00
enricoturri1966
4fd9a99f5b Bed3D::is_circle() - Use Geometry::circle_center_taubin_newton() to detect candidate center 2021-10-22 14:46:07 +02:00
enricoturri1966
4ff13a5d63 Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS - Reworked detection of collision with printbed. The detection uses now different algorithms in dependence of the printbed type (rectangular, circular, convex) to improve performance. 2021-10-06 13:47:54 +02:00
enricoturri1966
cf380fb456 Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS - Out of bed detection for circular printbeds 2021-09-21 13:51:57 +02:00
Lukas Matena
ed7ebf15d9 Added logging when bed texture/model is not found 2021-09-03 12:13:10 +02:00
Lukas Matena
18c8204837 Fix of #6873: Bed texture located in a directory that user has no permission to (crashed) 2021-09-02 14:37:29 +02:00
enricoturri1966
66d43b882e Fixed calls set_uniform(emission_factor, xx) to use floats 2021-08-04 11:58:50 +02:00
enricoturri1966
ab9dfb7932 Added a few missing glsafe() 2021-08-02 14:40:13 +02:00
enricoturri1966
1f3252dd78 Revert of b140709fa8aa313278455995de30f88e9a442120 and new implementation of fixing picking for sinking objects 2021-07-21 11:56:39 +02:00
enricoturri1966
c61785f775 Tech ENABLE_SEQUENTIAL_LIMITS set as default 2021-07-20 12:05:15 +02:00
enricoturri1966
f0354b43c1 Fixed conflicts after merge with master + fixed rendering of hovered gizmo grabbers 2021-05-31 12:54:48 +02:00
enricoturri1966
e1d5d0804b Added missing uniform calls for emission_factor 2021-05-28 16:44:13 +02:00
enricoturri1966
0d37f66f61 Tech ENABLE_SEQUENTIAL_LIMITS -> Improved rendering of clearance regions 2021-05-12 13:09:33 +02:00
enricoturri1966
75677ba810 Tech ENABLE_SEQUENTIAL_LIMITS -> 1st installment of visualization of objects clearance for sequential prints 2021-05-11 13:12:25 +02:00
Vojtech Bubnik
9fbba855ef Clipper optimization:
1) Removed the already commented-out scaling / unscaling when doing
   "safe offsetting"
2) Removed some of the "safe offsetting" at calls where it never was used.
3) Reworked Clipper & ClipperUtils to pass Polygons / ExPolygons / Surfaces
   as input parameters without conversion to ClipperLib::Paths. This
   should save a lot of memory allocation and copying.
4) Reworked conversions from ClipperLib::Paths & PolyTree to Polygons /
   ExPolygons to use the move operator to avoid many unnecessary allocations.
5) Reworked some "union with safe ofsetting" to "offset_ex", which should
   be cheaper.
2021-04-30 11:49:57 +02:00
enricoturri1966
3e09334162 Removed mutable members from class Bed3D 2021-04-20 08:53:56 +02:00
Vojtech Bubnik
a6bd2d7664 Fix of 3DBed Regression #6029 2021-02-15 09:31:19 +01:00
Vojtech Bubnik
2e55898d78 Removal of not numerically robust libraries "poly2tree" and "polypartition".
Adjustment of GUI/3DBed.cpp,hpp to use the more stable triangulation algoritm
derived from SGI glut.
Fix of an extremely slow bridging calculation, caused by an extremely
slow bridged area detection function, of which the results were never used.
Fixes "slicing fails or takes too long #5974"
2021-02-09 18:36:28 +01:00
David Kocik
5f97b2512b Merge remote-tracking branch 'aegean-odyssey/ao_profile_resources_patch' into master 2020-11-19 19:02:32 +01:00
enricoturri1966
a20ce2f484 ENABLE_GCODE_VIEWER set as default in 3DBed.hpp/.cpp 2020-11-16 17:29:21 +01:00
enricoturri1966
7a093b08fd GCodeViewer -> Show printbed model and texture for system printers detected when loading gcode files produced by PrusaSlicer 2020-08-21 10:59:07 +02:00
enricoturri1966
992d7065b2 GCodeViewer -> Modified shape of printbed for the unknown size case 2020-08-19 15:19:07 +02:00
enricoturri1966
dea641183c Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-08-10 14:22:46 +02:00
enricoturri1966
64001c0fe5 GCodeProcessor -> Fixed export of estimated time to gcode filename 2020-08-07 15:30:08 +02:00
enricoturri1966
0eb6ba96d6 Fixed conflicts after merge with master 2020-08-03 14:17:40 +02:00
enricoturri1966
0348986bda Follow-up of 9d4344a78ce56ecf722e946f2c1796a9e1df96e8 -> ensure printbed always rendered as custom in gcode preview mode 2020-07-29 14:20:01 +02:00
enricoturri1966
6fbb3db79c Fixed build when ENABLE_GCODE_VIEWER is disabled 2020-07-08 14:43:14 +02:00
enricoturri1966
eb215fe994 ENABLE_GCODE_VIEWER_AS_STATE -> Removed tabs from gcode viewer state 2020-06-19 15:32:44 +02:00
YuSanka
19c4f32604 Preset and PresetBundle are moved to the _libslic3r_ folder 2020-06-16 17:03:06 +02:00
enricoturri1966
aa04f0e555 ENABLE_GCODE_VIEWER -> Completed implementation of new GLModel class 2020-05-27 08:06:02 +02:00
enricoturri1966
314995fa0b ENABLE_SHADERS_MANAGER set as default 2020-05-22 16:08:02 +02:00
enricoturri1966
5aa8cc5779 ENABLE_SHADERS_MANAGER -> Unified client code of new GLShadersManager and GLShaderProgram classes 2020-05-21 10:15:00 +02:00
enricoturri1966
cbfb09a241 Fixed build for all 4 cases of tech ENABLE_SHADERS_MANAGER and ENABLE_GCODE_VIEWER enabled/disabled and code cleanup 2020-05-20 17:03:53 +02:00
enricoturri1966
c7c87973b7 First installment of tech ENABLE_SHADERS_MANAGER, using class GLShadersManager as a central point to manage OpenGL shaders 2020-05-20 14:11:22 +02:00
enricoturri1966
8d5cea82f4 Tech ENABLE_GCODE_VIEWER -> Bed axes rendered using the new OpenGL model class 2020-05-12 11:33:50 +02:00
enricoturri1966
6f789aaee7 GLCanvas3DManager replaced by OpenGLManager 2020-05-06 14:38:53 +02:00
Aegean Odyssey
e9423ab86d Also search vendor directory for printer profile resources.
Search the vendor directory using the same conventions used to search
the profiles directory when looking for thumbnails, bed_models, and
bed_textures. Allows a complete, "Config Wizard"-friendly custom vendor
profile to be placed in the (user's configuration) vendor directory.
2020-04-25 02:51:02 +00:00
Lukas Matena
46ade45ced The bed texture is not shown when looking from below and FDM/SLA support gizmo is active 2020-04-14 13:18:08 +02:00
Lukas Matena
87e77e20fa Include cleanup in several files
src/slic3r/Config/Snapshot.cpp
src/slic3r/Config/Snapshot.hpp
src/slic3r/Config/Version.cpp
src/slic3r/Config/Version.hpp
src/slic3r/GUI/2DBed.cpp
src/slic3r/GUI/3DBed.cpp
src/slic3r/GUI/3DScene.cpp
src/slic3r/GUI/3DScene.hpp
src/slic3r/GUI/AboutDialog.cpp
src/slic3r/GUI/AboutDialog.hpp
src/slic3r/GUI/AppConfig.cpp
src/slic3r/GUI/BackgroundSlicingProcess.cpp
src/slic3r/GUI/BackgroundSlicingProcess.hpp
2020-03-03 15:47:02 +01:00
Enrico Turri
847efec2ed ENABLE_6DOF_CAMERA set as default 2020-02-13 12:13:54 +01:00
Enrico Turri
b368f8ff24 Fixed conflicts after merge with master 2020-01-17 14:58:19 +01:00
Enrico Turri
e8d52cfba1 Fixed conflicts after merge with master 2020-01-17 14:16:12 +01:00
Enrico Turri
62e60bcb43 Six degrees of freedom camera - 1st installment 2020-01-15 12:49:34 +01:00
bubnikv
9a3901e159 Support for new "default_materials" property at PrinterModel
of system profiles. The "default_materials" key accepts
"default_filaments" as well.
2020-01-13 16:01:20 +01:00
Enrico Turri
051fcd4e24 Configurable system printers bed textures and models 2020-01-09 10:27:42 +01:00