Commit Graph

20236 Commits

Author SHA1 Message Date
Vojtech Bubnik
db3f696888 Fixed ExPolygon::overlaps(), which was not commutative.
Wrote unit tests for Clipper polyline clipping operations.
Rewrote ExPolygon unit tests from Perl to C++.
2022-11-15 15:32:16 +01:00
Vojtech Bubnik
f1c0c61895 Refactored Point / MultiPoint / Polyline / Polygon:
1) Removed virtual methods. There was not really need for them.
2) Some of the virtual methods were using conversion to Lines, which
   was unnecessary and expensive.
3) Removed some nearest element search methods from Point.
2022-11-14 19:01:17 +01:00
Vojtech Bubnik
9dca8403fe ClipperLib: Optimized PointInPolygon() to calculate cross products
with int64s instead of doubles.
Polygon / ExPolygon: contains() reworked to use ClipperLib::PointInPolygon().
	The Slic3r own implementation was not robust.
Fixed test_perimeters after recent refactoring (sorting of extrusions
	into LayerIslands)
2022-11-14 15:17:04 +01:00
Vojtech Bubnik
5eaec515ba Follow-up to f24b4e86a9:
Refactoring of G-code export to LayerSlices / LayerIslands:
Fixed some bugs
2022-11-07 20:00:34 +01:00
Vojtech Bubnik
28f8997dd3 Follow-up to f24b4e86a9:
Fixed compilation on OSX
Fixed incorrect clear of LayerIslands.
2022-11-07 17:26:48 +01:00
Vojtech Bubnik
f24b4e86a9 Follow-up to f342bfae4e
as GCC did not like what MSVC was able to swallow.
2022-11-07 16:30:11 +01:00
Vojtech Bubnik
fcb00680ab Follow-up to f342bfae4e: 2022-11-07 16:09:45 +01:00
Vojtech Bubnik
f342bfae4e Improved const correctness of ToolOrdering. 2022-11-07 16:00:13 +01:00
Vojtech Bubnik
bfaabf52cd Merge remote-tracking branch 'remotes/origin/master' into vb_treesupports 2022-11-07 15:59:24 +01:00
Vojtech Bubnik
3cdacd700c Merged with master 2022-11-07 14:51:07 +01:00
Vojtech Bubnik
8858651bf4 WIP Refactoring of Layers: Reworked G-code export to make use
of Layer->LayerSlice->LayerIsland hierarchy. This should improve
tool path ordering of multiple parts within the same object #5511.

Some shells tests rewritten from Perl to C++.

FIXME: Gap fill extrusions are currently not handled by the initial
G-code preview!
2022-11-07 14:47:43 +01:00
enricoturri1966
5df2713010 Measuring - Fixed transformation of distance_xyz 2022-11-07 14:46:21 +01:00
enricoturri1966
236f97aded Gizmo Measure - Fixed loss of selection when panning the view 2022-11-07 14:15:36 +01:00
YuSanka
380c746871 Linux specific issue: Prevent ObjectList's events, when updating the volumes in object.
On Linux DeleteVolumeChildren() called the update selection event, what caused the unexpected one by one selection of all volumes in object.
2022-11-07 13:47:34 +01:00
enricoturri1966
8abb8a6546 #8252 - GCodeViewer - Fixed crash when importing invalid gcode 2022-11-07 12:52:10 +01:00
Lukáš Hejl
411535ecdf Fixed undefined behavior (dereferencing std::unique_ptr pointing to nullptr) in the G-Code processing pipeline. 2022-11-07 10:09:49 +01:00
enricoturri1966
a0a0b0d253 Measuring - Keep showing dimensioning after scaling 2022-11-07 09:58:25 +01:00
Lukas Matena
34391a14a2 Merge branch 'lm_measurement_fixes' 2022-11-04 11:52:55 +01:00
Lukas Matena
0c88b5712a Measurement: Circles filtering (part 2) 2022-11-04 11:52:44 +01:00
Lukas Matena
d07537c1f0 Measurement: Merge adjacent edges 2022-11-04 11:52:44 +01:00
Lukas Matena
4b9630c23b Measurement: Circles filtering (part 1) 2022-11-04 11:52:44 +01:00
YuSanka
76064fc2ba Fix for #9100 - Search feature in the settings is broken - every time moves the cursor at the end of the text 2022-11-03 15:24:48 +01:00
enricoturri1966
2eb363bc64 Measuring: modified rendering order of dimensioning items 2022-11-03 15:03:10 +01:00
enricoturri1966
7650be770c Measuring: tweak to calculation of edge-edge distance 2022-11-03 14:24:28 +01:00
enricoturri1966
4f6217a54c Fixed typo introduced with 05e82b1fc5 2022-11-03 14:14:35 +01:00
enricoturri1966
a4e4a71617 Measuring: disabled rectangle selection when the Measure Gizmo is active 2022-11-03 13:37:38 +01:00
enricoturri1966
05e82b1fc5 Measuring: validation for zero distance moved from backend to frontend 2022-11-03 13:20:35 +01:00
Lukas Matena
dda0b50b5c Fixed a crash in measuring backend when handling broken models 2022-11-03 12:14:27 +01:00
Vojtech Bubnik
6e653d9070 Merge remote-tracking branch 'remotes/origin/master' into vb_treesupports 2022-11-02 17:21:36 +01:00
Vojtech Bubnik
386cfae546 WIP Refactoring of Layers: Sorting of infill extrusions into LayerIslands.
FIXME: Gap fill extrusions are currently not handled!
2022-11-02 17:20:23 +01:00
YuSanka
a59f8aea6e Follow-up ba22eb600e - Fix for string formatting
(by @bubnikv)
2022-11-02 16:27:49 +01:00
YuSanka
0468250298 ObjectDataViewModel: Fixed a check of m_bitmap_cache existence.
There was a crash after app's recreation, when we try to get some bitmap from m_bitmap_cache, but it is null for this moment
2022-11-02 16:26:09 +01:00
YuSanka
69d1ad2cad CutGizmo: Bug Fixing :
* Crash - when click to Whipe-tower
* Crash - when the bed is empty and the top bar is pressed +. Note: There was a bug in detection if we can increase/recrease instances
* After cutting the object in SLA does not work clipping of view
 Improvements :
