Commit Graph

71 Commits

Author SHA1 Message Date
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
Alessandro Ranellucci
090e3b1fe3 Rename shortest_path to chained_path, which reflects its algorithm more correctly 2013-02-05 17:27:45 +01:00
Alessandro Ranellucci
ae201c8f41 Optimization: avoid calculating square roots if not needed 2013-01-28 00:18:55 +01:00
Alessandro Ranellucci
f001374c6e New implementation of the little inwards move before leaving a loop. #186 2012-12-05 11:31:35 +01:00
Alessandro Ranellucci
93310a6a81 Fix bounding_box_center() 2012-11-24 00:15:02 +01:00
Alessandro Ranellucci
5678cd562c Fix preview after rotation in plater 2012-11-19 17:39:16 +01:00
Mike Sheldrake
5ee68aa916 $parallel_degrees_limit decreased, 3 to 0.1, #704
Geometry::lines_parallel() test used for collapsing adjacent colinear
lines was too loose in testing for colinearity, because of this constant
setting. Gradualy curving and high-res outer perimiters would
over-simplify into straight lines.
2012-09-27 06:14:54 -07:00
Alessandro Ranellucci
82ac4722d2 Refactoring, new size_3D function 2012-09-22 16:12:54 +02:00
Alessandro Ranellucci
b5672de3ca Refactoring, new bounding_box_3D function 2012-09-22 16:10:24 +02:00
Alessandro Ranellucci
037be34b7b Bugfix: removed fatal error when generating SVG support material in some circumstances. #673 2012-09-21 16:52:05 +02:00
Alessandro Ranellucci
27b71d8885 Little regressions after recent merge 2012-09-21 16:08:22 +02:00
Alessandro Ranellucci
e40f32995f Finish GUI decoupling 2012-09-21 15:04:33 +02:00
Alessandro Ranellucci
87912cb3b0 Bugfix: only_retract_when_crossing_perimeters was almost not working. #680 2012-09-21 15:04:18 +02:00
Alessandro Ranellucci
7e34244b05 Refactored configuration handling.
Slic3r::Config is now an object. Multiple partial config objects are used throughout the codebase as local repositories, then merged and serialized when necessary.
2012-07-27 21:16:11 +02:00
Alessandro Ranellucci
a4dcbd62da Remove recursion warning for Douglas-Peucker 2012-06-24 16:37:59 +02:00
Mark Hindess
f61a1f5a07 Create *::Geometry::nearest_point_index to speed up shortest_path method.
This fix gives a further 10% speedup on simcop2387's coaster.
2012-06-22 23:12:39 +01:00
Alessandro Ranellucci
7d6545dd07 Further simplification of point_in_polygon() 2012-06-17 19:09:11 +02:00
Mark Hindess
2ef565fc4d Simplify creation of $n, @x and @y in point_in_polygon test.
Gives 30% speed up on simcop2387's coaster on my laptop and it cuts the
maximum resident set size too.  I know this is going to be replaced but
thought this might be useful in the meantime.
2012-06-16 08:28:37 +01:00
Alessandro Ranellucci
82dd3c7a3e New --perimeters-extrusion-width and --infill-extrusion-width options. #302 2012-06-06 18:05:03 +02:00
Alessandro Ranellucci
9f21d5b3c2 One more debugging statement left in 2012-05-19 21:03:24 +02:00
Alessandro Ranellucci
190875d3df Debugging statement left in 2012-05-19 20:47:29 +02:00
Alessandro Ranellucci
22f8d57b36 Memory optimizations broke thin walls 2012-05-19 19:40:51 +02:00
Alessandro Ranellucci
b246480535 Massive reduction of memory usage (down to one third). 2012-05-19 17:57:38 +02:00
Alessandro Ranellucci
d03925a18d New GUI with plating facilities 2012-04-30 14:56:01 +02:00
Alessandro Ranellucci
96d5e513b8 Rename $Slic3r::resolution to $Slic3r::scaling_factor 2012-04-16 14:05:38 +02:00
Alessandro Ranellucci
d51ba94e8a Remove XXX from dependencies 2012-04-16 14:03:36 +02:00
Alessandro Ranellucci
be9886eac3 Bugfix: fill escapes perimeters. #139 2012-03-04 11:26:11 +01:00
Alessandro Ranellucci
554534fcad Optimization 2012-02-26 11:18:42 +01:00
Alessandro Ranellucci
9f5e48bd2c Wrong optimization 2012-02-25 17:40:30 +01:00
Alessandro Ranellucci
2a86932cfe Slight code optimizations 2012-02-25 17:16:55 +01:00
Alessandro Ranellucci
cc695c6c22 Support material: refactoring 2012-02-25 16:23:41 +01:00
Alessandro Ranellucci
a24ffee2aa New polygon_is_convex() function 2012-02-25 16:14:59 +01:00
Alessandro Ranellucci
eba7c10018 Faster support generation. Includes a new implementation of the Douglas-Peucker algorithm 2012-02-25 14:46:21 +01:00
Alessandro Ranellucci
776d985b26 New AMF-to-STL and STL-to-AMF converters 2012-02-19 15:45:27 +01:00
Alessandro Ranellucci
debdd164e2 Bugfix: fatal error and warnings removed when cleaning some dirty layers 2012-01-21 18:44:24 +01:00
Alessandro Ranellucci
1c7564e4a4 Thin walls. #24 2011-12-30 17:17:37 +01:00
Alessandro Ranellucci
b79ae44e3d Recent changes made Slic3r less tolerant with dirty STL files. Now we are able again to slice Prusa parts. #16 2011-12-04 19:10:43 +01:00
Alessandro Ranellucci
4fe340cc56 Many fixes to the bridge direction detection algorithm and other things. #58 2011-12-03 18:31:31 +01:00
Alessandro Ranellucci
792960aae1 Slic3r should now be able to detect optimal bridging direction for any kind of bridge. #58 2011-12-02 23:35:39 +01:00
Alessandro Ranellucci
d51a37a0ae Refactoring: moved slicing code to new TriangleMesh class, leaving in STL just what's needed to read that particular input format. Slic3r will now warn if model is not manifold. #16 2011-11-30 16:07:31 +01:00
Alessandro Ranellucci
038caddcda New fill types (hilbertcurve, archimedeanchords, octagramspiral) and ability to use different patterns for solid layers. #20 2011-11-13 18:14:02 +01:00
Alessandro Ranellucci
c5d5e4d244 Cleanup lines resulting from plane intersection before detecting polygons. This allows for more tolerance with dirty models. Performance impact depends on how many layers are detected as dirty. #16 #28 2011-11-12 10:18:20 +01:00
Alessandro Ranellucci
279bfbb10d Organize perimeters with a nearest point search to avoid unnecessary travel moves. #21 2011-11-07 15:40:09 +01:00
Alessandro Ranellucci
6d6533831e New experimental --gcode-arcs options to generate G2/G3 commands. #23 2011-10-28 14:13:44 +02:00
Alessandro Ranellucci
56619871b2 Bugfix: some bridges had wrong perimeters inside 2011-10-13 22:22:45 +02:00