184 Commits

Author SHA1 Message Date
tamasmeszaros
f100a59688 Cherry-picking 118f4859c472ccbc30b43101c6674dadc81d7b12
And resolve conflicts
2022-11-29 11:14:19 +01:00
tamasmeszaros
9bc3410474 Re-enable volumes in SLA, use raycasters from canvas in supports gizmo
Got rid of HollowedMesh and Raycaster usage from GizmosCommon pool to prevent crashes
2022-11-29 11:11:32 +01:00
tamasmeszaros
15fa4c42d6 Finalize new sla backend interface
no has_mesh or get_mesh based on states, but specific methods to get the mesh type needed (support, pad, object)

Commented out everything that does not conform in frontend
2022-11-29 11:11:02 +01:00
enricoturri1966
71660a281b Tech ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL set as default 2022-10-19 08:52:35 +02:00
enricoturri1966
2b996158d2 Merge branch 'master' of https://github.com/Prusa-Development/PrusaSlicerPrivate into et_opengl_es_rebase 2022-08-18 12:51:55 +02:00
enricoturri1966
0388132acd Tech ENABLE_SHOW_NON_MANIFOLD_EDGES set as default 2022-07-28 08:55:53 +02:00
enricoturri1966
bb36f0df0c Tech ENABLE_OPENGL_ES - 1st installment 2022-07-21 15:43:11 +02:00
enricoturri1966
6c6713c4ad Tech ENABLE_RAYCAST_PICKING - Raytraced picking of volumes 2022-06-10 14:56:15 +02:00
enricoturri1966
cd6155293b Fixed conflicts after merge with master 2022-06-07 11:10:19 +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
enricoturri1966
1a1cf108fc Tech ENABLE_GL_SHADERS_ATTRIBUTES merged into ENABLE_LEGACY_OPENGL_REMOVAL
Fixed conflicts during rebase with master
2022-05-26 10:50:32 +02:00
enricoturri1966
0763a48ce5 Tech ENABLE_GL_SHADERS_ATTRIBUTES - Fixed OpenGL clipping planes while rendering picking pass 2022-03-31 13:23:04 +02:00
enricoturri1966
46283cfde3 Tech ENABLE_GLBEGIN_GLEND_SHADERS_ATTRIBUTES renamed as ENABLE_GL_SHADERS_ATTRIBUTES 2022-03-09 08:22:07 +01:00
enricoturri1966
5ffe010a9d Tech ENABLE_GLINDEXEDVERTEXARRAY_REMOVAL merged into ENABLE_LEGACY_OPENGL_REMOVAL 2022-03-08 14:50:32 +01:00
enricoturri1966
14f4345389 Tech ENABLE_GLBEGIN_GLEND_SHADERS_ATTRIBUTES - Use vertex attributes and matrices in shaders.
Shader: gouraud_light - Thumbnails render
2022-03-03 12:36:44 +01:00
enricoturri1966
1eac357739 Tech ENABLE_GLINDEXEDVERTEXARRAY_REMOVAL - Replace GLIndexedVertexArray with GLModel: GLVolume geometry + removed class GLIndexedVertexArray from codebase 2022-02-23 13:39:54 +01:00
enricoturri1966
5089d1460d Removed obsolete member variable GLCanvas3D::m_color_by 2022-02-11 11:47:29 +01:00
enricoturri1966
18e2cc2298 Tech ENABLE_SHOW_NON_MANIFOLD_EDGES - 1st installment - Calculate and show in 3D view non-manifold edges as lines 2022-01-20 13:32:24 +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
enricoturri1966
403f6d45f9 Refactoring - Removed member variable GLVolume::force_transparent 2022-01-17 08:24:46 +01:00
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
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
d43ddce078 #7293 - Do not put __FILE__ info in release mode 2021-11-12 15:08:04 +01: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
f84838028b Tech ENABLE_FIX_SINKING_OBJECT_OUT_OF_BED_DETECTION merged into tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS 2021-10-01 13:13:26 +02:00
enricoturri1966
6ff4d6c3f5 Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS - Fixed detection of collision with circular printbed for pre-gcode preview and sla preview 2021-10-01 12:15:14 +02:00
enricoturri1966
13ef817a99 Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS - Enable detection of collision with circular printbed in backend 2021-09-30 14:51:09 +02:00
enricoturri1966
430c7a69b3 Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS - Completed detection of collision with circular printbed for toolpaths and sla auxyliary volumes 2021-09-30 13:16:05 +02:00
enricoturri1966
7cfe082621 Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS - Enable detection of collision with circular printbed for toolpaths 2021-09-30 12:08:05 +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
enricoturri1966
5a84b46ec9 Fix of detection of the out of bed state for sinking objects 2021-09-16 13:38:02 +02:00
enricoturri1966
94f92dee84 Use std::optional to replace dirty flags for bounding boxes in GLVolume 2021-09-16 10:46:56 +02:00
enricoturri1966
f132ca9c3c Tech ENABLE_SINKING_CONTOURS set as default 2021-09-14 15:45:21 +02:00
Vojtech Bubnik
58d8ab3dea Removed the PRUS format parser. WIP: admesh eradication:
stl_stats are newly only accessed by TriangleMesh::stats(),
most of the direct access to TriangleMesh::stl is gone with the exception
of parsing input files (3MF, AMF, obj).
2021-09-14 11:58:14 +02:00
Lukas Matena
4ac013ec9c Fixed painting gizmos with modifiers below the bed:
- When a modifier was below the bed and all the object parts above, it would clip
  the modifier but not triangulate the cut.