* Connectors mode of CutGizmo : Add "Cancel" button to Discard all conectors and switch to the CutPlane mode
2022-11-02 13:35:05 +01:00
Vojtech Bubnik
409fae6183 WIP Refactoring of Layers: LayerIslands filled in with perimeter
extrusions, gap fill extrusions and fill regions.
2022-11-02 12:59:31 +01:00
rtyr
c1fec355d3
Initial Anker bundle
https://github.com/prusa3d/PrusaSlicer/pull/9075
2022-11-02 09:42:50 +01:00
enricoturri1966
6a1a91ed1a Merge remote-tracking branch 'origin/et_surface' 2022-11-02 09:10:10 +01:00
enricoturri1966
48e90be2bc Fixed conflicts after merge with master 2022-11-02 09:08:35 +01:00
enricoturri1966
da5a9277fa Tech ENABLE_MEASURE_GIZMO set as default 2022-11-02 08:50:12 +01:00
tamasmeszaros
4325608a56 Disable webrequest for wxWidgets as we don't need it
It requires CURL and doesn't like our static build so it links to the system curl instead which is bad.
2022-11-01 16:52:42 +01:00
YuSanka
8914dfa1f6 Next fix, related to #8800
* PrintApply: Suppress to apply print when just a physical printer was changed, but printer preset stays the same
* Tab: Layout the buttons bar when switch from the physical printer to printer preset and vice versa
2022-11-01 14:57:19 +01:00
enricoturri1966
f5e782233e Tech ENABLE_RAYCAST_PICKING - Fixed update of raycaster active state in GLCanvas3D::reload_scene() 2022-11-01 09:15:38 +01:00
enricoturri1966
2c9d047520 Fixed conflicts after merge with master 2022-10-31 14:59:41 +01:00
YuSanka
7742ebb813 ObjectList: Fixed position of the added sub-object, when it is Slab 2022-10-31 12:55:43 +01:00
YuSanka
e32d03318d Fix for #9104 - MMU can't change extruder when Split to Objects is used in PS2.5. 2022-10-31 10:42:54 +01:00
Vojtech Bubnik
2eb0417018 Further Perl eradication 2022-10-27 20:01:55 +02:00
Vojtech Bubnik
57db091612 Removed Surface and SurfaceCollection from Perl bindings. 2022-10-27 19:43:56 +02:00
Vojtech Bubnik
d041fa6c0c Refactored PerimeterGenerator to output out_fill_surfaces as ExPolygons,
not SurfaceCollection.

Reworked combineinfill.t, 07_extrusionpath.t, 08_extrusionloop.t to c++.
Removed Layer / ExtrusionPath / ExtrusionLoop / ExtrusionEntityCollection
from Perl bindings.
2022-10-27 19:08:43 +02:00
YuSanka
ece63f5d81 Follow up previous cdf07c3cce - code improvements 2022-10-27 17:16:44 +02:00
YuSanka
cdf07c3cce Fix for #8800 - Switching to a physical printer based on same printer preset requires reslicing 2022-10-27 15:34:23 +02:00
Vojtech Bubnik
237e56c7ce Follow-up to ee626eb65a
Refactored PerimeterGenerator for functional style, better constness
with the goal of calling PerimeterGenerator::process_xxx()
for each surface at once to collect its fill expolygons.
2022-10-27 13:04:52 +02:00