Commit Graph

3389 Commits

Author SHA1 Message Date
Alessandro Ranellucci
91799a9e58 Rephrase the tooltip for start G-code to make its position more clear. #1822 2014-03-24 22:06:35 +01:00
Alessandro Ranellucci
9fa2a17136 Better tooltip for top_solid_infill_speed. #1752 2014-03-24 14:25:12 +01:00
Alessandro Ranellucci
4c6f9703df Fix bad deserialization of extruder_offset = 0x0 2014-03-24 14:16:37 +01:00
Alessandro Ranellucci
7a58457add Prevent GUI from crashing when invalid values were written in numeric fields. Includes basic validation. #1709 2014-03-24 01:07:30 +01:00
Alessandro Ranellucci
e9620c30b1 Update Clipper to 6.1.3a 2014-03-23 21:40:35 +01:00
Alessandro Ranellucci
d02b64b31b Bugfix: binary STL export produced corrupt results on Windows. #1814 2014-03-23 19:17:56 +01:00
Alessandro Ranellucci
9f8b5f80d1 Add 0% to fill_density combobox 2014-03-23 16:57:12 +01:00
Alessandro Ranellucci
d75417601e Make the override panel prettier and prevent the default extruder setting from being deleted since it can't be readded manually 2014-03-23 15:18:08 +01:00
Alessandro Ranellucci
21e6de0e59 Only expand shortcut options in StaticConfig objects. This way we can keep a default extruder value in the parts panel 2014-03-22 20:12:54 +01:00
Alessandro Ranellucci
b5b735c988 ComboBox for fill density values 2014-03-22 17:01:48 +01:00
Alessandro Ranellucci
7421a7bf63 Turn fill_density into percentage 2014-03-22 16:23:33 +01:00
Alessandro Ranellucci
ed8a2f7330 Extend medial axis endpoints to fill the entire length. Includes fix for a minor memory leak caused by usage of old signature for Line::point_at() 2014-03-15 16:53:20 +01:00
Alessandro Ranellucci
52de292a48 Fixed wrong refactoring of perimeter tree traversal. #1832 2014-03-15 02:16:04 +01:00
Alessandro Ranellucci
b71d28bd5a Fix minor error and update MANIFEST 2014-03-11 19:19:34 +01:00
Alessandro Ranellucci
7f5442265e Include thin walls in general top-level perimeter sorting to get more efficient paths 2014-03-09 20:19:30 +01:00
Alessandro Ranellucci
2a73ab988f Recursive pruning. Some more unit tests 2014-03-09 17:46:02 +01:00
Alessandro Ranellucci
33da6adc3c Better pruning 2014-03-08 11:36:48 +01:00
Alessandro Ranellucci
04d80ca392 Some improvements to pruning and some additions here and there 2014-03-05 18:43:01 +01:00
Alessandro Ranellucci
c2ed6090d3 Fix the max width supplied to medial axis code: it's up to two extrusions 2014-03-05 00:53:51 +01:00
Alessandro Ranellucci
4a894b1e20 Add safety offset to thin wall regions to prevent overlapping geometry and corrupt Voronoi diagram 2014-03-05 00:45:17 +01:00
Alessandro Ranellucci
e1f93fd112 Consider contour thickness when validating medial axis segments 2014-03-05 00:05:26 +01:00
Alessandro Ranellucci
3c77b301a7 Promising approach to medial axis pruning 2014-03-04 23:33:13 +01:00
Alessandro Ranellucci
b49a652736 Rewritten half-edge traversal in a more robust way. Includes first medial axis unit test 2014-03-03 01:48:05 +01:00
Alessandro Ranellucci
eadffe4a9e Merge branch 'master' into boost-medialaxis
Conflicts:
	lib/Slic3r/Layer/Region.pm
	xs/src/ExPolygon.cpp
	xs/src/Point.cpp
	xs/src/Point.hpp
	xs/src/TriangleMesh.cpp
	xs/t/01_trianglemesh.t
