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