Commit Graph

1795 Commits (fb763b01879f6943bf8f601f37e03947ccbf7511)

Author SHA1 Message Date
Alessandro Ranellucci b1147861dd Implement lower_bound() and upper_bound() methods for ZTable 2013-07-20 21:19:59 +02:00
Alessandro Ranellucci e29aca3553 Reapply correct optimization for simplifiying fill_surfaces before performing the offset. #1325 2013-07-20 12:22:41 +02:00
Alessandro Ranellucci 1b285f3f46 Thread-safe integration of ExtrusionPath::Collection 2013-07-18 22:29:12 +02:00
Alessandro Ranellucci c030e38908 Ported ExtrusionPath::Collection 2013-07-18 19:09:07 +02:00
Alessandro Ranellucci 0efea9e442 Ported diff() and intersection() 2013-07-17 01:21:30 +02:00
Alessandro Ranellucci c7b6818ccf Ported offset() and offset2() 2013-07-17 00:48:29 +02:00
Alessandro Ranellucci bf8c799685 Ported diff_ex, intersection_ex, union_ex, xor_ex 2013-07-17 00:29:09 +02:00
Alessandro Ranellucci f7ada2b5db Ported make_clockwise() and make_counter_clockwise() 2013-07-16 21:09:29 +02:00
Alessandro Ranellucci fe061b19ad Ported Polygon->is_counter_clockwise() and rearranged code in .cpp files 2013-07-16 21:04:14 +02:00
Alessandro Ranellucci 79db996696 Ported diff_ex() to XS 2013-07-16 20:29:15 +02:00
Alessandro Ranellucci 898007fc36 Port offset_ex() and offset2_ex() to XS 2013-07-16 20:09:53 +02:00
Alessandro Ranellucci 9458c7db97 Fix integration of XS containers 2013-07-16 17:13:01 +02:00
Mark Hindess b5426ad297 Revert "Optimization: simplify fill_surfaces before the offset operation"
To workaround issue #1325 and possibly #1320.

This reverts commit 3a046e3411.
2013-07-16 10:44:52 +01:00
Alessandro Ranellucci 9b582a11ff Adopt XS containers everywhere (incomplete work) 2013-07-16 09:49:34 +02:00
Alessandro Ranellucci ab6b3d41a7 XS interface completed, including new Line class 2013-07-15 22:57:22 +02:00
Alessandro Ranellucci 9af2a1c007 Use XS Point everywhere 2013-07-15 20:31:43 +02:00
Alessandro Ranellucci d0701cdcd4 Implemented Slic3r::ExtrusionLoop 2013-07-15 16:21:09 +02:00
Alessandro Ranellucci c9749ca3b3 More integration of Slic3r::Point::XS 2013-07-15 16:04:49 +02:00
Alessandro Ranellucci 159a009f96 Fix tests here and there 2013-07-15 15:26:56 +02:00
Alessandro Ranellucci f612d4c64e Ported ExtrusionPath to XS. Failing test for Surface 2013-07-15 12:14:22 +02:00
Alessandro Ranellucci 13e3a9129c Use Slic3r::ExPolygon::Collection for Layer->slices 2013-07-14 15:06:49 +02:00
Alessandro Ranellucci 7534c1e6d9 Use Slic3r::Surface::Collection for Layer::Region->slices 2013-07-14 15:03:45 +02:00
Alessandro Ranellucci 5885be881c New Slic3r::Surface::Collection class 2013-07-14 14:56:43 +02:00
Alessandro Ranellucci 399bc80899 Ported Slic3r::Surface to XS 2013-07-14 13:05:55 +02:00
Alessandro Ranellucci b1ad466189 Ported Slic3r::ExPolygon::Collection to XS 2013-07-14 00:38:01 +02:00
Alessandro Ranellucci 7f4dc4e248 Fix merging error 2013-07-14 00:20:03 +02:00
Alessandro Ranellucci 31809d473f Merge branch 'master' into xsdata
Conflicts:
	lib/Slic3r/GCode.pm
	xs/src/Point.hpp