2014-03-02 22:36:20 +01:00
Alessandro Ranellucci
691db31da0 Some incomplete work for per-region config 2014-02-14 22:26:00 +01:00
Alessandro Ranellucci
cfc1c5037d Mark strings as UTF-8 when passing them to Perl 2014-02-14 22:25:59 +01:00
Alessandro Ranellucci
3d483722c6 Perform additional checks before merging solid surfaces (i.e. take flow and fill pattern into account) 2014-02-10 13:19:44 +01:00
Kamil Kwolek
c20489ee40 fix XS build on Windows #1433 #1681 2014-02-01 11:53:45 +01:00
Alessandro Ranellucci
42519174cd New erase() method for DynamicConfig objects 2014-01-22 21:15:19 +01:00
Alessandro Ranellucci
bc832f1a6d Updated MANIFEST with Boost files 2014-01-18 14:37:17 +01:00
Alessandro Ranellucci
90194ee581 Fix overflow in Point::ccw() affecting convex hull generation. Includes regression test 2014-01-17 14:49:51 +01:00
Alessandro Ranellucci
0d7f0705f0 Fix overflow in distance_to(Line*). It was affecting Douglas-Peucker causing massive loss of geometry. Includes regression test and a couple wkt() implementations 2014-01-17 14:22:37 +01:00
Alessandro Ranellucci
3a3e53b59b Fixed some obvious mistakes and applied strict type checking to SurfaceCollections too 2014-01-16 19:02:50 +01:00
Alessandro Ranellucci
a831f5b176 Refactor loop building code to make_loops() 2014-01-16 11:38:17 +01:00
Alessandro Ranellucci
86f91bb3c4 New TriangleMeshSlicer::cut() method 2014-01-16 11:25:26 +01:00
Alessandro Ranellucci
519ed91c68 Refactored mesh slicing code into a new TriangleMeshSlicer class 2014-01-15 20:31:38 +01:00
Alessandro Ranellucci
fcaa3a03c2 Bugfix: incomplete slicing when a horizontal surface was tangent to the slicing plane and it shared an edge with an adjacent volume. #1672 2014-01-13 00:45:19 +01:00
Alessandro Ranellucci
b0a7baa454 Add a (failing) test for slicing at the same height of a horizontal surface attached to a volume. In this case, the loop isn't completed. #1672 2014-01-13 00:06:16 +01:00
Alessandro Ranellucci
3637ca39df TriangleMesh::slice() now accepts a vector of floats instead of doubles for consistency with mesh coordinates 2014-01-12 23:56:07 +01:00
Alessandro Ranellucci
69f1f65a8b Because of numerical instability, lower_bound() was not including a layer having z == 0.8 even if the facet's min_z == 0.8. #1672 2014-01-12 16:01:14 +01:00
Alessandro Ranellucci
bac743a602 Little cleanup to slice(): only used scaled coordinates in slicing instead of mixing them with unscaled 2014-01-12 14:48:51 +01:00
Alessandro Ranellucci
51af10da4f Some fixes to config API 2014-01-12 12:35:13 +01:00
Alessandro Ranellucci
a51743a8c1 Bugfix: lack of strong type checking when passing arrayref objects to XS caused random lack of infill. Now added strong type checking for all XS entities. Also fixes a potential issue with bridges caused by the same error. #1652
Conflicts:

	lib/Slic3r/Layer/Region.pm
2014-01-12 00:54:10 +01:00
Alessandro Ranellucci
c0a74780cb The ratio_over parameter was missing in the definition of first_layer_extrusion_width 2014-01-11 14:48:13 +01:00
Alessandro Ranellucci
15ef762e43 Fix failing XS test 2014-01-10 17:07:47 +01:00
Alessandro Ranellucci
170a7d24de Fix failing XS test 2014-01-10 17:07:18 +01:00
Alessandro Ranellucci
7b0decbeb1 Finished implementing Boost.Polygon medial axis. Some cleanup needed 2014-01-10 16:18:55 +01:00
Alessandro Ranellucci
07a4c37c4c Semi-working Boost.Polygon medial axis. Hangs after perimeters, though. Needs pruning and chaining 2014-01-10 11:47:16 +01:00
Alessandro Ranellucci
f9642786d3 More work to get Boost.Polygon to compile 2014-01-09 19:56:12 +01:00
Alessandro Ranellucci
bf91f3096a Incomplete work for using Boost.Polygon to compute medial axis 2014-01-09 17:26:39 +01:00
Alessandro Ranellucci
6da98a6ecc Fix GUI 2014-01-07 19:08:37 +01:00
Alessandro Ranellucci
c8a48b4527 Implement modifier volumes and port _merge_loops() to XS 2014-01-07 15:40:38 +01:00
Alessandro Ranellucci
b17d06f9d1 Finished porting BoundingBox to XS 2014-01-07 12:48:09 +01:00
Alessandro Ranellucci
ea47f3b6e7 More fixes to BoundingBox 2014-01-06 19:42:31 +01:00
Alessandro Ranellucci
9c0a6a79d3 Incomplete work for porting BoundingBox to XS 2014-01-06 18:29:10 +01:00
Alessandro Ranellucci
3e93a14912 New support material pattern: pillars! 2014-01-05 16:51:16 +01:00
Alessandro Ranellucci
0bdea60b53 Merge branch 'region-config'
Conflicts:
	lib/Slic3r/Format/AMF/Parser.pm
