Commit Graph

85 Commits

Author SHA1 Message Date
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
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