2013-07-13 21:00:19 +02:00
Alessandro Ranellucci 027f8d1e53 Optimizations in the algorithm that builds loops 2013-07-13 20:56:13 +02:00
Alessandro Ranellucci 69a8bac9c9 Show a warning if we repaired the input file 2013-07-13 20:34:57 +02:00
Alessandro Ranellucci 6affa23297 Show repair stats in object info dialog 2013-07-13 20:23:03 +02:00
Alessandro Ranellucci 89fae9ee15 Make threaded perls work with XS data in plater thumbnails. Includes cleaner ->arrayref implementation 2013-07-11 19:34:37 +02:00
Alessandro Ranellucci fb7cea3cb9 Make plater work with XS data in single-thread environment 2013-07-11 19:13:43 +02:00
Alessandro Ranellucci 87a5de193d ExPolygon::XS->rotate() 2013-07-11 18:55:51 +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 8d171a297e Add thread cleanup to avoid double destruction of shared XS data 2013-07-11 16:17:36 +02:00
Alessandro Ranellucci 6f6ee40dae Small optimization in case no overhang logic is required at all 2013-07-07 19:12:44 +02:00
Alessandro Ranellucci c57a88c943 start_perimeters_at_non_overhang was still partially enforced 2013-07-07 19:11:23 +02:00
Alessandro Ranellucci 5409c27852 Partial GUI compatibility with XS data 2013-07-07 18:43:04 +02:00
Alessandro Ranellucci 8380ca812b One more arrayref conversion 2013-07-07 17:10:22 +02:00
Alessandro Ranellucci a1e4bda670 Have Clipper.pm only return ExPolygon::XS objects 2013-07-07 15:17:09 +02:00
Alessandro Ranellucci 53e4532f9c Merge branch 'master' into xsdata 2013-07-07 12:58:06 +02:00
Alessandro Ranellucci 3a046e3411 Optimization: simplify fill_surfaces before the offset operation 2013-07-07 12:57:26 +02:00
Alessandro Ranellucci f7967414e0 Store layer slices and region slices as XS data to save memory and make them shared across threads 2013-07-07 12:54:20 +02:00
Alessandro Ranellucci cca25c9950 Fix a numerical issue causing failure to detect some bridge anchors 2013-07-06 14:38:53 +02:00
Alessandro Ranellucci 532ff3cde9 Apply the Polyline constructor refactoring to the newslice code 2013-07-06 12:18:58 +02:00
Alessandro Ranellucci 985af5ee56 Merge branch 'newslice' 2013-07-06 12:16:54 +02:00
Alessandro Ranellucci 0bb4a5649a Merge branch 'master' into xs 2013-07-06 12:15:17 +02:00
Alessandro Ranellucci 8d1069766b Workaround dclone() not being thread-safe 2013-07-06 12:14:49 +02:00
Alessandro Ranellucci 9dbf21235c Fixed missing change in recent refactoring, causing plater crash. #1298 2013-07-06 11:50:41 +02:00
Alessandro Ranellucci ab584babf6 Encode Windows paths for the C STL reader 2013-07-06 11:39:28 +02:00
Alessandro Ranellucci 28f8083ab7 Merge branch 'master' into xs 2013-07-06 11:38:40 +02:00
Alessandro Ranellucci f455ecb7da Rename adjust_overhang_flow to overhangs 2013-07-06 11:35:40 +02:00
Alessandro Ranellucci 606d856af8 Lower case option group titles 2013-07-06 02:46:09 +02:00
Alessandro Ranellucci b857d79604 Move spiral_vase to vertical shells section 2013-07-05 22:23:45 +02:00
Alessandro Ranellucci f8ae8d3e8d New option to disable overhang flow 2013-07-05 22:12:58 +02:00
Alessandro Ranellucci 282c751b0f New option for disabling thin wall detection 2013-07-05 22:10:43 +02:00
Alessandro Ranellucci 0a7e0ffecf New options: start_perimeters_at_concave_points start_perimeters_at_non_overhang 2013-07-05 22:06:58 +02:00
Alessandro Ranellucci 362232ada4 New Quality section in GUI 2013-07-05 21:57:56 +02:00
Alessandro Ranellucci f0440bede4 Move infill_every_layers infill_only_where_needed into their own "Reducing Printing Time" section 2013-07-05 21:55:01 +02:00
Alessandro Ranellucci eb2d20d062 Merge branch 'master' into xs 2013-07-05 17:29:28 +02:00
Alessandro Ranellucci 339c487077 Fix starting point after overhang clipping is performed 2013-07-05 17:25:56 +02:00
Alessandro Ranellucci b3b2a1e891 One more fix in overhang starting point detection 2013-07-05 17:08:26 +02:00
Alessandro Ranellucci df4612a209 Prefer starting points that are NOT in overhangs 2013-07-05 17:00:14 +02:00
Alessandro Ranellucci d074b98aba Optimization: don't store wipe path if wipe is not requested 2013-07-05 15:03:08 +02:00
Alessandro Ranellucci be4eb3762f Use dclone() in Point class too 2013-07-05 14:48:03 +02:00
Alessandro Ranellucci 72f77a3420 Use dclone() in Polyline and ExPolygon too 2013-07-05 14:46:32 +02:00
Alessandro Ranellucci 8061cc6e30 Optimization in Polyline instantiation 2013-07-05 14:44:41 +02:00
Alessandro Ranellucci 27c421c27f Slight optimization 2013-07-05 14:21:20 +02:00
Alessandro Ranellucci b266d6217a Skip slow gap detection if we aren't going to fill gaps anyway 2013-07-05 14:17:54 +02:00
Alessandro Ranellucci 4d46ebc6cb Removed useless, slow, code 2013-07-05 14:17:09 +02:00
Alessandro Ranellucci f26f084064 New freeze.t test 2013-07-03 15:42:01 +02:00
Alessandro Ranellucci bb656ea72c Merge branch 'master' into xs 2013-07-03 10:52:13 +02:00
Alessandro Ranellucci 71057b54a9 Allow negative values in validation... 2013-07-03 10:51:44 +02:00
Alessandro Ranellucci 63ba894260 Add some comments to OpenGL code 2013-07-01 12:23:44 +02:00
Alessandro Ranellucci 8ec3ec6bda Cosmetic changes to the new OpenGL code by iXce 2013-07-01 10:58:30 +02:00
Alessandro Ranellucci dcc2b7f4ff Enable PreviewCanvas 2013-07-01 01:51:11 +02:00
Alessandro Ranellucci 7c4b1bc736 Merge pull request #1283 from iXce/master
Panning/rotation/zooming support for 3D viewer
2013-06-30 16:50:16 -07:00
Guillaume Seguin b2e0c1ab42 Use max of all dimensions instead of max of first 2 2013-07-01 00:08:02 +02:00
Guillaume Seguin 1f229f3233 Cleanup 2013-06-30 23:54:13 +02:00
Guillaume Seguin e92fefb6ff Working rotation for mesh viewer 2013-06-30 23:51:06 +02:00
Alessandro Ranellucci 1b6a9c0c3b Added validation on all settings. #611 2013-06-30 15:39:03 +02:00
Guillaume Seguin 6668a81c64 Start work on rotation handling 2013-06-29 18:31:06 +02:00
Guillaume Seguin dd7830b1b7 Add panning support 2013-06-29 15:12:57 +02:00
Guillaume Seguin 43d764feff Implement zoom to point 2013-06-29 14:16:56 +02:00
Guillaume Seguin 317c911c67 Remove leftover from 47b2c13c 2013-06-29 14:16:38 +02:00
Guillaume Seguin bb3ebb0244 Switch to orthographic projection 2013-06-29 10:43:35 +02:00
Guillaume Seguin 47b2c13c99 Get rid of demo timer in PreviewCanvas 2013-06-29 10:43:21 +02:00
Alessandro Ranellucci 1f50d9c7e8 https -> http in manual URL 2013-06-24 20:38:20 +02:00
Alessandro Ranellucci 5975145426 Automatically repair any input STL file 2013-06-24 20:34:57 +02:00
Alessandro Ranellucci ecdc2f077b Merge branch 'master' into xs
Conflicts:
	Build.PL