2014-01-05 14:59:36 +01:00
Alessandro Ranellucci
c523ddea35 Fix option names not showing in plater object settings 2014-01-05 14:58:41 +01:00
Alessandro Ranellucci
036badf932 Ported Flow to XS 2014-01-05 13:16:13 +01:00
Alessandro Ranellucci
07b9b12475 Make tests pass 2014-01-05 00:36:33 +01:00
Alessandro Ranellucci
8ed738d3f7 More incomplete work for Flow/Extruder refactoring 2014-01-03 18:27:46 +01:00
Alessandro Ranellucci
b9793b3f12 Moved first_layer_extrusion_width to PrintConfig 2014-01-03 00:34:30 +01:00
Alessandro Ranellucci
81663215c5 Adapt plater to the new split config 2014-01-02 22:06:58 +01:00
Alessandro Ranellucci
44e7e542c2 Bugfix: overflow causing full object facets reversal when STL file has large coordinates. #1666 2014-01-02 18:52:27 +01:00
Alessandro Ranellucci
bfa2ee2770 Remove scale, rotate, duplicate, duplicate_grid from config (but leave them in CLI) 2014-01-02 18:01:21 +01:00
Alessandro Ranellucci
5bf0942f45 Satisfy test suite and CLI 2014-01-02 17:24:23 +01:00
Miro Hrončok
aad41ee023 Rename some admesh functions to preserve compatibility with oiriginal admesh #1525 2014-01-02 15:10:03 +01:00
Alessandro Ranellucci
e2f1040a76 More work 2014-01-02 10:44:54 +01:00
Alessandro Ranellucci
0883d0f4eb More work here and there 2014-01-01 17:29:15 +01:00
Alessandro Ranellucci
51b976721d Split PrintConfig into PrintObjectConfig and PrintRegionConfig 2013-12-31 15:52:37 +01:00
Alessandro Ranellucci
83326845dd More incomplete work 2013-12-31 14:33:03 +01:00
Alessandro Ranellucci
beb1baa096 Incomplete work for refactoring regions and flows 2013-12-30 18:28:41 +01:00
Alessandro Ranellucci
bd133d9434 Update Clipper to 6.1.2 2013-12-24 12:40:46 +01:00
Alessandro Ranellucci
0693cfb116 Simplify print_def structure 2013-12-24 01:16:51 +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
5b9bbe43b2 Fix MANIFEST 2013-12-23 22:48:41 +01:00
Alessandro Ranellucci
ab25cc4940 Merge branch 'xs-config'
Conflicts:
	lib/Slic3r/Config.pm
	xs/MANIFEST
2013-12-22 01:41:55 +01:00
Alessandro Ranellucci
c0070a8d54 Satisfy test suite with new XS based config 2013-12-22 01:38:10 +01:00
Alessandro Ranellucci
4515d90052 Finished porting Config and option definition to XS 2013-12-22 00:39:03 +01:00
Alessandro Ranellucci
9836e963a5 Incomplete work for adapting the application to the new XS-based Config 2013-12-21 21:06:45 +01:00
Alessandro Ranellucci
e0c0a42a8b Expose static PrintConfig objects to Perl and test apply() 2013-12-21 16:32:11 +01:00
Alessandro Ranellucci
56d4da2ac7 Decoupled a generic Config implementation from the PrintConfig definitions 2013-12-21 16:15:41 +01:00
Alessandro Ranellucci
b2b67372ad Inline serialize() and deserialize() for ConfigOptionEnum 2013-12-21 14:48:25 +01:00
Alessandro Ranellucci
872e9bf810 Support for more array config types 2013-12-21 14:27:58 +01:00
Alessandro Ranellucci
bb5bbe191f Support enum config options 2013-12-21 10:46:43 +01:00
Alessandro Ranellucci
f274287b0e Support bool options in XS 2013-12-20 21:32:18 +01:00
Alessandro Ranellucci
64e549a46f More work for XS Config 2013-12-20 20:54:11 +01:00
Alessandro Ranellucci
008f38cf68 More work for porting Config to XS 2013-12-20 16:37:28 +01:00
Alessandro Ranellucci
a6a6a6888b Ported Slic3r::Print::State to XS 2013-12-20 01:36:42 +01:00
Alessandro Ranellucci
916a0a0e58 Fix compilation and test suite 2013-12-18 16:34:31 +01:00
Alessandro Ranellucci
250608aa52 Move centering outside the Print object 2013-12-15 16:17:12 +01:00
Alessandro Ranellucci
5470fbbebc Make quick_slice() work with new model handling 2013-12-13 12:18:30 +01:00
Alessandro Ranellucci
0e8a0ef1ca Refactoring. Use Model class for representing the plate in GUI 2013-12-12 20:19:33 +01:00
Alessandro Ranellucci
f55e057504 More work for refactoring add_model() to add_model_object(). Tests pass 2013-12-09 01:12:37 +01:00
Alessandro Ranellucci
4d066840ba Initial work for porting Slic3r::Config to XS 2013-12-07 16:14:30 +01:00
Alessandro Ranellucci
e9b87b69df Bugfix: segfault in SurfaceCollection->group(), fixed with a better implementation. #1566 2013-12-04 00:11:08 +01:00
Alessandro Ranellucci
bd8c430afd Merge branch 'stable'
Conflicts:
	lib/Slic3r/Geometry/Clipper.pm
	lib/Slic3r/Layer/Region.pm
