7f29647d67
Added missing includes (GCC 11.1)
2021-05-29 19:55:20 +02:00
70b4915f9c
TriangleMeshSlicer: Got rid of admesh!
2021-05-18 15:05:30 +02:00
308d6b7809
WIP: Reworked slicing
...
1) Slicing code moved to TriangleMeshSlicer.cpp,hpp from TriangleMesh.cpp,hpp
2) Refactored to use as little as possible of admesh.
2021-05-17 20:25:59 +02:00
68d2427a34
Fix marching squares test crash in debug builds
2021-05-17 14:54:47 +02:00
7d4b3f2992
Fix of safety_offset() after ClipperUtils refactoring.
...
Fixes Solid infill where there should be none #6482
Also the safety offsetting was revised to be enabled only where needed,
the "do safety offset" is now easy to discover by
a new ApplySafetyOffset::Yes enum, and safety offset over union, which
is better done by offset() / offset_ex() has been replaced with
new union_safety_offset() / union_safety_offset_ex() functions, which
better convey their meaning and which could be better optimized than
union() with the safety offset applied.
2021-05-05 12:16:47 +02:00
09a80d954c
Further rework of ClipperUtils: Replaced many to_polygons() /
...
to_expolygons() calls with templated ClipperUtils variants to avoid
memory allocation and copying.
2021-05-03 11:39:53 +02:00
9fbba855ef
Clipper optimization:
...
1) Removed the already commented-out scaling / unscaling when doing
"safe offsetting"
2) Removed some of the "safe offsetting" at calls where it never was used.
3) Reworked Clipper & ClipperUtils to pass Polygons / ExPolygons / Surfaces
as input parameters without conversion to ClipperLib::Paths. This
should save a lot of memory allocation and copying.
4) Reworked conversions from ClipperLib::Paths & PolyTree to Polygons /
ExPolygons to use the move operator to avoid many unnecessary allocations.
5) Reworked some "union with safe ofsetting" to "offset_ex", which should
be cheaper.
2021-04-30 11:49:57 +02:00
a15c16d40d
Use new libnest backend for MinAreaBoundingBox wrapper
2021-04-21 17:21:43 +02:00
ad19ab219d
New custom backend for libnest2d using libslic3r types
...
Adapted to new clipper->eigen mod
2021-04-21 16:02:25 +02:00
7112ac61b6
Replacing ClipperLib::IntPoint with Eigen point as a first step to
...
make the ClipperLib paths and polygons compatible with Slic3r paths
and polygons without conversions and memory allocations.
2021-04-14 09:22:51 +02:00
bed3321324
Small improvement to "least supports" method
2021-04-07 12:51:02 +02:00
773116b777
Allow auto-rotation of objects not completely inside bed.
...
Don't use SLAPrintObject as the input for optimization. Use ModelObject and pass the print config to the optimization in RotoptimizeJob::prepare()
2021-04-07 12:51:02 +02:00
5443f77489
Increase performance of "best misalignment" method
2021-04-07 12:51:02 +02:00
f3e3aabec7
Least supports optimization revived.
...
Fix missing include on Win32
Cleanup benchmarking code
2021-04-07 12:51:02 +02:00
0194094afa
Method selection implemented
2021-04-07 12:51:02 +02:00
46fd722f3c
Unite cancel callback and status function
2021-04-07 12:51:02 +02:00
de8bb00fa9
Speed up rotation optimizer
...
- No float to double conversion
- Solving issue of random (very similar) results due to the parallel summation of floats
2021-04-07 12:51:02 +02:00
7760d3fbc4
Add new execution framework
...
Inspired by std::execution
2021-04-07 12:51:02 +02:00
4293a68aaa
Reverting to old rotation optimizer object-function.
...
Keep the performance optimizations though
2021-04-07 12:51:02 +02:00
6d58546aef
Fix unmarked failed holes on first gizmo opening
2021-03-16 09:31:03 +01:00
4b9de0398f
Drill holes one by one and display warning of any of them fails
...
Drill with cgal::minus for now
2021-03-16 09:31:03 +01:00
a62262666a
Exclude triangles of original interior mesh and drillholes from trimming
2021-03-08 17:38:10 +01:00
1ec154012e
Add working version of triangle trimming for hollowed meshes
2021-03-08 17:38:10 +01:00
b8c1c13666
Add max_concurrency method for various execution policies
2021-03-08 17:38:10 +01:00
e3c2e513fa
Do grid redistance even with zero closing distance
...
This prevents having a leftover grid with zero at the exterior boundary. Trimming expects zero at (offset + closing distance) inwards
2021-03-08 17:38:10 +01:00
527e675294
Use triangle removal only for visualized mesh
2021-03-08 17:38:10 +01:00
82954ba715
Group hollowing result (including grid) into one struct
2021-03-08 17:38:10 +01:00
e57eca0289
Add voxel scale to openvdb metadata.
...
To be able to retrieve that information from a generated grid alone.
To avoid the copying of input mesh (for scaling) when doing the hollowing
Also remove some unused stuff from OpenVDBUtils
2021-03-08 17:38:10 +01:00
a7255235e5
Remove gcc warning about uninitialized values
2021-03-03 15:19:24 +01:00
cceaae84fb
Silencing compiler warning in AGGRaster on Visual Studio
2021-02-19 18:57:45 +01:00
bf9f908685
Remove warning from zero division.
...
By changing the initial value of pixel size to 1. from 0.
2021-02-11 11:26:25 +01:00
8049dd1f72
Trying to fix the remaining OSX warnings
2021-02-10 19:07:09 +01:00
db2d78ff21
Reduction on compiler warnings, mainly on MSVC.
...
Fix of the new gap_fill_enable flag: Take it into account when comparing
regions.
2021-02-10 17:29:07 +01:00
a7728634f0
Clang: silence -Wdeprecated-declarations for now
...
RPi: hopefully silence a warning
2021-02-08 17:52:29 +01:00
1834ebe981
Fixing Clang warnings 3
2021-02-08 17:52:29 +01:00
b85de89751
Fixing Clang warnings 2
2021-02-08 17:52:29 +01:00
2d32c80b75
Fixing GCC warnings 2
2021-01-29 10:46:52 +01:00
eef800b5c4
FIXME on ExPolygon::overlaps(), which should be commutative.
2021-01-22 15:32:45 +01:00
62bdc192d8
Fix of [2.3.0-alpha4] Crash - several models cause crash when slicing #5208
...
Fixed some issues in internal anchors of the Adaptive Cubic infill.
The ugly and dangerous implicit casting operators in Line, MultiPoint,
Polyline and Polygon were made explicit.
2020-11-24 16:01:08 +01:00
edb8b9f46d
Cover various overhang types cumulatively
2020-10-16 11:14:57 +02:00
fb1f3589ed
Use rotated bounding box to calculate eccentricity
2020-10-16 11:14:57 +02:00
90ddffa83c
This broke the SLA support point generator test. Why?
2020-10-15 13:35:45 +02:00
19a115260a
A little bit cheaper triangle random sampling + documentation.
2020-10-15 07:58:13 +02:00
b178d0af38
Wipe tower - small refactoring and fix
...
Collection of data from internal wipe tower gcode generator now uses move semantics.
Part of gcode at the end of priming was erroneously not exported (extruder current reset etc.)
2020-09-25 12:35:20 +02:00
20bd7b99f9
Significant performance improvements for elevated and non-elevated case
...
Apply bruteforce for elevated models
2020-09-10 19:35:45 +02:00
d527122046
Performance optimizations and bugfix
2020-09-10 14:03:30 +02:00
3b7ea5587e
Fix build on win
2020-09-10 14:03:30 +02:00
0d4c67b9a3
Mostly working, inefficiencies remain, status indication partly broken
2020-09-10 14:03:30 +02:00
b4b9af4100
cosmethics
...
Comments and cosmethics
2020-09-10 14:03:30 +02:00
c10ff4f503
fixing optimizer and concurrency::reduce
2020-09-10 14:03:30 +02:00