2013-06-24 19:37:07 +02:00
Alessandro Ranellucci f29faf0548 New Slic3r::TriangleMesh::XS class 2013-06-24 19:35:49 +02:00
Alessandro Ranellucci f5cc446853 Menu item for launching the manual 2013-06-24 18:07:33 +02:00
Alessandro Ranellucci a15884dac9 Remove useless algorithm in loop merging code 2013-06-24 00:08:39 +02:00
Alessandro Ranellucci 3622193c3f Rewrite the algorithm that closes loops in order. We now tolerate the case when more than two facets share a common edge 2013-06-24 00:02:01 +02:00
Alessandro Ranellucci 86c4f5c5b0 Merge branch 'master' into newslice 2013-06-23 22:23:25 +02:00
Alessandro Ranellucci de45b823e1 Merge branch 'master' into xs 2013-06-23 21:12:19 +02:00
Alessandro Ranellucci 2a2633da0a New automatic built-in STL repair 2013-06-23 21:11:46 +02:00
Alessandro Ranellucci 625a300822 New [layer_num] placeholder in layer change G-code 2013-06-23 19:25:32 +02:00
Alessandro Ranellucci 8ea4ed3b5e Allow to supply custom G-code via command line if file is not found 2013-06-23 19:25:02 +02:00
Alessandro Ranellucci 2d687cd0a0 Only combine internal infill and leave internal-solid as it is. #1248 2013-06-23 18:21:47 +02:00
Alessandro Ranellucci f3a9d41c70 Cache a Z table for layer range search 2013-06-23 17:07:12 +02:00
Alessandro Ranellucci 37105e8237 Ported get_layer_range() to C 2013-06-23 15:33:07 +02:00
Alessandro Ranellucci 9a904dc88d Lighter implementation of the slicing algorithm to save memory and time 2013-06-23 12:26:40 +02:00
Alessandro Ranellucci cd1a39397b Optimize concentric loops 2013-06-23 00:50:44 +02:00
Alessandro Ranellucci 78f1527ab7 Compensate perimeter/infill overlap for concentric infill 2013-06-23 00:37:04 +02:00
Alessandro Ranellucci 5c7b447f07 Ensure there's no numerical error when searching for concave points 2013-06-23 00:21:19 +02:00
Alessandro Ranellucci 1e3ce9b8c4 Complete retraction if the wipe path was too short for the full retract. #1264 2013-06-23 00:10:57 +02:00
Alessandro Ranellucci c03f9f0197 Fixed regression causing wrong direction for inwards move in holes. Includes regression test. #1265 2013-06-23 00:05:08 +02:00
Alessandro Ranellucci 0bd3d958e2 More optimizations in slice_facet() 2013-06-22 20:48:56 +02:00
Alessandro Ranellucci 1565560b55 One more little optimization 2013-06-22 20:37:15 +02:00
Alessandro Ranellucci db266cde9f Little optimizations in slicing 2013-06-22 20:32:39 +02:00
Alessandro Ranellucci 398e66572d Optimization: remove overkill sort 2013-06-22 19:59:27 +02:00
Alessandro Ranellucci 82fbdb603f Optimization: cache model bounding box 2013-06-22 19:36:50 +02:00
Alessandro Ranellucci 4774b0e910 Be tolerant with STL files without the "normal" word 2013-06-22 16:15:07 +02:00
Alessandro Ranellucci 64a21276e3 Add regression test for concave starting points. #135 2013-06-22 15:22:58 +02:00
Alessandro Ranellucci b35e668ee7 Require Boost::Geometry::Utils 0.15 2013-06-21 19:46:45 +02:00
Alessandro Ranellucci aba7641fe4 Avoid starting loops on convex vertices and/or overhangs. #296 #135 2013-06-21 19:43:15 +02:00
Alessandro Ranellucci 90d8da0e0d Limit fan speed to 100% :-) 2013-06-21 16:08:16 +02:00
Alessandro Ranellucci 19b40baf55 Add regression test to ensure fan is enabled when printing overhangs. #432 2013-06-21 15:38:58 +02:00
Alessandro Ranellucci c707073a73 Some fixes about overhang detection. Includes regression tests 2013-06-21 14:52:35 +02:00
Alessandro Ranellucci f5322596d9 Note to self in code 2013-06-20 20:16:15 +02:00
Alessandro Ranellucci 7e875393f5 New algorithm for overhang detection 2013-06-20 20:11:46 +02:00
Alessandro Ranellucci 015580629b Removed wrong optimization causing possible extra retractions while moving in infill space 2013-06-20 19:43:53 +02:00
Alessandro Ranellucci 4474595629 Removed useless code 2013-06-20 19:21:35 +02:00
Alessandro Ranellucci b414c50b68 Optimization: use Boost.Geometry for point in polygon 2013-06-20 18:48:11 +02:00
Alessandro Ranellucci f7be746599 Disable overhang detection for now 2013-06-19 20:09:58 +02:00
Alessandro Ranellucci fcd4de00e5 One more fix for --complete-objects working on single-object plates 2013-06-19 18:01:24 +02:00
Alessandro Ranellucci 5843f5df6c Fix regression in --complete-objects causing fatal error and/or wrong warnings about object heights 2013-06-19 17:34:37 +02:00
Alessandro Ranellucci b71bc37111 Remove a couple cases of dangerous aliasing, causing crashes. #1257 2013-06-17 19:27:08 +02:00
Alessandro Ranellucci 799aeedd97 Fixed wrong refactoring in ac4a0bcdd8 2013-06-17 13:32:53 +02:00
Alessandro Ranellucci c4036470af Fix one thing leftover from bounding box refactoring 2013-06-17 12:11:28 +02:00
Alessandro Ranellucci c6ef81fb91 Modify overhang detection algorithm 2013-06-16 18:08:17 +02:00
Alessandro Ranellucci 45611d6742 Fix connection algorithm for rectilinear infill as sometimes it wasn't connecting segments correctly 2013-06-16 18:05:56 +02:00
Alessandro Ranellucci 0ad78eaf55 Return explicit 0 from have_version_check() to avoid wxMenuItem->Enable errors 2013-06-16 16:07:47 +02:00
Alessandro Ranellucci 3bcf1da702 Disable avoid_crossing_perimeters optimization until we can detect nested shells. #1254 2013-06-16 16:04:19 +02:00
Alessandro Ranellucci 32aafd2eb9 Temporary workaround until Boost::Geometry::Utils 0.14 is available 2013-06-16 15:11:39 +02:00
Alessandro Ranellucci 258842b845 New logic for connecting honeycomb loops 2013-06-16 13:31:10 +02:00
Alessandro Ranellucci 9ff85898b1 New logic for connecting honeycomb paths 2013-06-16 13:26:57 +02:00
Alessandro Ranellucci 961586fe8f Rewrite honeycomb infill so that it only generates the pattern for the bounding box of the region instead of the full print, so reduce complexity of the clipping routine 2013-06-16 13:13:52 +02:00
Alessandro Ranellucci ac4a0bcdd8 Refactoring: use Slic3r::Geometry::BoundingBox objects everywhere 2013-06-16 12:21:25 +02:00
Alessandro Ranellucci 07407e5dbd Merge branch 'master' into overhang
Conflicts:
	lib/Slic3r/GCode.pm
2013-06-16 10:49:33 +02:00
Alessandro Ranellucci 2993a1659e Bump version number 2013-06-16 10:22:22 +02:00
Alessandro Ranellucci d0eac88ff9 Reduce vibrations when doing gap fill 2013-06-15 21:27:36 +02:00
Alessandro Ranellucci 8b48d79563 Improve zigzag gap fill. #1234 2013-06-15 21:10:04 +02:00
Alessandro Ranellucci cb75b1e47b Fix plater crash on threaded perls 2013-06-15 19:15:24 +02:00
Alessandro Ranellucci 8d9d023dd7 Merge branch 'honeycomb-clipping' 2013-06-15 18:10:16 +02:00
Alessandro Ranellucci 20158aac0d Merge branch 'issue1161' 2013-06-15 18:08:01 +02:00
Alessandro Ranellucci 7560d5f131 Merge branch 'perl-518' 2013-06-15 18:06:36 +02:00
Alessandro Ranellucci 8b6afb61d9 Fix little error in tests 2013-06-15 17:17:48 +02:00
Alessandro Ranellucci 7bf308c08f Fix one more centering problem caused by wrong bounding box implementation 2013-06-15 15:50:02 +02:00