2013-11-24 22:48:31 +01:00
Alessandro Ranellucci
7b7e45fd43 Merge branch 'master' of github.com:alexrj/Slic3r 2013-11-24 22:44:08 +01:00
Alessandro Ranellucci
3fca0956bc Adapt plater to new convex hull 2013-11-24 22:42:52 +01:00
Alessandro Ranellucci
bed1625d6b Split objects could not be repositioned in plater. 3D preview and stats were not available too. #1543 2013-11-24 14:28:17 +01:00
Alessandro Ranellucci
af457cd3d7 Fix compilation on Windows 2013-11-24 11:24:10 +01:00
Alessandro Ranellucci
9cf138574c New TriangleMesh::convex_hull() 2013-11-24 01:15:52 +01:00
Alessandro Ranellucci
a93c862338 Ported traverse_pt() to XS 2013-11-23 23:21:59 +01:00
Alessandro Ranellucci
3a5e4931cc Move Geometry.cpp to Slic3r::Geometry namespace 2013-11-23 21:54:56 +01:00
Alessandro Ranellucci
0516aac715 Ported chained_path() to XS 2013-11-23 21:39:05 +01:00
Alessandro Ranellucci
4d5d003ba7 Ported horizontal_projection() to XS 2013-11-23 19:41:40 +01:00
Alessandro Ranellucci
e75dbf37fa Never scale TriangleMesh objects 2013-11-23 19:25:33 +01:00
Alessandro Ranellucci
46e3b3180e Ported Surface->offset() to XS 2013-11-23 18:29:25 +01:00
Alessandro Ranellucci
a331f4d27a Finished porting group() to XS 2013-11-23 18:15:59 +01:00
Alessandro Ranellucci
67a7e4f769 Change method signature for slice() 2013-11-23 00:15:42 +01:00
Alessandro Ranellucci
878d587196 Ported is_solid() and is_bridge() to XS. Also ported (but not used yet) group() to SurfaceCollection::group() 2013-11-23 00:07:04 +01:00
Alessandro Ranellucci
de9d5403e8 Finished porting convex_hull() to XS and removed dependency on Math::ConvexHull::MonotoneChain 2013-11-22 22:48:07 +01:00
Alessandro Ranellucci
5309e3ef22 More files for convex_hull 2013-11-22 22:38:30 +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
132d170f73 Ported simplify() to XS and removed dependency on Boost::Geometry::Utils 2013-11-22 16:01:50 +01:00
Alessandro Ranellucci
df8d889481 More unfinished work 2013-11-22 02:16:10 +01:00
Alessandro Ranellucci
518798beb3 Incomplete work for porting simplify() to XS 2013-11-21 20:25:24 +01:00
Alessandro Ranellucci
5f2b2c90b6 Fix error in contains_point() port 2013-11-21 18:42:16 +01:00
Alessandro Ranellucci
ac88fbcbb0 Ported clip_end(), length(), is_perimeter(), is_fill(), is_bridge() to XS 2013-11-21 18:03:40 +01:00
Alessandro Ranellucci
761f261a68 Ported intersect_expolygons() and subtract_expolygons() to XS 2013-11-21 17:53:50 +01:00
Alessandro Ranellucci
5f81292f3f Ported encloses_point() to XS and renamed to contains_point() 2013-11-21 16:21:42 +01:00
Alessandro Ranellucci
a225a8b2ef Ported contains_line() to XS 2013-11-21 15:12:06 +01:00
Alessandro Ranellucci
3025c77675 Use Clipper for line clipping 2013-11-21 14:15:38 +01:00
Alessandro Ranellucci
1d6a18071a Support the new Clipper API 2013-11-20 15:59:19 +01:00
Alessandro Ranellucci
50c0081d25 Update Clipper to 6.0.0 2013-11-20 11:35:58 +01:00
Alessandro Ranellucci
e62ef35fbf Bugfix: some binary STL files were not correctly parsed on Windows. #1370 1467 2013-11-12 16:58:26 +01:00
Alessandro Ranellucci
3464e646f7 Use fread() to read facet number 2013-11-12 15:27:42 +01:00
Alessandro Ranellucci
d0d842e24a Use fread() to read binary STL files 2013-11-12 15:23:48 +01:00
Alessandro Ranellucci
885ab5844e Ported regular_points() to XS and renamed it to equally_spaced_points() 2013-11-11 20:59:58 +01:00
Alessandro Ranellucci
3ac94bd6d8 Fix a valgrind warning about mismatched free() 2013-11-11 15:07:38 +01:00
Alessandro
e024b08762 Round Perl coordinates instead of truncating them to integers. #1486 #1445 #1464 2013-11-11 13:00:50 +01:00
Alessandro Ranellucci
c133a33ed2 Ported point_line_distance() and removed same_point() 2013-11-06 23:08:03 +01:00
Alessandro Ranellucci
d8e098ab0e Ported same_line() to XS 2013-11-06 19:38:10 +01:00
Alessandro Ranellucci
b5aaeb9b12 More work on the clipping method for medial axis. Includes Polyline->is_valid() 2013-11-06 19:30:45 +01:00
Nicolas Dandrimont
067cc1a74a Fix rounding error in clipper.cpp
This fixes half of #1486 (test failure in t/geometry.t)
2013-11-03 01:13:23 +01:00
Alessandro Ranellucci
29b83517cb Ported point_along_segment(), Polyline::length(), Polyline::clip_end() to XS 2013-10-27 22:57:25 +01:00
Alessandro Ranellucci
e6efda4ba4 Bugfix: incomplete slicing when more than two facets shared the same edge. #1483 2013-10-26 14:43:47 +02:00
Alessandro Ranellucci
5988f14b14 Flag for arrows in SVG.cpp 2013-10-26 14:41:37 +02:00
Alessandro Ranellucci
d59e62c9d8 Bugfix: wrong slicing (error in XS port). #1469 2013-10-13 16:00:20 +02:00
Alessandro Ranellucci
ac93e15c98 New class for generating SVG from XS. Includes some minor refactoring to TriangleMesh 2013-10-13 15:59:38 +02:00
Alessandro Ranellucci
9918c1e97d Minor improvements in debug output 2013-10-13 12:12:03 +02:00
Alessandro Ranellucci
ac5e713323 Fix segfault when calling chained_path() on an ExtrusionPathCollection using no_sort. Includes regression test 2013-09-28 15:30:10 +02:00
Alessandro Ranellucci
91289fad49 Fix compilation on Windows. #1433 2013-09-23 11:27:35 +02:00
Alessandro Ranellucci
b1a3bd65ea Remove unused variable and add missing define 2013-09-19 16:19:47 +02:00
Alessandro Ranellucci
ae7600ee55 Update MANIFEST 2013-09-19 16:06:57 +02:00
Alessandro Ranellucci
4fe0675380 Removed ZTable code 2013-09-17 23:55:38 +02:00
Alessandro Ranellucci
e0da81e8bf Introduce a ->count method for all collections to save time 2013-09-17 23:38:23 +02:00
Alessandro Ranellucci
0c2bfab5f2 Fix an overflow point causing wrong chained path 2013-09-17 13:04:36 +02:00
Alessandro Ranellucci
aef5c05c57 Update brim generation code. Includes regression test. #1440 2013-09-16 10:33:30 +02:00
Alessandro Ranellucci
4dce461aaf Minor optimizations 2013-09-13 15:19:15 +02:00
Alessandro Ranellucci
6e22a82e7d Conditional compilation to exclude all Perl/XS stuff from C++ code 2013-09-13 14:48:40 +02:00
Alessandro Ranellucci
2280804daa Update xs/MANIFEST 2013-09-12 11:14:54 +02:00
Alessandro Ranellucci
749b8421b0 Merge pull request #1435 from jluis/master
Round results when rotating to minimize errors & pass the tests
2013-09-12 02:10:18 -07:00
Alessandro Ranellucci
d660a1de0a Fix XS STL reader not populating stats.size correctly 2013-09-12 10:29:42 +02:00
Alessandro Ranellucci
bc48e17dff Use precomputed normals in 3D preview 2013-09-11 20:15:42 +02:00
Alessandro Ranellucci
d4512a12df Make plater work with new XS code 2013-09-11 20:00:51 +02:00
Alessandro Ranellucci
a821eb7f3c More work to avoid working with vertices outside XS 2013-09-11 11:55:08 +02:00
Alessandro Ranellucci
11e18f681d Incomplete work to store TriangleMesh objects in Model objects instead of extracting vertices and facets 2013-09-11 09:49:28 +02:00
Jose Luis Perez Diez
69a92c10f0 Round results when rotating to minimize errors & pass the tests 2013-09-10 17:14:49 +02:00
Alessandro Ranellucci
566d38a472 Replace TriangleMesh with the XS port 2013-09-10 00:40:46 +02:00
Alessandro Ranellucci
311eda7d42 Implemented TriangleMesh->clone 2013-09-10 00:09:56 +02:00
Alessandro Ranellucci
9b12d6037a Ported TriangleMesh::scale_xyz() 2013-09-09 23:38:49 +02:00
Alessandro Ranellucci
5e34a9cf21 Make Repair() idempotent and lowercase 2013-09-09 23:18:33 +02:00
Alessandro Ranellucci
28b043e9a9 Add unit test for split() 2013-09-09 23:09:56 +02:00
Alessandro Ranellucci
3919ba83d8 Implemented TriangleMesh->merge 2013-09-09 22:45:22 +02:00
Alessandro Ranellucci
27e7c6b9f7 Finished implementation of TriangleMesh->split 2013-09-09 22:27:58 +02:00
Alessandro Ranellucci
2d4aa439ae Merge branch 'master' into xsslice 2013-09-09 21:43:52 +02:00
Alessandro Ranellucci
c592932cee Use a general-purpose T_ARRAYREF_PTR typemap 2013-09-09 21:43:28 +02:00
Alessandro Ranellucci
1fbf9c3952 Move confess_at() to utils.cpp 2013-09-09 21:41:45 +02:00
Alessandro Ranellucci
93dddb7ee2 Untested implementation of split_mesh() 2013-09-09 21:41:28 +02:00
Alessandro Ranellucci
b6548137de Move confess_at() to utils.cpp 2013-09-09 21:40:57 +02:00
Alessandro Ranellucci
873762491b Fix a bad access after recent change about ->p returning objects by reference 2013-09-09 17:10:54 +02:00
Alessandro Ranellucci
dbf739318a Almost finished porting slice() 2013-09-09 12:18:52 +02:00
Alessandro Ranellucci
46bd407da4 More porting work 2013-09-08 00:44:01 +02:00
Alessandro Ranellucci
5adb187dd2 More porting work 2013-09-07 21:08:53 +02:00
Alessandro Ranellucci
346c17d483 Some initial work for porting slice() 2013-09-07 14:06:09 +02:00
Alessandro Ranellucci
907ba55aab Some minor fixes needed after the xsdata merge. #1421 2013-09-06 22:52:56 +02:00
Alessandro Ranellucci
e02ae0d18a Return Surface objects by reference from SurfaceCollection objects and fix a bug in XS code causing some shell options to be ignored 2013-09-06 18:36:38 +02:00
Alessandro Ranellucci
cb677c45de Don't grow horizontal shells having acute angles. #1387 2013-09-06 17:43:40 +02:00
Anders Sundman
d9646ff6ba Fixed: Missing include directive 2013-09-04 22:41:25 +02:00
Alessandro Ranellucci
a49dc603cc Many changes and fixes to remove leaks and return objects by reference 2013-09-03 19:26:58 +02:00
Alessandro Ranellucci
275422fac7 Don't return first_point() and last_point() by reference 2013-09-02 22:33:03 +02:00
Alessandro Ranellucci
c0789506e4 Return objects by reference instead of always cloning 2013-09-02 20:22:20 +02:00
Alessandro Ranellucci
1741301973 Fix segfault when appending an ExtrusionPath::Collection to another Collection 2013-08-31 01:23:47 +02:00
Alessandro Ranellucci
dd70f6be2f Return ExtrusionPath->polyline and ExtrusionLoop->polygon by reference 2013-08-31 00:50:03 +02:00
Alessandro Ranellucci
d2e4bba074 Fixed memory leak in ExtrusionPath::Collection and return collection items by reference 2013-08-31 00:37:17 +02:00
Alessandro Ranellucci
bb45437526 Return Surface->expolygon by reference 2013-08-31 00:28:24 +02:00
Alessandro Ranellucci
1cfdf7e955 Ported Slic3r::Polyline::Collection 2013-08-30 00:06:10 +02:00
Alessandro Ranellucci
bd7b0e2aed Ported ExtrusionPath::Collection->chained_path 2013-08-29 11:47:59 +02:00
Alessandro Ranellucci
ea1d138c95 Ported ExtrusionLoop->make_counter_clockwise() 2013-08-29 01:40:42 +02:00
Alessandro Ranellucci
5d6fd7f4d9 Optimizations for better usage of XS code 2013-08-29 01:36:42 +02:00
Alessandro Ranellucci
e19c6a1494 Ported Point->distance_to() and Line->length() 2013-08-28 20:41:41 +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
9fb14f2119 Ported (and used) ExtrusionPath->first_point 2013-08-26 23:42:00 +02:00
Alessandro Ranellucci
fe42427a54 Ported Polygon->is_valid() and ExPolygon->is_valid() 2013-08-26 23:27:51 +02:00
Alessandro Ranellucci
da0b85c0d9 Ported ExPolygon->contour and ExPolygon->holes 2013-08-26 23:09:18 +02:00
Alessandro Ranellucci
85011dfef3 Ported Surface->p 2013-08-26 23:03:00 +02:00
Alessandro Ranellucci
706851f836 Ported ExPolygon->area() 2013-08-26 22:50:26 +02:00
Alessandro Ranellucci
792fcba7be Ported Polygon->area 2013-08-26 22:44:40 +02:00
Alessandro Ranellucci
1f734807b9 Ported Polygon->split_at() 2013-08-26 22:39:35 +02:00
Alessandro Ranellucci
f8ac3aa68f Fix compilation on Windows 2013-08-26 20:56:36 +02:00
Alessandro Ranellucci
9cf831b9c5 Ported union_pt() to XS 2013-08-26 18:37:19 +02:00
Alessandro Ranellucci
443d4e52cb Fixed everything in the XS port 2013-08-26 17:58:37 +02:00
Alessandro Ranellucci
b6005327d6 Downgrade Clipper to 5.1.5 2013-08-26 15:57:54 +02:00
Alessandro Ranellucci
0933a2cf6b Added failing test case 2013-08-25 22:51:12 +02:00
Alessandro Ranellucci
ee5b999ab0 Initialize no_sort to prevent it from being unexpectedly true 2013-08-25 20:29:45 +02:00
Alessandro Ranellucci
94ca28644e Ported union() to XS 2013-08-17 12:24:04 +02:00
Alessandro Ranellucci
b38cc2c244 Merge branch 'master' into xsdata
Conflicts:
	lib/Slic3r.pm
	lib/Slic3r/ExPolygon.pm
	lib/Slic3r/Fill.pm
	lib/Slic3r/Fill/Rectilinear.pm
	lib/Slic3r/GCode.pm
	lib/Slic3r/GUI/Plater.pm
	lib/Slic3r/Geometry/Clipper.pm
	lib/Slic3r/Layer/Region.pm
	lib/Slic3r/Print.pm
	lib/Slic3r/Print/Object.pm
	lib/Slic3r/TriangleMesh.pm
	t/shells.t
	xs/MANIFEST
