Filip Sykala - NTB T15p
211146e5de
Fix calculation of up vector angle.
2023-09-27 14:37:00 +02:00
Filip Sykala - NTB T15p
ca71305c75
Merge branch 'master' into fs_svg
...
# Conflicts:
# src/slic3r/Utils/EmbossStylesSerializable.cpp
# src/slic3r/Utils/EmbossStylesSerializable.hpp
2023-09-04 13:33:22 +02:00
ps_copyright
f32859c302
final copyright headers
2023-09-01 14:49:07 +02:00
Filip Sykala - NTB T15p
5de06a9ef8
Merge branch 'master' into fs_svg
2023-06-02 10:53:47 +02:00
Vojtech Bubnik
9cde96993e
Reworked the ClipperLib / Polygon types to use
...
the tbb::scallable_allocator to better scale on multiple threads.
2023-04-20 11:31:44 +02:00
Filip Sykala - NTB T15p
382a0fe1e3
Merge branch 'master' into fs_svg
...
# Conflicts:
# src/slic3r/GUI/Gizmos/GLGizmoEmboss.cpp
# src/slic3r/GUI/Gizmos/GLGizmoEmboss.hpp
# src/slic3r/GUI/Jobs/EmbossJob.cpp
# src/slic3r/GUI/Jobs/EmbossJob.hpp
# src/slic3r/GUI/SurfaceDrag.cpp
2023-04-06 08:25:20 +02:00
enricoturri1966
373ae1e19d
Tech ENABLE_WORLD_COORDINATE set as default
2023-03-08 11:52:17 +01:00
Filip Sykala - NTB T15p
a5ea46a83a
Add SVG gizmo - buildable
2023-03-07 16:47:12 +01:00
Vojtech Bubnik
906671fbba
Follow-up to 33496449645c8d2a1f2bd8cfb651862a86682385
...
Reworked handling of approximate / snug bounding boxes
at Model / ModelObject / PrintObject
Further optimized, so that the bounding boxes are not recalculated
unnecesarilly.
2023-02-28 14:48:31 +01:00
Vojtech Bubnik
217708e812
Fixing the transformation resets.
2023-02-07 15:44:58 +01:00
enricoturri1966
d98fd64534
Method Transformation::reset_rotation() modified to use SVD decomposition of transformation matrix and object manipulator reset button set to use it
2023-02-02 12:40:28 +01:00
enricoturri1966
f2b986af57
Method Transformation::reset_scaling_factor() modified to use SVD decomposition of transformation matrix and object manipulator reset button set to use it
2023-02-02 11:42:21 +01:00
enricoturri1966
22ccb56578
Added class TransformationSVD to detect transformation matrix components using singular value decomposition
2023-02-02 09:07:03 +01:00
tamasmeszaros
7fd5fa3aa6
Fix assert when adding object in SLA
2023-01-26 14:07:24 +01:00
enricoturri1966
643d50813d
Removed function double rotation_diff_z(const Vec3d &rot_xyz_from, const Vec3d &rot_xyz_to) and remaining code using it
2023-01-26 10:00:35 +01:00
Vojtech Bubnik
a784be24e7
Follow-up to 842229842f7fe7ce48215d6cfe55aaf4b46cfe56
...
WIP Synchronization of mirroring
Fixed mirroring at the FDM and SLA back-end.
2023-01-25 18:51:53 +01:00
Vojtech Bubnik
842229842f
WIP Synchronization of mirroring
2023-01-25 15:46:22 +01:00
enricoturri1966
af509a7f74
Fixed build when tech ENABLE_WORLD_COORDINATE is disabled
2022-11-24 09:38:51 +01:00
Lukas Matena
70be93d112
Fixed issue with Euler angles:
...
the function to extract Euler angles did not work reliably in some of the corner cases.
The bug was not present in 2.5.0 release.
2022-09-23 13:23:40 +02:00
tamasmeszaros
a55be29568
Fix failing tests for merge point search
...
Improvements and comments to find_merge_pt
2022-07-29 13:05:39 +02:00
enricoturri1966
ca34518bcc
Fixed conflicts after merge with master
2022-07-21 08:55:52 +02:00
tamasmeszaros
d23f9d7674
Refactoring and performance optimization for support trees in SLA
2022-06-29 10:43:46 +02:00
enricoturri1966
cfc3988b9f
Tech ENABLE_RAYCAST_PICKING - 1st installment - Raytraced picking of printbed
2022-06-10 13:20:52 +02:00
enricoturri1966
c99e93c357
Fixed differences after rebase with master
2022-06-06 14:55:38 +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
e3d648c802
Tech ENABLE_TRANSFORMATIONS_BY_MATRICES - Reoworked calculation of volume matrix for newly added modifiers and parts
...
Fixed conflicts during rebase with master
2022-06-06 12:16:17 +02:00
enricoturri1966
19712749c3
Tech ENABLE_TRANSFORMATIONS_BY_MATRICES - Added reset button to remove skew, when detected, in object manipulator panel
...
Fixed conflicts during rebase with master
2022-06-06 10:00:28 +02:00
enricoturri1966
88ce6ccdef
Tech ENABLE_TRANSFORMATIONS_BY_MATRICES - Reworked method void Selection::scale(const Vec3d& scale, TransformationType transformation_type) to use matrix multiplication
...
Fixed conflicts during rebase with master
2022-06-06 09:54:19 +02:00
enricoturri1966
9f503b95e8
Tech ENABLE_TRANSFORMATIONS_BY_MATRICES - Reworked method void Selection::rotate(const Vec3d& rotation, TransformationType transformation_type) to use matrix multiplication
...
Fixed conflicts during rebase with master
2022-06-03 15:44:45 +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
Vojtech Bubnik
576c167bd5
Ported "avoid crossing perimeters" and bridging unit tests from Perl
...
to C++.
Further reduced Perl bindings.
Got rid of the ExPolygonCollection wrapper, replaced with ExPolygons.
2022-05-04 18:21:08 +02:00
Vojtech Bubnik
7d02647ebf
Removed various Point::ccw() and Point::ccw_angle() methods, they were
...
provided for Perl bindings and their semantic was confusing.
Implemented free function angle() to measure angle between two vectors.
Reworked Polygon::convex/concave_points(), changed the meaning of their
angle threshold parameter.
Removed some unused methods from Perl bindings and tests.
Reworked the "wipe inside at the external perimeter" function
after Point::ccw_angle() was removed.
2022-04-25 12:42:51 +02:00
enricoturri1966
bcaa0d38bd
Fixed uninitialized variables reported by MemorySanitizer in Geometry::Transformation
2022-01-21 11:26:44 +01:00
enricoturri1966
9af9b9b35d
Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS set as default
2021-11-16 12:39:54 +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
cf7b6fb19a
Extracted MedialAxis code from Geometry.cpp/hpp, moved to its own
...
files to Geometry/
Moved other Voronoi files to Geometry/
2021-10-27 16:03:04 +02: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
Vojtech Bubnik
be236eda85
Renamed Geometry::intersect() to Geometry::convex_polygons_intersect()
...
to convey its true meaning.
2021-10-23 15:29:18 +02:00
enricoturri1966
a9ca63d344
Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sinking_objects_collision
2021-10-04 15:04:34 +02:00
tamasmeszaros
4cc1b2740d
Don't report intersection if two polygons are only touching.
2021-10-04 14:16:13 +02:00
enricoturri1966
5739178306
Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sinking_objects_collision
2021-10-04 13:07:53 +02:00
tamasmeszaros
9fce0ce3a6
Fix compile issues and overlapping polygon fails
2021-10-01 18:27:37 +02:00
enricoturri1966
f3bd5e96c5
Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS - Fixed detection of collision with circular printbed in backend
2021-10-01 07:28:10 +02:00
Lukas Matena
476b48ed11
Revert "Merge branch 'tm_convex_intersect_rotcalip'"
...
This reverts commit 627d8bcaefb3c46864324554f663403495d9ef43, reversing
changes made to 66d44627248b8e412143298541b5a8397f8a0af5.
The change breaks build on mac
2021-09-30 16:49:00 +02:00
tamasmeszaros
234f062ad4
Fast convex polygon intersection test with rotating calipers
2021-09-30 15:49:12 +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
Vojtech Bubnik
8d0950ce12
Convincing ClipperLib to use Slic3r's own Point type internally.
2021-04-21 20:15:49 +02:00
Vojtech Bubnik
8fd731f7a0
New FDM support sparse infill zig-zag algorithm.
...
Fixed some old support and infill issues.
Fixes support problem #4295
Fixes Parts of interface layer extends beyond supports and cannot be printed
Fixes support missing under horizontal overhang #6058
Fixes Slicer double-traces small sections of Rectilinear Supports, causes
Fixes plastic buildup and nozzle crashes #4951
Fixes Add "Angle Interface layers" #2969
2021-04-08 15:29:40 +02:00