Vojtech Bubnik
70b4915f9c
TriangleMeshSlicer: Got rid of admesh!
2021-05-18 15:05:30 +02:00
Vojtech Bubnik
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
tamasmeszaros
68d2427a34
Fix marching squares test crash in debug builds
2021-05-17 14:54:47 +02:00
Vojtech Bubnik
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
Vojtech Bubnik
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
Vojtech Bubnik
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
tamasmeszaros
a15c16d40d
Use new libnest backend for MinAreaBoundingBox wrapper
2021-04-21 17:21:43 +02:00
tamasmeszaros
ad19ab219d
New custom backend for libnest2d using libslic3r types
...
Adapted to new clipper->eigen mod
2021-04-21 16:02:25 +02:00
Vojtech Bubnik
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
tamasmeszaros
bed3321324
Small improvement to "least supports" method
2021-04-07 12:51:02 +02:00
tamasmeszaros
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
tamasmeszaros
5443f77489
Increase performance of "best misalignment" method
2021-04-07 12:51:02 +02:00
tamasmeszaros
f3e3aabec7
Least supports optimization revived.
...
Fix missing include on Win32
Cleanup benchmarking code
2021-04-07 12:51:02 +02:00
tamasmeszaros
0194094afa
Method selection implemented
2021-04-07 12:51:02 +02:00
tamasmeszaros
46fd722f3c
Unite cancel callback and status function
2021-04-07 12:51:02 +02:00
tamasmeszaros
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
tamasmeszaros
7760d3fbc4
Add new execution framework
...
Inspired by std::execution
2021-04-07 12:51:02 +02:00
tamasmeszaros
4293a68aaa
Reverting to old rotation optimizer object-function.
...
Keep the performance optimizations though
2021-04-07 12:51:02 +02:00
tamasmeszaros
6d58546aef
Fix unmarked failed holes on first gizmo opening
2021-03-16 09:31:03 +01:00
tamasmeszaros
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
tamasmeszaros
a62262666a
Exclude triangles of original interior mesh and drillholes from trimming
2021-03-08 17:38:10 +01:00
tamasmeszaros
1ec154012e
Add working version of triangle trimming for hollowed meshes
2021-03-08 17:38:10 +01:00
tamasmeszaros
b8c1c13666
Add max_concurrency method for various execution policies
2021-03-08 17:38:10 +01:00
tamasmeszaros
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
tamasmeszaros
527e675294
Use triangle removal only for visualized mesh
2021-03-08 17:38:10 +01:00
tamasmeszaros
82954ba715
Group hollowing result (including grid) into one struct
2021-03-08 17:38:10 +01:00
tamasmeszaros
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
tamasmeszaros
a7255235e5
Remove gcc warning about uninitialized values
2021-03-03 15:19:24 +01:00
Vojtech Bubnik
cceaae84fb
Silencing compiler warning in AGGRaster on Visual Studio
2021-02-19 18:57:45 +01:00
tamasmeszaros
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
Vojtech Bubnik
8049dd1f72
Trying to fix the remaining OSX warnings
2021-02-10 19:07:09 +01:00
Vojtech Bubnik
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
Lukas Matena
a7728634f0
Clang: silence -Wdeprecated-declarations for now
...
RPi: hopefully silence a warning
2021-02-08 17:52:29 +01:00
Lukas Matena
1834ebe981
Fixing Clang warnings 3
2021-02-08 17:52:29 +01:00
Lukas Matena
b85de89751
Fixing Clang warnings 2
2021-02-08 17:52:29 +01:00
Lukas Matena
2d32c80b75
Fixing GCC warnings 2
2021-01-29 10:46:52 +01:00
Vojtech Bubnik
eef800b5c4
FIXME on ExPolygon::overlaps(), which should be commutative.
2021-01-22 15:32:45 +01:00
Vojtech Bubnik
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
tamasmeszaros
edb8b9f46d
Cover various overhang types cumulatively
2020-10-16 11:14:57 +02:00
tamasmeszaros
fb1f3589ed
Use rotated bounding box to calculate eccentricity
2020-10-16 11:14:57 +02:00
Vojtech Bubnik
90ddffa83c
This broke the SLA support point generator test. Why?
2020-10-15 13:35:45 +02:00
Vojtech Bubnik
19a115260a
A little bit cheaper triangle random sampling + documentation.
2020-10-15 07:58:13 +02:00
Lukas Matena
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
tamasmeszaros
20bd7b99f9
Significant performance improvements for elevated and non-elevated case
...
Apply bruteforce for elevated models
2020-09-10 19:35:45 +02:00
tamasmeszaros
d527122046
Performance optimizations and bugfix
2020-09-10 14:03:30 +02:00
tamasmeszaros
3b7ea5587e
Fix build on win
2020-09-10 14:03:30 +02:00
tamasmeszaros
0d4c67b9a3
Mostly working, inefficiencies remain, status indication partly broken
2020-09-10 14:03:30 +02:00
tamasmeszaros
b4b9af4100
cosmethics
...
Comments and cosmethics
2020-09-10 14:03:30 +02:00
tamasmeszaros
c10ff4f503
fixing optimizer and concurrency::reduce
2020-09-10 14:03:30 +02:00
tamasmeszaros
c193d7c930
Brute force optimization code, buggy yet
...
wip
wip
wip refactor
2020-09-10 14:03:30 +02:00