ps_copyright
f32859c302
final copyright headers
2023-09-01 14:49:07 +02:00
Vojtech Bubnik
fd437dcaf5
Little refactoring of douglas_peucker()
2023-05-04 15:27:32 +02:00
enricoturri1966
373ae1e19d
Tech ENABLE_WORLD_COORDINATE set as default
2023-03-08 11:52:17 +01:00
enricoturri1966
542b60531f
Merge branch 'master' of https://github.com/Prusa-Development/PrusaSlicerPrivate into et_transformations
2023-03-01 08:24:38 +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
enricoturri1966
6ca65cf844
Fixed detection of skew in TransformationSVD
2023-02-22 14:50:29 +01:00
enricoturri1966
8b5b662164
Revert of d6693ea9565e1ba093ec5a48088811b84591e7da
2023-02-13 14:03:46 +01:00
enricoturri1966
d6693ea956
Methods Transformation::get_scaling_factor() and Transformation::get_scaling_factor_matrix() modified to use TransformationSVD
2023-02-08 14:08:51 +01:00
Vojtech Bubnik
d51296bca5
Follow-up to 217708e812308f8dc7032a2b8ff7ab0f4efbf5c8
...
Fixing the transformation resets.
2023-02-07 16:46:57 +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
8446eff59c
Method Transformation::reset_skew() modified to use SVD decomposition of transformation matrix
2023-02-02 10:58:48 +01:00
enricoturri1966
f3fda618e9
Method ObjectManipulation::update_reset_buttons_visibility() modified to detect reset buttons visibility using SVD decomposition of transformation matrix
2023-02-02 10:49:02 +01:00
enricoturri1966
22ccb56578
Added class TransformationSVD to detect transformation matrix components using singular value decomposition
2023-02-02 09:07:03 +01:00
enricoturri1966
325709c5ae
SPE-1419 - Fixed reset skew resetting mirror, reset scale resetting mirror, changed labels in Object Manipulator panel, scale of instances using the Object Manipulator panel always made as absolute
2023-01-26 15:49:00 +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
1eeb658b0e
Tech ENABLE_WORLD_COORDINATE - Fixed function contains_skew() for matrices containing mirror
2023-01-02 14:09:03 +01:00
enricoturri1966
569db9689f
Removal of calls to Geometry::assemble_transform()
2022-11-24 14:58:20 +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
enricoturri1966
4e315bcf27
Follow-up of 4e188c71c30677c64d97404c36d6cc8181938644 - Betterfix for update of non selected instances when applying mirror
2022-09-05 14:16:08 +02:00
enricoturri1966
4e188c71c3
SPE-1275 - Tech ENABLE_WORLD_COORDINATE - Fixed update of non selected instances when applying mirror
2022-08-25 11:59:51 +02:00
enricoturri1966
cfc3988b9f
Tech ENABLE_RAYCAST_PICKING - 1st installment - Raytraced picking of printbed
2022-06-10 13:20:52 +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
enricoturri1966
6433d3af91
Tech ENABLE_WORLD_COORDINATE - Fixed volumes rotation in world coordinate
...
Added sub-tech ENABLE_WORLD_COORDINATE_VOLUMES_LOCAL_OFFSET which enable showing world coordinates of volumes' offset relative to the instance containing them
Show 'Drop to bed' button in sidebar whenever the selected instance or volume is not laying on the printbed
Fixed conflicts during rebase with master
2022-06-02 12:07:00 +02:00
enricoturri1966
ca5742c401
Tech ENABLE_WORLD_COORDINATE - Gizmo rotate oriented in dependence of the selected coordinate system
...
Fixed conflicts during rebase with master
2022-06-02 10:16:07 +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
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
982172b878
Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sinking_objects_collision
2021-10-05 15:33:37 +02:00
tamasmeszaros
29a5f48f43
Minor performance optimization for convex intersection algo
2021-10-05 13:31:09 +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
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
cf380fb456
Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS - Out of bed detection for circular printbeds
2021-09-21 13:51:57 +02:00