Vojtech Bubnik
8dad25efc4
Merge branch 'master' into master_262
2023-09-04 14:44:32 +02:00
ps_copyright
f32859c302
final copyright headers
2023-09-01 14:49:07 +02:00
Vojtech Bubnik
19062b4d5f
ArcWelder path interpolation based on the work by Brad Hochgesang @FormerLurker.
...
WIP GCode/SmoothPath.cpp,hpp cache for interpolating extrusion path with arches.
Removed Perl test t/geometry.t, replaced with C++ tests.
Refactored ExtrusionEntity and derived classes to hold extrusion attributes in new ExtrusionFlow/ExtrusionAttributes classes.
Reworked path ordering in G-code export to never copy polylines, but to work with a new "flipped" attribute.
Reworked G-code export to interpolate extrusion paths with smooth paths and to extrude those smooth paths.
New parameters: arc_fitting, arc_fitting_tolerance
Renamed GCode class to GCodeGenerator
Moved GCodeWriter.cpp/hpp to GCode/
Moved Wipe from from GCode.cpp,hpp to GCode/Wipe.cpp,hpp
Moved WipeTowerIntegration from GCode.cpp,hpp to GCode/WipeTowerIntegration.cpp,hpp
New variant of douglas_peucker() to simplify range of iterators in place.
Refactored wipe in general and wipe on perimeters / hiding seams.
WIP: Convert estimate_speed_from_extrusion_quality() and its application to smooth paths.
WIP: Cooling buffer to process G2G3, disable arc fitting for filters that cannot process it.
2023-07-13 11:54:42 +02:00
Vojtech Bubnik
2eb0417018
Further Perl eradication
2022-10-27 20:01:55 +02:00
Vojtech Bubnik
aa3231e2c5
Further slimming of Perl bindings.
2022-05-04 19:10:34 +02:00
Vojtech Bubnik
576c167bd5
Ported "avoid crossing perimeters" and bridging unit tests from Perl
...
to C++.
Further reduced Perl bindings.
Got rid of the ExPolygonCollection wrapper, replaced with ExPolygons.
2022-05-04 18:21:08 +02:00
Vojtech Bubnik
3687bc28d5
Some reduction of Perl dependencies on ClipperLib,
...
ported some ClipperLib polyline clipping tests to C++.
2022-05-02 14:34:50 +02:00
bubnikv
36faa090fc
Removed the Controller, Layer View, System Info, ObjectCutDialog,
...
removed unused Perl modules.
2018-09-14 10:25:20 +02:00
bubnikv
81823fe7df
Reduced the content of Geometry.pm, removed unused Perl subroutines.
...
Reduced the use Slic3r::Geometry and use Slic3r::Geometry::Clipper
clauses to only reference used subroutines.
2017-07-19 10:45:39 +02:00
Alessandro Ranellucci
d6d7880507
Ported Slic3r::Geometry::arrange() to C++/XS
2015-04-29 19:19:07 +02:00
Alessandro Ranellucci
5eb3bc52ef
Ported ModelObject::rotate() and ModelObject::flip() to XS, as well as axes constants
2015-04-16 21:22:04 +02:00
Alessandro Ranellucci
379cde30e2
Ported Slic3r::BridgeDetector to XS
2014-11-15 22:41:22 +01:00
Alessandro Ranellucci
ed17c22889
Minor cleanup of imported symbols
2014-10-25 11:15:12 +02:00
Alessandro Ranellucci
cb1527f7ef
Refactoring: move direction math into a single function. Includes some fixes and adjustments
2014-05-02 18:48:11 +02:00
Alessandro Ranellucci
3c77b301a7
Promising approach to medial axis pruning
2014-03-04 23:33:13 +01:00
Alessandro Ranellucci
c5ead0f2a6
Fixes to Config and plater; also refactored the arrange() code
2013-12-24 00:30:51 +01:00
Alessandro Ranellucci
a29eeb7789
Fix t/geometry.t
2013-11-24 00:59:45 +01:00
Alessandro Ranellucci
30297ee4dc
Removed chained_path_items()
2013-11-23 21:47:33 +01:00
Alessandro Ranellucci
0045f84ed2
Removed chained_path_points()
2013-11-23 21:42:01 +01:00
Alessandro Ranellucci
0516aac715
Ported chained_path() to XS
2013-11-23 21:39:05 +01:00
Alessandro Ranellucci
4577f0725c
Incomplete work for XS-based convex_hull
2013-11-22 21:43:35 +01:00
Alessandro Ranellucci
a950fbe0c2
Removed more unused functions and fixed tests
2013-11-22 16:19:15 +01:00
Alessandro Ranellucci
3025c77675
Use Clipper for line clipping
2013-11-21 14:15:38 +01:00
Alessandro Ranellucci
c133a33ed2
Ported point_line_distance() and removed same_point()
2013-11-06 23:08:03 +01:00
Alessandro Ranellucci
09be25a156
Removed useless functions
2013-11-06 21:09:28 +01:00
Alessandro Ranellucci
d8e098ab0e
Ported same_line() to XS
2013-11-06 19:38:10 +01:00
Alessandro Ranellucci
849d69d178
Fix regression in chained_path() introduced in fb763b01879f6943bf8f601f37e03947ccbf7511. Includes regression test. #1184
2013-11-02 18:00:55 +01:00
Alessandro Ranellucci
a821eb7f3c
More work to avoid working with vertices outside XS
2013-09-11 11:55:08 +02:00
Alessandro Ranellucci
9484c377d9
Removed debugging line
2013-09-06 16:46:28 +02:00
Anders Sundman
73878e0218
The 'use' prevented the build.
...
There is probably a reason for this line though.
2013-09-04 22:45:19 +02:00
Alessandro Ranellucci
fb763b0187
Removed dependency on Math::Clipper
2013-08-27 01:26:44 +02:00
Alessandro Ranellucci
b11b595c97
Ported nearest_point() and nearest_point_index()
2013-08-27 00:52:20 +02:00
Alessandro Ranellucci
fe42427a54
Ported Polygon->is_valid() and ExPolygon->is_valid()
2013-08-26 23:27:51 +02:00
Alessandro Ranellucci
9458c7db97
Fix integration of XS containers
2013-07-16 17:13:01 +02:00
Alessandro Ranellucci
9af2a1c007
Use XS Point everywhere
2013-07-15 20:31:43 +02:00
Alessandro Ranellucci
c9749ca3b3
More integration of Slic3r::Point::XS
2013-07-15 16:04:49 +02:00
Alessandro Ranellucci
f612d4c64e
Ported ExtrusionPath to XS. Failing test for Surface
2013-07-15 12:14:22 +02:00
Alessandro Ranellucci
1506907212
More incomplete work to make the plater work with XS data
2013-07-11 16:48:44 +02:00
Alessandro Ranellucci
cd1a39397b
Optimize concentric loops
2013-06-23 00:50:44 +02:00
Alessandro Ranellucci
08a0bbd7f0
Optimization: split meshes automatically when avoid_crossing_perimeters is enabled, so that we reduce the complexity of the MotionPlanner graphs. This commit includes a very large refactoring of the Model class which is now responsible for duplication and arrangement
2013-05-18 16:48:26 +02:00
Alessandro Ranellucci
5c74fd095b
Very basic implementation of 3D preview - install Wx::GLCanvas to get it working
2013-05-17 14:14:33 +02:00
Alessandro Ranellucci
430c825918
Align rectilinear and line infill across layers (new implementation). #712
2013-04-18 17:34:21 +02:00
Jesse Vincent
7ec6332141
split apart the math in nearest_point_index and short-circuit if we know the candidate is no good
2013-04-07 19:53:15 -04:00
Jesse Vincent
e8ca1e59a6
no functional change. only return from one place for clarity
2013-04-07 19:44:32 -04:00
Jesse Vincent
da0e67a891
Only look up $point's X and Y once, rather than once on every pass through the loop.
...
(Those lookups are expensive)
2013-04-07 18:28:08 -04:00
Jesse Vincent
3e8c5804fe
Inline comparable_distance_between_points
...
It was called on an incredibly hot codepath from a single place. At 12313276 calls
on my test .stl, the sub call overhead alone was a significant perf hit.
2013-04-07 18:13:40 -04:00
Jesse Vincent
060d2da7fe
Small optimization on an incredibly hot codepath.
2013-04-07 18:01:15 -04:00
Alessandro Ranellucci
33b40eda18
Always fix self-intersecting polygons that Douglas-Peucker might return
2013-03-16 18:42:56 +01:00
Alessandro Ranellucci
a412291690
Little optimization
2013-03-13 01:07:06 +01:00
Alessandro Ranellucci
26a3cd5542
Refactor chained_path(), add chained_path_items() and chained_path_points()
2013-02-06 12:03:53 +01:00