537df6b503
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
d03fd2f63e
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
d383c0ccf4
Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS - Out of bed detection for circular printbeds
2021-09-21 13:51:57 +02:00
bc68e06292
Revert of b140709fa8 and new implementation of fixing picking for sinking objects
2021-07-21 11:56:39 +02:00
daf230695d
Tech ENABLE_SEQUENTIAL_LIMITS -> 1st installment of visualization of objects clearance for sequential prints
2021-05-11 13:12:25 +02:00
8af953c9d2
Removed mutable members from class Bed3D
2021-04-20 08:53:56 +02:00
60cc12002e
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
3cddbad0af
ENABLE_GCODE_VIEWER set as default in 3DBed.hpp/.cpp
2020-11-16 17:29:21 +01:00
aeb1c2f4dd
Follow-up of 9d4344a78c -> ensure printbed always rendered as custom in gcode preview mode
2020-07-29 14:20:01 +02:00
ce42c67a2a
ENABLE_GCODE_VIEWER -> Completed implementation of new GLModel class
2020-05-27 08:06:02 +02:00
1eb6ec97ed
ENABLE_SHADERS_MANAGER set as default
2020-05-22 16:08:02 +02:00
2e64da5c1d
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
4194c347ab
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
b62ba8a42d
Tech ENABLE_GCODE_VIEWER -> Bed axes rendered using the new OpenGL model class
2020-05-12 11:33:50 +02:00
319e74d4ce
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
ddf6501acd
ENABLE_6DOF_CAMERA set as default
2020-02-13 12:13:54 +01:00
f131909353
Fixed conflicts after merge with master
2020-01-17 14:58:19 +01:00
94a95f9786
Six degrees of freedom camera - 1st installment
2020-01-15 12:49:34 +01:00
2c95a1f0d7
Configurable system printers bed textures and models
2020-01-09 10:27:42 +01:00
c850d600c3
Fixed positioning of gizmos' imgui dialogs
2019-12-12 13:38:08 +01:00
c80919aabc
Printbed axes renderable on demand
2019-11-28 11:51:00 +01:00
4a0ae0c628
Added model and texture for Mini and Ender3 printer printbeds
2019-11-15 09:28:51 +01:00
b70057bdda
Refactoring into rendering pipeline
2019-07-26 09:45:22 +02:00
df38793663
Draw lighter gridlines when rendering default procedural texture on print bed when seen from above and custom model is present
2019-07-25 10:38:18 +02:00
70dda0737e
Render custom bed model on custom beds
2019-07-25 09:45:43 +02:00
4058eac7df
Render custom bed model on prusa beds
2019-07-24 14:02:36 +02:00
587422f334
Refactoring in Bed3D
2019-07-24 11:04:04 +02:00
314ee4ae55
Custom bed texture applied to custom bed shapes
2019-07-24 10:11:17 +02:00
d40b4ae13c
Tech ENABLE_TEXTURES_FROM_SVG set as default
2019-07-19 09:52:01 +02:00
9c9b29a8a9
Render custom bed textures in svg format on prusa beds
2019-07-18 14:39:19 +02:00
85e9318081
Fixed conflicts after merge with master
2019-07-08 09:23:37 +02:00
af90012cd6
Fixed compile warnings in Bed3D
2019-07-03 09:19:07 +02:00
e9909eb95e
Removed GLVolume non-VBO rendering
2019-07-01 12:28:16 +02:00
9d732e318d
Fixed conflicts after merge with branch et_perpsective_camera
2019-06-24 11:08:42 +02:00
0af66cfe82
ENABLE_COMPRESSED_TEXTURES set as default
2019-06-24 09:54:58 +02:00
d5a17b11c8
Follow-up of 1a91add2e6 -> Improvements to tighter camera frustrum to reduce z-fighting
2019-06-14 15:37:29 +02:00
9877945e2a
Tighter camera frustrum to reduce z-fighting
2019-06-14 10:38:09 +02:00
9f4881e88b
Update 3D scene when all compressed texture data are sent to GPU
2019-06-05 10:07:59 +02:00
9211475bdf
Temporary low-res texture shown while generating compressed data on the CPU
2019-06-02 11:01:51 +02:00
49a5c0465b
Small refactoring in Bed3D and GLShader
2019-02-27 15:19:03 +01:00
1be5c11f52
Printbed textures generated from svg files
2019-02-20 15:23:23 +01:00
bea4d1313b
ENABLE_UNIQUE_BED set as default
2019-02-20 13:50:35 +01:00
727dc40cee
Bed and Axes classes moved from GLCanva3d to Plater to have a unique instance of them shared by all views
2019-02-19 15:15:27 +01:00