- When an object part was below, it would triangulate all modifiers with
  opaque orange color.

Both should now be fixed.
2021-09-13 09:02:11 +02:00
enricoturri1966
8bd0f8ada9 Removed duplicated method GLVolumeCollection::check_outside_state() 2021-09-10 08:27:03 +02:00
Lukas Matena
b14faf627b Do not show sinking contours when a gizmo hides some objects 2021-08-11 16:17:28 +02:00
enricoturri1966
d821fcba2d Tech ENABLE_SINKING_CONTOURS -> Improved generation of sinking contours and color set to white 2021-07-28 14:27:57 +02:00
enricoturri1966
0146013b4e Tech ENABLE_SINKING_CONTOURS -> Sinking contours updated during render pass and shown also while dragging an object 2021-07-28 12:23:27 +02:00
enricoturri1966
d99ea7c20f Tech ENABLE_SINKING_CONTOURS -> Sinking contours rendered using triangles 2021-07-28 11:21:59 +02:00
enricoturri1966
b24488ce51 Tech ENABLE_SINKING_CONTOURS -> Sinking contours shown while dragging Move/Rotate/Scale gizmos and show contours for gizmo cut 2021-07-27 13:02:06 +02:00
enricoturri1966
5c6810d0bc Fixed conflicts after merge with master 2021-07-22 11:46:00 +02:00
enricoturri1966
65b3be92fe Techs DISABLE_ALLOW_NEGATIVE_Z_FOR_SLA and ENABLE_ALLOW_NEGATIVE_Z set as default 2021-07-22 11:26:31 +02:00
enricoturri1966
22f04ca46e Tech ENABLE_SINKING_CONTOURS -> 1st installment 2021-07-21 15:30:57 +02:00
enricoturri1966
2848ae9c4d Colors in GLVolume defined as std::array<float, 4> 2021-07-19 11:11:49 +02:00
enricoturri1966
ef8ddacdfc Delayed rendering of transparent volumes 2021-07-14 13:20:57 +02:00
Vojtech Bubnik
d0a4161f47 Follow up (bugfix) of 0d70a2be69119b78277674ea35f9a77a951c2dab
GLIndexedVertexArray newly uses Eigen::AlignedBox<float, 3>
for efficiency instead of our double based BoundingBoxf3.
2021-07-12 10:53:09 +02:00