OrcaSlicer/src/libslic3r
Vojtech Bubnik 7ff76d0768 New ClipperUtils functions: opening(), closing() as an alternative
for offset2() with clear meaning.
New ClipperUtils functions: expand(), shrink() as an alternative
for offset() with clear meaning.
All offset values for the new functions are positive.

Various offsetting ClipperUtils (offset, offset2, offset2_ex) working
over Polygons were marked as unsafe, sometimes producing invalid output
if called for more than one polygon. These functions were reworked
to offset polygons one by one. The new functions working over Polygons
shall work the same way as the old safe ones working over ExPolygons,
but working with Polygons shall be computationally more efficient.

Improvements in FDM support generator:
1) For both grid and snug supports: Don't filter out supports for which
   the contacts are completely reduced by support / object XY separation.
2) Rounding / merging of supports using the closing radius parameter is
   now smoother, it does not produce sharp corners.
3) Snug supports: When calculating support interfaces, expand the projected
   support contact areas to produce wider, printable and more stable interfaces.
4) Don't reduce support interfaces for snug supports for steep overhangs,
   that would normally not need them. Snug supports often produce very
   narrow support interface regions and turning them off makes the support
   interfaces disappear.
2021-10-14 09:11:31 +02:00
..
Execution drop deprecated TBB components (#6590) 2021-06-23 11:48:48 +02:00
Fill New ClipperUtils functions: opening(), closing() as an alternative 2021-10-14 09:11:31 +02:00
Format Save/Load repaired errors from/to a mesh statistics to/from a 3MF 2021-10-06 10:57:28 +02:00
GCode New ClipperUtils functions: opening(), closing() as an alternative 2021-10-14 09:11:31 +02:00
Optimize Refactoring for code clarity: Replaced this->m_xxx with m_xxx 2021-05-06 14:43:36 +02:00
SLA New ClipperUtils functions: opening(), closing() as an alternative 2021-10-14 09:11:31 +02:00
AABBTreeIndirect.hpp Fix of paint on supports don't work for object that has been scaled up #6718 2021-08-27 21:04:18 +02:00
AppConfig.cpp Preferences: notify_relese option with Choice type Field. 2021-10-13 15:39:06 +02:00
AppConfig.hpp Merge branch 'vb_mmu_top_bottom' 2021-07-13 11:08:52 +02:00
Arrange.cpp Search for suitable rotation when arranging items larger than the bed 2021-06-22 11:23:32 +02:00
Arrange.hpp Fix for bed filling with some existing items out of bed. 2020-12-02 17:52:40 +01:00
BlacklistedLibraryCheck.cpp Blacklisted AMHook.dll 2021-09-23 11:15:08 +02:00
BlacklistedLibraryCheck.hpp WIN32 specific Blacklisted libraries check: 2021-07-30 15:52:52 +02:00
BoundingBox.cpp New FDM support sparse infill zig-zag algorithm. 2021-04-08 15:29:40 +02:00
BoundingBox.hpp Add BoundingBox constructor with point set iterators 2021-03-08 17:38:10 +01:00
BridgeDetector.cpp Fix of safety_offset() after ClipperUtils refactoring. 2021-05-05 12:16:47 +02:00
BridgeDetector.hpp Removal of not numerically robust libraries "poly2tree" and "polypartition". 2021-02-09 18:36:28 +01:00
Brim.cpp New ClipperUtils functions: opening(), closing() as an alternative 2021-10-14 09:11:31 +02:00
Brim.hpp Squash merge of lh_brim_rework, 2021-02-03 15:12:53 +01:00
Channel.hpp Printhost: Cancelation, bugfixes 2018-12-20 13:38:00 +01:00
clipper.cpp Added missing files 2021-04-22 09:26:07 +02:00
clipper.hpp Added missing files 2021-04-22 09:26:07 +02:00
ClipperUtils.cpp New ClipperUtils functions: opening(), closing() as an alternative 2021-10-14 09:11:31 +02:00
ClipperUtils.hpp New ClipperUtils functions: opening(), closing() as an alternative 2021-10-14 09:11:31 +02:00
clonable_ptr.hpp Implemented the "Support for support enforcers only" quick selection. 2019-05-03 18:01:39 +02:00
CMakeLists.txt Removed the PRUS format parser. WIP: admesh eradication: 2021-09-14 11:58:14 +02:00
Config.cpp #7008 - GCodeViewer - Fixed loading of gcodes generated by SuperSlicer 2021-09-27 11:22:36 +02:00
Config.hpp #7008 - GCodeViewer - Fixed loading of gcodes generated by SuperSlicer 2021-09-27 11:22:36 +02:00
CustomGCode.cpp ENABLE_GCODE_VIEWER set as default in libslic3r 2020-11-12 14:03:58 +01:00
CustomGCode.hpp Editing of the custom GCodes like ColorChange and PausePrint 2020-06-07 22:42:54 +02:00
EdgeGrid.cpp Refactoring for code clarity: Replaced this->m_xxx with m_xxx 2021-05-06 14:43:36 +02:00
EdgeGrid.hpp Get rid of unnecessary double storage of processed input polygons in the multi-material segmentation as ExPolygons and also as Polygons. All processed input polygons are now stored as ExPolygons. 2021-07-29 11:45:02 +02:00
ElephantFootCompensation.cpp 1) New methods PrintObject::num_regions() and ::has_region() to make 2021-04-22 11:41:26 +02:00
ElephantFootCompensation.hpp Added missing includes (GCC 9.3) 2021-05-27 16:47:31 +02:00
enum_bitmask.hpp Support for forward compatibility of configurations, user and system 2021-06-27 16:57:05 +02:00
Exception.hpp Win32 specific: SEH handler on background thread. Catches Windows 2021-06-22 09:54:08 +02:00
ExPolygon.cpp Added various has_duplicate_points() checks, to be used by asserts. 2021-09-24 14:07:46 +02:00
ExPolygon.hpp Added various has_duplicate_points() checks, to be used by asserts. 2021-09-24 14:07:46 +02:00
ExPolygonCollection.cpp Fixed regression due to ExPolygonCollection to ExPolygons refactoring. 2019-10-04 16:50:01 +02:00
ExPolygonCollection.hpp Fixed regression due to ExPolygonCollection to ExPolygons refactoring. 2019-10-04 16:50:01 +02:00
Extruder.cpp Fixing build against wxWidgets 3.0 2020-03-04 10:34:59 +01:00
Extruder.hpp Fixing build against wxWidgets 3.0 2020-03-04 10:34:59 +01:00
ExtrusionEntity.cpp Merge branch 'vb_clipper_optimization' 2021-05-03 15:24:04 +02:00
ExtrusionEntity.hpp New FDM support sparse infill zig-zag algorithm. 2021-04-08 15:29:40 +02:00
ExtrusionEntityCollection.cpp Fixed incorrect filtering of extrusions during gcode generation 2020-02-18 09:52:34 +01:00
ExtrusionEntityCollection.hpp Added a single perimeter to the first layer of support or raft. 2021-02-24 08:48:40 +01:00
ExtrusionSimulator.cpp 1) New methods PrintObject::num_regions() and ::has_region() to make 2021-04-22 11:41:26 +02:00
ExtrusionSimulator.hpp WIP: Moved sources int src/, separated most of the source code from Perl. 2018-09-19 11:02:24 +02:00
FileParserError.hpp WIP Refactoring of exceptions: 2020-09-14 18:03:22 +02:00
Flow.cpp Further fixes of the first_layer_height refactoring. 2021-04-21 14:34:49 +02:00
Flow.hpp WIP: Splitting the number of top / bottom support interface layers. 2021-03-15 09:55:56 +01:00
format.hpp Slic3r::format(), Slic3r::GUI::format_wxstr(): 2020-04-01 09:49:04 +02:00
GCode.cpp Fix of "About" screen still shows 2020 at the copyright notice (#7018) 2021-09-27 10:07:29 +02:00
GCode.hpp Parallelization of the G-code export. 2021-09-13 10:04:21 +02:00
GCodeReader.cpp Added a missing include (GCC 11.1). 2021-09-21 22:41:55 +02:00
GCodeReader.hpp Fixed visualization of G-code lines in G-code viewer (3D view). 2021-09-21 15:30:37 +02:00
GCodeSender.cpp Replaced __linux macro with __linux__ 2021-01-11 13:31:30 +01:00
GCodeSender.hpp Some more reduction of compiler warnings on MSVC 2021-02-10 18:04:16 +01:00
GCodeWriter.cpp Follow-up to e7591e6aa6 2021-09-13 12:51:50 +02:00
GCodeWriter.hpp Follow-up to e7591e6aa6 2021-09-13 12:51:50 +02:00
Geometry.cpp Minor performance optimization for convex intersection algo 2021-10-05 13:31:09 +02:00
Geometry.hpp Don't report intersection if two polygons are only touching. 2021-10-04 14:16:13 +02:00
I18N.hpp WIP: Moved sources int src/, separated most of the source code from Perl. 2018-09-19 11:02:24 +02:00
Int128.hpp Adding rotating calipers algorithm for minimum are bounding box rotation. 2019-06-06 14:27:07 +02:00
KDTreeIndirect.hpp Trying to fix the remaining OSX warnings 2021-02-10 19:07:09 +01:00
Layer.cpp Fixed a crash in the multi-material segmentation when projected lines are outside of the BoundingBox used for EdgeGrid. 2021-07-29 11:45:02 +02:00
Layer.hpp Fixed a crash in the multi-material segmentation when projected lines are outside of the BoundingBox used for EdgeGrid. 2021-07-29 11:45:02 +02:00
LayerRegion.cpp FDM backend refactoring: Return PrintRegion by reference, not by pointer. 2021-05-05 18:13:58 +02:00
libslic3r.h debugging function debug_output_path() moved to utils.cpp/hpp 2021-08-27 11:25:50 +02:00
libslic3r_version.h.in Fixed gcodeviewer application title on Linux and Mac 2020-10-07 16:02:01 +02:00
Line.cpp Renamed Line::offset to extend 2020-10-20 09:17:26 +02:00
Line.hpp Eliminate warnings caused by changes to aid new libslic3r backend 2021-04-21 16:02:31 +02:00
LocalesUtils.cpp Fixed visualization of G-code lines in G-code viewer (3D view). 2021-09-21 15:30:37 +02:00
LocalesUtils.hpp Fixed visualization of G-code lines in G-code viewer (3D view). 2021-09-21 15:30:37 +02:00
MarchingSquares.hpp Fixing Clang warnings 2 2021-02-08 17:52:29 +01:00
MeshBoolean.cpp Eradicated admesh from TriangleMesh: 2021-09-20 17:12:22 +02:00
MeshBoolean.hpp Fix crash when all the holes fail to drill 2021-07-13 16:02:58 +02:00
MeshSplitImpl.hpp Eradicated admesh from TriangleMesh: 2021-09-20 17:12:22 +02:00
MinAreaBoundingBox.cpp Use new libnest backend for MinAreaBoundingBox wrapper 2021-04-21 17:21:43 +02:00
MinAreaBoundingBox.hpp Use new libnest backend for MinAreaBoundingBox wrapper 2021-04-21 17:21:43 +02:00
miniz_extension.cpp SLA archive import with miniz, marching square bugfixes 2020-04-23 19:12:07 +02:00
miniz_extension.hpp SLA archive import with miniz, marching square bugfixes 2020-04-23 19:12:07 +02:00
Model.cpp Check if object's size appears to be zero, when loading the model file. 2021-10-07 09:12:31 +02:00
Model.hpp Check if object's size appears to be zero, when loading the model file. 2021-10-07 09:12:31 +02:00
ModelArrange.cpp Fix of [2.3.0-alpha4] Crash - several models cause crash when slicing #5208 2020-11-24 16:01:08 +01:00
ModelArrange.hpp WIP Refactoring of exceptions: 2020-09-14 18:03:22 +02:00
MTUtils.hpp Minor beautification 2021-10-12 10:55:23 +02:00
MultiMaterialSegmentation.cpp New ClipperUtils functions: opening(), closing() as an alternative 2021-10-14 09:11:31 +02:00
MultiMaterialSegmentation.hpp Cleaned up of 0a6490bab9 2021-05-28 17:36:56 +02:00
MultiPoint.cpp Avoid crossing perimeters: Further refactoring for clarity, code review. 2020-11-17 15:34:50 +01:00
MultiPoint.hpp Fix of Can't convert polyline with more than two points to a line (#6933) 2021-09-13 15:40:56 +02:00
MutablePolygon.cpp Fixed incorrect use of _NDEBUG instead of NDEBUG 2021-06-30 11:59:16 +02:00
MutablePolygon.hpp Used function smooth_outward in multi-material segmentation to get rid of artifacts arisen after merging multi-volume objects. 2021-06-28 08:09:06 +02:00
MutablePriorityQueue.hpp FIX: Mutable priority queue 2021-07-12 16:36:08 +02:00
ObjectID.cpp What MSVC could process I always wonder. 2020-09-24 15:45:04 +02:00
ObjectID.hpp Fixed undo/redo issue when clear method of FacetsAnnotation and ModelConfig 2021-08-31 09:16:09 +02:00
OpenVDBUtils.cpp Corrected mesh split implementation 2021-06-08 10:28:23 +02:00
OpenVDBUtils.hpp Get rid of Contour3D 2021-06-08 10:28:23 +02:00
pchheader.cpp Precompiled headers on Visual Studio & GCC, with the highest hopes 2018-10-29 16:01:26 +01:00
pchheader.hpp Support for forward compatibility of configurations, user and system 2021-06-27 16:57:05 +02:00
PerimeterGenerator.cpp New ClipperUtils functions: opening(), closing() as an alternative 2021-10-14 09:11:31 +02:00
PerimeterGenerator.hpp Fix of spiral vase mode with holes in the bottom: Holes in the bottom layers 2020-12-09 14:54:26 +01:00
PlaceholderParser.cpp Rework of Add random function for gcode macros. #5219 after merge: 2020-12-09 09:19:46 +01:00
PlaceholderParser.hpp Fixed unreliable application of filament overrides to PlaceholderParser. 2021-08-20 14:21:22 +02:00
Platform.cpp First draft of SendSystemInfoDialog 2021-10-05 15:09:52 +02:00
Platform.hpp First draft of SendSystemInfoDialog 2021-10-05 15:09:52 +02:00
PNGReadWrite.cpp Removing offset2 from Perl bindings and other minor cleanup. 2021-05-06 14:29:20 +02:00
PNGReadWrite.hpp PNGReadWrite: png::write_gray_to_file(), png::write_gray_to_file_scaled() 2021-02-22 18:07:27 +01:00
Point.cpp Added various has_duplicate_points() checks, to be used by asserts. 2021-09-24 14:07:46 +02:00
Point.hpp Added various has_duplicate_points() checks, to be used by asserts. 2021-09-24 14:07:46 +02:00
Polygon.cpp Added various has_duplicate_points() checks, to be used by asserts. 2021-09-24 14:07:46 +02:00
Polygon.hpp Added various has_duplicate_points() checks, to be used by asserts. 2021-09-24 14:07:46 +02:00
PolygonTrimmer.cpp adaptive elpehant foot compensation, fixing 2019-11-01 19:59:09 +01:00
PolygonTrimmer.hpp Added a missing include 2019-08-22 11:35:25 +02:00
Polyline.cpp Fix of Can't convert polyline with more than two points to a line (#6933) 2021-09-13 15:40:56 +02:00
Polyline.hpp Fix of Can't convert polyline with more than two points to a line (#6933) 2021-09-13 15:40:56 +02:00
Preset.cpp Touch-up to some comments, removed commented-out code 2021-09-27 15:00:58 +02:00
Preset.hpp Fixed update of project dirty state after discarding config changes 2021-08-24 12:17:47 +02:00
PresetBundle.cpp Fixed spelling error preffered / preferred 2021-09-30 14:44:11 +02:00
PresetBundle.hpp Touch-up to some comments, removed commented-out code 2021-09-27 15:00:58 +02:00
Print.cpp Fixed comparison of layer height profiles when printing with wipe tower: 2021-09-15 16:37:41 +02:00
Print.hpp Do not print brim when object has raft, it is not supported and makes no sense 2021-08-24 12:43:56 +02:00
PrintApply.cpp Several minor improvements and fixed warnings 2021-10-01 14:31:22 +02:00
PrintBase.cpp Fix of [2.4.0a] version placeholder doesn't work for output filename format #7002 2021-09-24 09:36:14 +02:00
PrintBase.hpp Slight improvement in cost of background slicing cancellation. 2021-06-23 16:37:18 +02:00
PrintConfig.cpp Implemented configurable speed and acceleration settings for the first 2021-08-31 16:03:14 +02:00
PrintConfig.hpp Implemented configurable speed and acceleration settings for the first 2021-08-31 16:03:14 +02:00
PrintObject.cpp New ClipperUtils functions: opening(), closing() as an alternative 2021-10-14 09:11:31 +02:00
PrintObjectSlice.cpp New ClipperUtils functions: opening(), closing() as an alternative 2021-10-14 09:11:31 +02:00
PrintRegion.cpp PrintRegion refactoring: Getting rid of the Print pointer. 2021-05-05 14:17:36 +02:00
QuadricEdgeCollapse.cpp fix 2021-09-02 11:41:11 +02:00
QuadricEdgeCollapse.hpp Fix status function 2021-07-19 10:12:19 +02:00
Semver.cpp Refactor: Move Semver from slice3r to libslic3r 2019-08-19 17:04:14 +02:00
Semver.hpp Follow-up to 7c01ddf996 2021-08-12 15:27:46 +02:00
ShortestPath.cpp Fixed wrong orientation of infill and gap-fill extrusion. 2021-02-23 20:07:40 +01:00
ShortestPath.hpp Fixed crash in Adaptive Cubic infill if just a single line was extracted. 2020-09-21 11:10:57 +02:00
SimplifyMesh.cpp add mesh simplification. 2020-01-23 10:58:18 +01:00
SimplifyMesh.hpp Eradicated admesh from TriangleMesh: 2021-09-20 17:12:22 +02:00
SimplifyMeshImpl.hpp QEC: When collapsing edge flip normal than check other edges in triangle 2021-07-19 15:46:41 +02:00
SLAPrint.cpp Minor beautification 2021-10-12 10:55:23 +02:00
SLAPrint.hpp Replaced "Simple shorthands for smart pointers" shptr, uqptr, wkptr 2021-10-04 16:56:26 +02:00
SLAPrintSteps.cpp Eradicated admesh from TriangleMesh: 2021-09-20 17:12:22 +02:00
SLAPrintSteps.hpp Initial version of sl1 import with sla::Raster refactor. 2020-04-23 19:05:32 +02:00
SlicesToTriangleMesh.cpp Get rid of Contour3D 2021-06-08 10:28:23 +02:00
SlicesToTriangleMesh.hpp Get rid of Contour3D 2021-06-08 10:28:23 +02:00
Slicing.cpp Fixed some compiler warnings 2021-05-31 14:48:26 +02:00
Slicing.hpp Splitting FDM support gap to top / bottom, introducing 2021-03-15 09:55:57 +01:00
SlicingAdaptive.cpp WIP: admesh eradication 2021-09-14 14:51:40 +02:00
SlicingAdaptive.hpp Improved adaptive layer height metrics: Using the area of a triangle 2019-12-13 13:43:16 +01:00
SupportMaterial.cpp New ClipperUtils functions: opening(), closing() as an alternative 2021-10-14 09:11:31 +02:00
SupportMaterial.hpp New ClipperUtils functions: opening(), closing() as an alternative 2021-10-14 09:11:31 +02:00
Surface.cpp Fix of "excess infill below bridges with 0% infill" #442 2019-09-06 15:03:49 +02:00
Surface.hpp Further rework of ClipperUtils: Replaced many to_polygons() / 2021-05-03 11:39:53 +02:00
SurfaceCollection.cpp Further rework of ClipperUtils: Replaced many to_polygons() / 2021-05-03 11:39:53 +02:00
SurfaceCollection.hpp Further rework of ClipperUtils: Replaced many to_polygons() / 2021-05-03 11:39:53 +02:00
SVG.cpp WIP: Reworked slicing 2021-05-17 20:25:59 +02:00
SVG.hpp WIP: Reworked slicing 2021-05-17 20:25:59 +02:00
Technologies.hpp #7076 - Modifiers and similar objects always rendered as transparent 2021-10-08 10:48:46 +02:00
Tesselate.cpp Extended tesselation wrapper for other 3d and 2d point types. 2019-02-08 09:26:48 +01:00
Tesselate.hpp Reworked pad creation algorithm with new parameters: 2019-10-01 14:58:37 +02:00
Thread.cpp Follow-up to ae7d6db1d9 2021-09-13 13:04:12 +02:00
Thread.hpp Follow-up to ae7d6db1d9 2021-09-13 13:04:12 +02:00
Time.cpp Fix cmake with msvc generator. 2019-10-14 12:50:08 +02:00
Time.hpp Fix incorrect time format spec in iso_utc_timestamp. 2019-10-07 08:56:54 +02:00
TriangleMesh.cpp ObjectList: Fixes 2021-10-06 17:24:40 +02:00
TriangleMesh.hpp ObjectList: Fixes 2021-10-06 17:24:40 +02:00
TriangleMeshSlicer.cpp New ClipperUtils functions: opening(), closing() as an alternative 2021-10-14 09:11:31 +02:00
TriangleMeshSlicer.hpp Eradicated admesh from TriangleMesh: 2021-09-20 17:12:22 +02:00
TriangleSelector.cpp Fix of 58d8ab3dea 2021-09-14 13:11:21 +02:00
TriangleSelector.hpp Removed the PRUS format parser. WIP: admesh eradication: 2021-09-14 11:58:14 +02:00
TriangulateWall.cpp SLA backend refactored, except Hollowing 2021-06-08 10:27:35 +02:00
TriangulateWall.hpp SLA backend refactored, except Hollowing 2021-06-08 10:27:35 +02:00
TryCatchSignal.cpp Catching of sigsegv and sigfpe with structured exceptions on win 2021-06-17 15:17:21 +02:00
TryCatchSignal.hpp Fix broken hole drilling 2021-07-26 12:28:57 +02:00
TryCatchSignalSEH.cpp Catching of sigsegv and sigfpe with structured exceptions on win 2021-06-17 15:17:21 +02:00
TryCatchSignalSEH.hpp Catching of sigsegv and sigfpe with structured exceptions on win 2021-06-17 15:17:21 +02:00
utils.cpp Fixed visualization of G-code lines in G-code viewer (3D view). 2021-09-21 15:30:37 +02:00
Utils.hpp Fixed visualization of G-code lines in G-code viewer (3D view). 2021-09-21 15:30:37 +02:00
VoronoiOffset.cpp 1) New methods PrintObject::num_regions() and ::has_region() to make 2021-04-22 11:41:26 +02:00
VoronoiOffset.hpp WIP VoronoiOffset: Squash merge of vb_voronoi_offset 2021-01-29 16:34:22 +01:00
VoronoiVisualUtils.hpp WIP VoronoiOffset: Squash merge of vb_voronoi_offset 2021-01-29 16:34:22 +01:00
Zipper.cpp New Export Finished notification showing path and opening containing folder. Fix of #4917. Fixed wrongly grayed eject button in File menu. Hopefully fix of ctrl shortcut of tooltips at sidebar. 2020-11-04 09:29:08 +01:00
Zipper.hpp SLA archive import with miniz, marching square bugfixes 2020-04-23 19:12:07 +02:00