Commit Graph

214 Commits (a8b6e327671237f516023ba5bd0b75bd998d6cbe)

Author SHA1 Message Date
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
Alessandro Ranellucci 42519174cd New erase() method for DynamicConfig objects 2014-01-22 21:15:19 +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 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 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 bf91f3096a Incomplete work for using Boost.Polygon to compute medial axis 2014-01-09 17:26:39 +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 9c0a6a79d3 Incomplete work for porting BoundingBox to XS 2014-01-06 18:29:10 +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 81663215c5 Adapt plater to the new split config 2014-01-02 22:06:58 +01:00
Alessandro Ranellucci 5bf0942f45 Satisfy test suite and CLI 2014-01-02 17:24:23 +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 0693cfb116 Simplify print_def structure 2013-12-24 01:16:51 +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 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 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 e9b87b69df Bugfix: segfault in SurfaceCollection->group(), fixed with a better implementation. #1566 2013-12-04 00:11:08 +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 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 5309e3ef22 More files for convex_hull 2013-11-22 22:38:30 +01:00
Alessandro Ranellucci a950fbe0c2 Removed more unused functions and fixed tests 2013-11-22 16:19:15 +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 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 50c0081d25 Update Clipper to 6.0.0 2013-11-20 11:35:58 +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 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
Alessandro Ranellucci 29b83517cb Ported point_along_segment(), Polyline::length(), Polyline::clip_end() to XS 2013-10-27 22:57:25 +01: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 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 bc48e17dff Use precomputed normals in 3D preview 2013-09-11 20:15:42 +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
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 c592932cee Use a general-purpose T_ARRAYREF_PTR typemap 2013-09-09 21:43:28 +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
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 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 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 94ca28644e Ported union() to XS 2013-08-17 12:24:04 +02:00