2013-08-08 02:10:34 +02:00
Alessandro Ranellucci
d881c5ab2f Ported TriangleMesh->rotate 2013-08-05 19:52:37 +02:00
Alessandro Ranellucci
9402898c58 Ported TriangleMesh->size 2013-08-05 19:39:10 +02:00
Alessandro Ranellucci
9d50616c7d Ported align_to_origin() 2013-08-05 19:22:33 +02:00
Alessandro Ranellucci
597e9e6c14 Finish porting TriangleMesh->translate 2013-08-05 19:17:13 +02:00
Alessandro Ranellucci
04d5d1bb9b Incomplete work for porting translate() 2013-08-05 10:48:38 +02:00
Alessandro Ranellucci
515d5707c9 Ported TriangleMesh->scale 2013-08-04 21:34:26 +02:00
Alessandro Ranellucci
a0bd152243 Remove ->ToPerl and add ->vertices and ->facets 2013-08-04 21:23:27 +02:00
Alessandro Ranellucci
1479d6933b Prevent admesh to reverse all facets twice in some mostly-random situations. Normalizing a null normal should still return a null normal in order to fix it properly later instead of treating it as if it was a true normal and thus reversing the facet (and if that is the first facet, all of the others would be reversed as well). #1362 2013-07-31 00:32:48 +02:00
Alessandro Ranellucci
dd935e2036 Some comments and minor fixes to admesh code by Andy Doucette 2013-07-31 00:01:53 +02:00
Alessandro Ranellucci
995c68b57f Can't NULL floats... 2013-07-26 17:08:08 +02:00
Alessandro Ranellucci
4bc1c6e3d8 Update MANIFEST* 2013-07-23 23:27:06 +02:00
Alessandro Ranellucci
6f1a1b546f Update MANIFEST* 2013-07-23 23:25:57 +02:00
Alessandro Ranellucci
9d13a90837 Missing #include causing XS build to fail. #1349 2013-07-23 11:36:18 +02:00
Alessandro Ranellucci
b1147861dd Implement lower_bound() and upper_bound() methods for ZTable 2013-07-20 21:19:59 +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
bd3fb21cfd Make offset_ex(), offset2_ex() and diff_ex() available to C++ code 2013-07-16 20:36:27 +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
Alessandro Ranellucci
9b582a11ff Adopt XS containers everywhere (incomplete work) 2013-07-16 09:49:34 +02:00
Alessandro Ranellucci
339ba9e5c3 Implement split_at_index() and split_at_first_point() in ExtrusionLoop too 2013-07-15 23:56:01 +02:00
Alessandro Ranellucci
0d07a2e4e6 Implemented split_at_index() and split_at_first_point() for Polygon 2013-07-15 23:38:06 +02:00
Alessandro Ranellucci
62e5bd0ee7 Polygon->lines 2013-07-15 23:28:23 +02:00
Alessandro Ranellucci
77c479c127 Add test for polyline lines 2013-07-15 23:23:35 +02:00
Alessandro Ranellucci
439255ca46 Polyline->lines 2013-07-15 23:12:13 +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
e485f0b130 Return a reference to the actual item instead of a clone when accessing contents of a SurfaceCollection 2013-07-15 13:50:53 +02:00
Alessandro Ranellucci
f612d4c64e Ported ExtrusionPath to XS. Failing test for Surface 2013-07-15 12:14:22 +02:00
Alessandro Ranellucci
8c1e1cc3ea Have Polygon inherit from Polyline 2013-07-14 16:09:54 +02:00
Alessandro Ranellucci
06de21b154 Better polymorphism for ExPolygon::XS->rotate 2013-07-14 16:03:06 +02:00
Alessandro Ranellucci
28a4f1a61e Move Polygon class to Polygon.hpp 2013-07-14 15:53:53 +02:00
Alessandro Ranellucci
13e3a9129c Use Slic3r::ExPolygon::Collection for Layer->slices 2013-07-14 15:06:49 +02:00
Alessandro Ranellucci
5885be881c New Slic3r::Surface::Collection class 2013-07-14 14:56:43 +02:00
Alessandro Ranellucci
0099218f61 Cleaner clone() implementation 2013-07-14 13:11:01 +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
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
6affa23297 Show repair stats in object info dialog 2013-07-13 20:23:03 +02:00
Alessandro Ranellucci
00683195c8 Add two more repair actions and add volume to stats 2013-07-13 19:00:38 +02:00
Alessandro Ranellucci
b709acf10f New TriangleMesh::XS->stats method 2013-07-13 18:51:49 +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
3037b42b47 New ->translate() method for ExPolygon::XS 2013-07-11 14:13:30 +02:00
Alessandro Ranellucci
e0052b01d3 New ->scale() method for ExPolygon::XS 2013-07-11 14:08:11 +02:00
Alessandro Ranellucci
98726fdef4 Move everything into the Slic3r namespace. #1301 2013-07-07 22:36:14 +02:00
Alessandro Ranellucci
21816acbd7 Merge branch 'master' into xsdata
Conflicts:
	xs/xsp/ExPolygon.xsp
