Vojtech Bubnik
7d02647ebf
Removed various Point::ccw() and Point::ccw_angle() methods, they were
...
provided for Perl bindings and their semantic was confusing.
Implemented free function angle() to measure angle between two vectors.
Reworked Polygon::convex/concave_points(), changed the meaning of their
angle threshold parameter.
Removed some unused methods from Perl bindings and tests.
Reworked the "wipe inside at the external perimeter" function
after Point::ccw_angle() was removed.
2022-04-25 12:42:51 +02:00
PavelMikus
156a60017d
fixed ExPolygons dealocation while using EdgeGrid
...
fixed warnings in Bicubic.h file
2022-04-25 12:42:51 +02:00
PavelMikus
965803822e
remove invalid comment
2022-04-25 12:42:51 +02:00
PavelMikus
1164449d4e
compute overhang distance using SDF
...
detect embedded (inner) perimeter points and prefer them for seam placement
2022-04-25 12:42:51 +02:00
PavelMikus
191e788aa0
make Random seams disaligned
2022-04-25 12:42:51 +02:00
PavelMikus
15135ef2ed
fixes, central enforced point preference
2022-04-25 12:42:51 +02:00
PavelMikus
5c23d471de
BSplines, Polynomial fitting
2022-04-25 12:42:51 +02:00
PavelMikus
bbcd6be250
Implemented piecewise data (curve) fitting with variable kernels
2022-04-25 12:42:51 +02:00
PavelMikus
bb89b630d9
implemented occlusion estimation for objects with negative volumes
2022-04-25 12:42:51 +02:00
PavelMikus
ca259caf33
fix ccw angle computation in Point.cpp
2022-04-25 12:42:51 +02:00
PavelMikus
177a1fd54a
finalize integration into GCode.cpp export functions, remove unused
...
edge grids
2022-04-25 12:42:51 +02:00
PavelMikus
6dbc7149be
parameter fixes, alignemnt for enforcers simplified
2022-04-25 12:42:51 +02:00
PavelMikus
c640fb854f
bug fix: using trafo() instead of trafo_centred() caused
...
misalignment between occlusion mesh and seam candidates
2022-04-25 12:42:51 +02:00
PavelMikus
2274965079
alignment from best candidate
2022-04-25 12:42:51 +02:00
PavelMikus
eccf1c1553
refactored raycasting - inverted direction of raycasting - now each face is tested
...
fixed bug with custom seam drawings - square distance parameter named incorrectly
2022-04-25 12:42:51 +02:00
PavelMikus
a9f5330ad2
using gauss function to smoothen criteria skips
2022-04-25 12:42:51 +02:00
Godrak
ab3c8d0fe8
implemented smooth angle penalty function
2022-04-25 12:42:51 +02:00
PavelMikus
a92d5038bd
debug export svg info,
...
fixing problem with weird seam placement caused by disconnected scoring function
2022-04-25 12:42:51 +02:00
PavelMikus
962282c9ef
split occlusion and enforcers/blockers into separate functions
...
added weights to polynomial fitting
2022-04-25 12:42:51 +02:00
PavelMikus
f837759928
fixed problem with multipart objects
...
fixed bug : model volume trafo was not considered
2022-04-25 12:42:51 +02:00
PavelMikus
a775bf2978
improved enforcers blockers oversampling, renamed parameter
2022-04-25 12:42:51 +02:00
PavelMikus
8f7b86915a
oversample polygons where necessary, due to seam enforcers & blockers
2022-04-25 12:42:51 +02:00
PavelMikus
87c276b7a4
comments and bugfix
2022-04-25 12:42:51 +02:00
PavelMikus
ad819850f9
tweaked parameters,
...
fixed minor bugs
2022-04-25 12:42:51 +02:00
PavelMikus
c72687c96c
computing smooth score instead of binary decision when picking seams
...
some basic documentation
2022-04-25 12:42:51 +02:00
PavelMikus
105b67c9a7
presorting seams before alignemnt
...
mesh decimation for speed up
2022-04-25 12:42:51 +02:00
PavelMikus
f018160e72
implemented polynomial alignment,
...
however, initital seam placement is not ideal
- hard to balance visual cues and angle information
2022-04-25 12:42:51 +02:00
PavelMikus
ffc7452d9e
improved visibility calculation - it now considers normals and
...
accordingly counts only hits which have similar normal
2022-04-25 12:42:51 +02:00
PavelMikus
38a9d870c0
implemented seam alignment using exponential smoothing
2022-04-25 12:42:51 +02:00
PavelMikus
596bd68f18
refactoring, created perimters struct to store info,
...
removed alignment iterations, created dynamic ray count estimation
2022-04-25 12:42:51 +02:00
PavelMikus
53ff4a69e0
implemented debug files export
2022-04-25 12:42:51 +02:00
PavelMikus
3029053d43
fixed some problems according to code review
...
simplified blockers and enforcers
Pre-Refactoring version
2022-04-25 12:42:51 +02:00
PavelMikus
5a03f60c31
fixed bug: wrong estimation of angles inside holes
2022-04-25 12:42:51 +02:00
PavelMikus
356ed93ad7
Raft layers cause SeamPlacer crash - fix
2022-04-25 12:42:51 +02:00
PavelMikus
132f4bb590
bugfix: usage of undeclared M_PIf32 instead of PI
2022-04-25 12:42:51 +02:00
PavelMikus
4b3db29d32
refactoring into floats, fixed problems with float/double mixing,
...
returned to fixed ray count, yields better results
2022-04-25 12:42:51 +02:00
PavelMikus
8226061da4
so far best version
2022-04-25 12:42:51 +02:00
PavelMikus
36a4906536
refactored init method - split into several parts,
...
added blur filter to seam placement distribution
2022-04-25 12:42:51 +02:00
PavelMikus
1a25058456
workable version, some parameter tweaking probably still needed
2022-04-25 12:42:51 +02:00
PavelMikus
e8f740dabb
implemented overhang calculation and alignemnt iterations for seams
...
now only external perimeters are considered which reduced time complexity
2022-04-25 12:42:51 +02:00
PavelMikus
53e9bb3ebf
integration of enforcers and blockers
2022-04-25 12:42:51 +02:00
PavelMikus
38a6e231f2
minor changes, more transparent parameters settings
2022-04-25 12:42:51 +02:00
PavelMikus
45b49ad545
initial demo
...
fixed KD tree neighbour search, finished refactoring of raycasts,
substantially improved performance of seam placement - seams
are now precomputed and their indexes stored such that place_seam does almost nothing.
2022-04-25 12:42:51 +02:00
PavelMikus
55e0f2dd83
refactoring raycaster, gathering only hitpoints and their normals.
2022-04-25 12:42:51 +02:00
PavelMikus
fea247f261
Fixed bug - the rays had opposite directions, so all of them flown away from the object; also fixed compilation bug - missing import of timer.h
2022-04-25 12:42:51 +02:00
PavelMikus
fdfe19ef49
init version of occlusion estimation, raycasting implemented but for some reason only parts of model are estimated
2022-04-25 12:42:51 +02:00
Vojtech Bubnik
926ae04718
Follow-up to 408e56f039
...
Fixing compilation of tests on latest GCC/boost
2022-04-25 11:32:09 +02:00
Lukas Matena
142b924366
Fixed MSVC debug assert in lightning infill (invalidated iterator)
2022-04-25 11:06:00 +02:00
Vojtech Bubnik
408e56f039
Fix of Boost 1.79 deprecated boost::filesystem::ofstream #8238
...
Replacing boost::filesystem::fstream with boost::nowide::fstream
variants with the unfortunate cost of string path conversion on Windows
from 16 bits to UTF8 and back to 16 bits.
Unfortunately we cannot use std::filesystem yet as it is missing
on older MACs and because the interface is crooked minefield on Windows
see https://github.com/microsoft/STL/issues/909
2022-04-25 08:33:48 +02:00
Lukas Matena
5047d4a10b
Minor fix in github issue template
2022-04-25 08:45:01 +02:00