2013-07-07 16:53:58 +02:00
Alessandro Ranellucci
f4db7625bc Fix destructors 2013-07-07 16:51:02 +02:00
Alessandro Ranellucci
a1e4bda670 Have Clipper.pm only return ExPolygon::XS objects 2013-07-07 15:17:09 +02:00
Alessandro Ranellucci
9dc1a3c69d Implement ExPolygon::XS->clone() 2013-07-07 15:06:01 +02:00
Alessandro Ranellucci
989e48ede0 Bless arrayref representation into Slic3r classes 2013-07-07 13:34:55 +02:00
Alessandro Ranellucci
d06ac3e31e Rename _toPerl() to arrayref() 2013-07-07 12:41:54 +02:00
Alessandro Ranellucci
b42333feed Don't exit when admesh fails to repair a mesh, but continue 2013-07-06 22:17:19 +02:00
Alessandro Ranellucci
51dd4d4e8a Compile fixes 2013-07-06 22:00:54 +02:00
Alessandro Ranellucci
4093280566 Remove Point.cpp 2013-07-06 16:39:22 +02:00
Alessandro Ranellucci
5a11d4df89 New Slic3r::ExPolygon::XS class 2013-07-06 16:33:49 +02:00
Alessandro Ranellucci
c2d63bcd09 Remove MANIFEST.bak from repository 2013-07-06 15:28:13 +02:00
Alessandro Ranellucci
d6713ab7d7 Update xs MANIFEST 2013-07-06 15:26:54 +02:00
Alessandro Ranellucci
c50ecfb7f8 New Slic3r::Point::XS class 2013-07-06 15:26:32 +02:00
Alessandro Ranellucci
6373322b84 New ReadFromPerl() method 2013-07-03 11:38:01 +02:00
Alessandro Ranellucci
6e19ac9eda Removed debugging statements during repair 2013-06-24 20:36:51 +02:00
Alessandro Ranellucci
5975145426 Automatically repair any input STL file 2013-06-24 20:34:57 +02:00
Alessandro Ranellucci
d30b4f0310 New Slic3r::TriangleMesh::XS->ToPerl() method 2013-06-24 20:11:56 +02:00
Alessandro Ranellucci
f29faf0548 New Slic3r::TriangleMesh::XS class 2013-06-24 19:35:49 +02:00
Alessandro Ranellucci
2a2633da0a New automatic built-in STL repair 2013-06-23 21:11:46 +02:00
Alessandro Ranellucci
f62896a77a Require some recent versions 2013-06-23 20:05:20 +02:00
Alessandro Ranellucci
77440b774d Include admesh code for STL repair 2013-06-23 18:18:38 +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
9d27b5e4a7 New XS framework for C and C++ code 2013-06-22 17:16:45 +02:00