Alessandro Ranellucci
3e4c572164
Ported some methods including add_model_object() and apply_config() to XS
2014-11-09 12:25:59 +01:00
Alessandro Ranellucci
c97cac5bc9
Fixed glitch in commit 9c93e52c8f
causing tests failures
2014-11-08 15:02:58 +01:00
Alessandro Ranellucci
9c93e52c8f
Workaround Clipper changing point coordinates while performing simplify_polygons(), thus causing a crash in Slic3r. #2306
2014-11-08 12:56:14 +01:00
Alessandro Ranellucci
a78be203aa
Upgrade Clipper to 6.2.1
2014-11-08 12:05:27 +01:00
Alessandro Ranellucci
67f1cdf76f
Bugfix: seam_position = random didn't work with a single perimeter. #2179
2014-11-07 23:53:18 +01:00
Alessandro Ranellucci
c3d401fb41
Limit automatic extrusion width for support material interface as well
2014-11-07 23:35:33 +01:00
Alessandro Ranellucci
d645dabcff
Ported reload_object() to XS
2014-11-07 20:25:05 +01:00
Alessandro Ranellucci
bf3f45604a
Solid infill below area option was not invalidating the correct steps
2014-11-07 00:53:15 +01:00
Alessandro Ranellucci
a4eef93950
Fixed minor regression
2014-11-04 21:07:18 +01:00
Alessandro Ranellucci
01133fd0be
Fix tests after recent output change for ConfigOptionPoint values
2014-10-28 23:37:20 +01:00
Alessandro Ranellucci
366e10d6ec
Added comment
2014-10-25 11:10:44 +02:00
Alessandro Ranellucci
7f57f007cd
Refactoring: moved Slic3r::GCode::Base to Slic3r::GCode::Writer
2014-10-25 10:42:07 +02:00
Alessandro Ranellucci
c2e710d092
Removed --g0
2014-10-21 21:41:11 +02:00
Alessandro Ranellucci
71ec90a1dd
Finish porting the Extruder class to libslic3r
2014-10-21 20:36:52 +02:00
Alessandro Ranellucci
f82e92f498
Merge branch 'gcode-refactoring'
2014-10-21 20:20:28 +02:00
Alessandro Ranellucci
167df0ab87
Refactoring: moved most of the low-level G-code to the Slic3r::GCode::Base class. Cleanup of the retraction and wipe logic.
2014-10-21 20:16:45 +02:00
Alessandro Ranellucci
e521475b7e
Refactoring: moved some low-level G-code generation methods to the new Slic3r::GCode::Base class
2014-10-18 17:41:21 +02:00
Alessandro Ranellucci
6b8f03ff1c
Bugfix: crash in some circumstances when avoid_crossing_perimeters is enabled. #2266
2014-10-15 00:59:26 +02:00
Alessandro Ranellucci
6573ae002a
Bugfix: fix crash in some circumstances caused by Avoid crossing perimeters. #2271
2014-09-23 20:19:47 +02:00
Miro Hrončok
b9f4880b23
Updated to admesh 0.98.1
2014-09-23 14:34:37 +02:00
Alessandro Ranellucci
f3db284e2a
Merge branch 'master' of github.com:alexrj/Slic3r
2014-09-21 14:42:09 +02:00
Alessandro Ranellucci
73b3c06361
Ported more things to XS
2014-09-21 10:51:36 +02:00
Alessandro Ranellucci
fcf65223e1
Make tooltip for toolchange_gcode more precise
2014-08-14 21:50:57 +02:00
Alessandro Ranellucci
5a96bad8c2
Ported some more methods to C++
2014-08-08 21:48:59 +02:00
Alessandro Ranellucci
534b8c3f12
Fixed minor harmless error in a couple tests
2014-08-08 11:07:51 +02:00
Alessandro Ranellucci
5435d88924
Bugfix: wrong arguments supplied to Flow constructor (rarely used case)
2014-08-08 02:56:25 +02:00
Alessandro Ranellucci
c0a6b1a9cc
Bugfix: enabling/disabling support material didn't cause skirt to be recalculated
2014-08-08 01:37:39 +02:00
Alessandro Ranellucci
04d2e4124f
Fix numerical issue on Win32
2014-08-04 15:05:36 +02:00
Alessandro Ranellucci
d9f6b0933b
Use istringstream for deserializing config options in order to use the correct locale. #2187
2014-08-04 11:34:53 +02:00
Alessandro Ranellucci
b10917806a
Ported some Model methods to XS
2014-08-03 20:33:16 +02:00
Alessandro Ranellucci
f06566dd3a
Fix error in PrintRegion::flow() port
2014-08-03 20:02:58 +02:00
Alessandro Ranellucci
6adc3477c9
Moved C++ code into new libslic3r directory
2014-08-03 19:42:29 +02:00
Alessandro Ranellucci
b8676241e0
Split Print.cpp and Layer.cpp into multiple compilation units
2014-08-03 19:28:40 +02:00
Alessandro Ranellucci
7ff13c063f
Port PrintRegion::flow() and LayerRegion.flow() to XS
2014-08-03 19:17:23 +02:00
Alessandro Ranellucci
380dd8adfc
Ported some methods to XS
2014-08-03 18:41:09 +02:00
Alessandro Ranellucci
30fa055995
Bugfix: medial axis missed some segments. #2144
2014-08-03 15:03:47 +02:00
Alessandro Ranellucci
f462af20f9
Visual preview for bed shape dialog
2014-08-03 00:20:55 +02:00
Alessandro Ranellucci
3ff613d166
Merge branch 'acp-voronoi'
...
Conflicts:
xs/xsp/my.map
2014-07-26 22:38:35 +02:00
Alessandro Ranellucci
53f2d6bb4b
New 3D Honeycomb infill pattern (credits: David Eccles (gringer)). #1646
2014-07-26 17:07:43 +02:00
Alessandro Ranellucci
c4d70bcb85
Always use a rectangle with semicircles as extrudate shape
2014-07-26 15:29:24 +02:00
Alessandro Ranellucci
7aaf27c0c7
Put skirt outside brim to avoid conflicts. #2157
2014-07-24 23:43:19 +02:00
Alessandro Ranellucci
86bad17abb
Display skirt and brim in toolpaths preview. Also take support material margin into account when sizing the window. #2169
2014-07-24 18:32:07 +02:00
Alessandro Ranellucci
70fb381ecf
Bugfix: some extra spots were added in medial axis
2014-07-23 16:32:31 +02:00
Alessandro Ranellucci
a02ea2842c
Change default layer height to 0.3mm
2014-07-23 14:15:14 +02:00
Alessandro Ranellucci
d9f5fdae72
Bugfix: make_perimeters() was not truly idempotent because prepare_infill() split ->slices into typed surfaces
2014-07-15 19:07:38 +02:00
Alessandro Ranellucci
da4d6cbabb
3D preview of plater
2014-07-13 12:10:34 +02:00
Alessandro Ranellucci
aacc01a56f
Store object and volume names in the new 'name' property instead of relying on material id
2014-07-12 11:20:57 +02:00
Alessandro Ranellucci
f82a8475a1
Use AMF object and volume metadata for handling per-object and per-volume settings
2014-07-11 20:09:01 +02:00
Alessandro Ranellucci
d9dc2fda00
Fixed regression causing variable layer heights to be ignored. #2136
...
Conflicts:
xs/xsp/my.map
2014-07-01 19:49:15 +02:00
Alessandro Ranellucci
a06fad9e13
Enable/disable GUI controls according to the others in order to guide the user through option dependency
2014-07-01 18:18:23 +02:00
Alessandro Ranellucci
04b67f0cb0
Refactored OptionsGroup class for cleaner OOP model and cleaner event model
2014-07-01 16:42:12 +02:00
Alessandro Ranellucci
67bf99633e
Fix compilation under 5.20 (untested). #2109
2014-06-25 14:57:06 +02:00
Alessandro Ranellucci
b9e8fbacb7
Put the Default Extruder option in a less confusing position
2014-06-19 20:07:16 +02:00
Alessandro Ranellucci
4bf23c67bb
Bugfix: wrong input validation in set_layer_height_ranges(). #2105
2014-06-19 14:44:50 +02:00
Alessandro Ranellucci
b263da8d4c
Assign category to dont_support_bridges
2014-06-19 00:14:22 +02:00
Alessandro Ranellucci
928335f186
Removed print_center option (but left --print-center from CLI)
2014-06-16 23:58:45 +02:00
Alessandro Ranellucci
7cc0bce97d
Merge branch 'bedshape'
2014-06-16 22:57:04 +02:00
Alessandro Ranellucci
998a4225de
Finished implementation of bed_shape in plater
2014-06-16 15:18:39 +02:00
Alessandro Ranellucci
7a20c4d52a
More incomplete work for using bed_shape in plater
2014-06-16 14:05:22 +02:00
Alessandro Ranellucci
4fe2128fc4
Initial work for custom bed shape
2014-06-16 01:49:49 +02:00
Alessandro Ranellucci
6fbb6613ee
Remove erroneous min limit from xy_size_compensation definition. #2096
2014-06-15 11:50:52 +02:00
Alessandro Ranellucci
04ed3abd3f
Fix compilation on 5.18(?)
2014-06-14 23:12:03 +02:00
Alessandro Ranellucci
e9910a2c0b
XYZ mirroring from plater
2014-06-14 21:14:33 +02:00
Alessandro Ranellucci
1a5a7dcd36
Added min limits for most numeric options
2014-06-14 15:20:38 +02:00
Y. Sapir
a837e26f51
Translate PlaceholderParser::apply_config to C++.
2014-06-14 00:01:52 +02:00
Alessandro Ranellucci
6eec3440cc
Don't invalidate things if the changed options only affect G-code export
2014-06-13 23:07:46 +02:00
Alessandro Ranellucci
a1bcbea816
Use async timer everywhere
2014-06-13 20:36:45 +02:00
Alessandro Ranellucci
4d76d05bbb
Refactoring: better API for Print/Object steps with explicit dependencies
2014-06-13 20:05:18 +02:00
Alessandro Ranellucci
d9e7a50a6e
Partial work for background processing
2014-06-13 11:19:53 +02:00
Alessandro Ranellucci
97231327e0
Have Print::apply_config() return true if any step was invalidated
2014-06-12 09:29:26 +02:00
Alessandro Ranellucci
6194cbf530
Refactoring: new method in Flow for calculating spacing between extrusions having different width
2014-06-12 09:17:37 +02:00
Alessandro Ranellucci
8ee11b3239
Refactoring: keep height in Flow object and calculate spacing on demand
2014-06-12 01:00:13 +02:00
Alessandro Ranellucci
34750d47fe
Move external_perimeters_first to PrintRegionConfig
2014-06-11 22:15:28 +02:00
Alessandro Ranellucci
e158d1e612
Move bridge_flow_ratio to PrintRegionConfig
2014-06-11 22:10:33 +02:00
Alessandro Ranellucci
7eaba2d132
Move PrintConfigDef::build_def() to .cpp
2014-06-11 22:04:19 +02:00
Alessandro Ranellucci
5dcc1eab79
Bugfix: seam_position = aligned failed in certaim circumstances because of faulty concave points detection. Includes regression test
2014-06-11 21:58:41 +02:00
Alessandro Ranellucci
7ccfd2f024
More work on incremental slicing
2014-06-11 17:51:18 +02:00
Alessandro Ranellucci
d2ca4c1b13
Some initial work for incremental slicing
2014-06-11 00:15:02 +02:00
Alessandro Ranellucci
5c54acf9ac
Use ->ptr() for CoolingBuffer too
2014-06-10 16:17:34 +02:00
Alessandro Ranellucci
c5c069b9a0
Update MANIFEST
2014-06-10 16:03:43 +02:00
Alessandro Ranellucci
3f6360ee8f
Finish porting Print classes to XS
2014-06-10 16:01:57 +02:00
Alessandro Ranellucci
ba8148f4ad
Merge branch 'printcpp' of github.com:sapir/Slic3r into sapir-printcpp
...
Conflicts:
lib/Slic3r/GCode.pm
lib/Slic3r/Print.pm
lib/Slic3r/Print/Object.pm
lib/Slic3r/Print/Region.pm
2014-06-10 14:46:40 +02:00
Alessandro Ranellucci
e3e69251cb
New XY Size Compensation option. #581 #56
2014-06-10 13:28:57 +02:00
Alessandro Ranellucci
3599bd0bae
Distinct extrusion width for external perimeters
2014-06-09 21:22:15 +02:00
Alessandro Ranellucci
28695c719c
Fixed regression causing bridge flow to be incorrect when a manual default extrusion width was specified. Includes several regression tests. #2027
2014-06-03 23:59:03 +02:00
Alessandro Ranellucci
f5b9df2413
New implementation of Avoid crossing perimeters using Voronoi diagrams
2014-05-28 10:16:58 +02:00
Alessandro Ranellucci
f018828bfd
Simplify islands before initializing MotionPlanner
2014-05-27 01:11:40 +02:00
Alessandro Ranellucci
07b915fb4f
Fix MANIFEST
2014-05-27 00:05:45 +02:00
Alessandro Ranellucci
7215e66a6a
Merge branch 'master' into visilibity
...
Conflicts:
lib/Slic3r/GCode.pm
xs/MANIFEST
2014-05-27 00:04:53 +02:00
Alessandro Ranellucci
65dd95aaac
Update MANIFEST and test
2014-05-27 00:03:23 +02:00
Alessandro Ranellucci
98b8936ee2
Automatically disable retract_layer_change when using spiral_vase
2014-05-26 23:51:58 +02:00
Alessandro Ranellucci
2ac40f9547
Revert "Update Clipper to r468. #2028 "
...
This reverts commit 6a6439576b
.
2014-05-26 20:00:59 +02:00
Alessandro Ranellucci
6a6439576b
Update Clipper to r468. #2028
2014-05-26 17:21:31 +02:00
Alessandro Ranellucci
b02e459c4b
Attempt to fix compilation issue
2014-05-26 17:13:24 +02:00
Alessandro Ranellucci
3d25b9030c
Bugfix: movement between objects in sequential printing mode was going too far away. #2013 #2007
2014-05-26 15:19:13 +02:00
Alessandro Ranellucci
0decbbf910
Revert "Updated Clipper to r467 but it doesn't seem to fix #2028 yet"
...
This reverts commit a62457d6b5
.
2014-05-25 23:27:26 +02:00
Alessandro Ranellucci
a62457d6b5
Updated Clipper to r467 but it doesn't seem to fix #2028 yet
2014-05-25 22:48:58 +02:00
Y. Sapir
19d18bdd84
Attempt to solve conflict with a3bd1b5
by adding id to PrintObject and using that as a hash key.
2014-05-25 03:00:29 +03:00
Y. Sapir
9247f21ff8
Add missing include "BoundingBox.hpp" to Polygon.xsp.
2014-05-25 00:55:13 +03:00
Y. Sapir
d2e51242d9
Really fix total_used_filament / total_extruded_volume.
2014-05-25 00:53:47 +03:00
Y. Sapir
07dd799967
Fix inherited Layer::Support id and object accessors.
2014-05-25 00:50:49 +03:00
Y. Sapir
b8b8c746d9
Make clear_regions and delete_region methods private (both Print & Layer), and remove from XSP.
2014-05-25 00:11:17 +03:00
Y. Sapir
22b05cb187
Make read-only constructor parameters - private.
2014-05-24 23:50:45 +03:00
Y. Sapir
76738dc66b
Remove some more Clone typemaps and add some whitespace.
2014-05-24 23:50:45 +03:00
Y. Sapir
0486a7f857
Try to fix _copies_shift scaling.
2014-05-24 23:50:45 +03:00
Y. Sapir
db51e4693d
Return NULL values from XS as undef.
2014-05-24 23:50:45 +03:00
Y. Sapir
d06c300926
Add ::Ref classes for every missing C++ class (going by REGISTER_CLASS calls).
2014-05-24 23:50:44 +03:00
Y. Sapir
8da0bded1d
Move Print object storage to C++. (along with its subobjects)
2014-05-24 23:50:29 +03:00
Alessandro Ranellucci
88a2e5c791
Typo seal -> seam :-)
2014-05-24 22:10:28 +02:00
Alessandro Ranellucci
3df2488eca
Disable test until Clipper bug 96 is fixed #2028
2014-05-24 00:10:37 +02:00
Alessandro Ranellucci
ed58f35fe5
Revert "Fix bad test". Test was actually correct. Clipper's still slightly buggy since it splits polylines
...
This reverts commit bf2af85da5
.
2014-05-24 00:09:04 +02:00
Alessandro Ranellucci
bf2af85da5
Fix bad test
2014-05-24 00:01:27 +02:00
Alessandro Ranellucci
fcdb462abe
Failing test cases for Clipper bug returning empty result set. #2028
2014-05-24 00:00:15 +02:00
Alessandro Ranellucci
70ceb853f1
Update Clipper to last trunk to fix a couple Clipper bugs causing empty intersection results and failure to process polylines with coinciding endpoints. This also caused crashed in some rare circumstances
2014-05-23 23:58:43 +02:00
Alessandro Ranellucci
a3bd1b5302
New seal_position option that replaces randomize_start, start_perimeters_at_concave_points and start_perimeters_at_non_overhang. The two latter options are now always on by default. A new "Aligned" seal position value has been added, that forces starting points to be aligned when not randomized. #1741 #925
2014-05-22 19:34:49 +02:00
Alessandro Ranellucci
c63bd8165d
Fixed minor compilation issue
2014-05-22 13:47:30 +02:00
Alessandro Ranellucci
f2c5e799b1
Enforce seam alignment and blend in spiral vase. #2023
2014-05-22 12:28:12 +02:00
Alessandro Ranellucci
254ab29a97
New Point::projection_onto() methods
2014-05-21 20:08:21 +02:00
Alessandro Ranellucci
874c7a6e8b
One line missing for support_material_interface_speed declaration
2014-05-21 15:53:41 +02:00
Alessandro Ranellucci
5e6ff952df
Fix more regressions in test suite regarding the workaround for Clipper bug
2014-05-21 15:45:16 +02:00
Alessandro Ranellucci
8ca352eb62
Separate speed option for support material interface. #2009
2014-05-21 15:21:20 +02:00
Alessandro Ranellucci
08279ec5d8
Bugfix: thin walls forming a closed loop had overlapping segments at their endpoints. #1948 #1875
2014-05-21 15:03:31 +02:00
Alessandro Ranellucci
a8b6e32767
Gracefully handle loading config files having empty strings for multi-value options (like wipe). #2003
2014-05-21 11:38:42 +02:00
Alessandro Ranellucci
ac0a91a162
Move many speed settings to PrintRegionConfig
2014-05-15 18:53:05 +02:00
Alessandro Ranellucci
ad99b2a0fd
Fixed one more regression introduced with Model refactoring. Includes regression test
2014-05-15 16:37:18 +02:00
Alessandro Ranellucci
5fe5021fd7
Implemented avoid_crossing_perimeters with VisiLibity
2014-05-13 20:06:01 +02:00
Alessandro Ranellucci
ee2c1c6127
Refactored the Slic3r::GCode logic for speeds
2014-05-13 08:34:21 +02:00
Alessandro Ranellucci
5d12a03b82
Move Detect Bridging Perimeters to region config
2014-05-12 23:02:33 +02:00
Alessandro Ranellucci
59f0e76da1
Distinct extrusion role for support material interface
2014-05-12 22:59:49 +02:00
Alessandro Ranellucci
69002b8ea2
No tests were covering randomize-start, which was not working anymore after recent ExtrusionLoop refactoring. #2028
2014-05-12 21:49:17 +02:00
Alessandro Ranellucci
a02a7f1a0f
Apply workaround for buggy GCC 4.7.2 #1965
2014-05-10 17:03:05 +02:00
Alessandro Ranellucci
27c73f5983
Some fixes after the recent Model refactoring
2014-05-10 16:59:17 +02:00
Alessandro Ranellucci
65b7d27def
Draft for binary representation of G-code commands
2014-05-10 15:08:49 +02:00
Alessandro Ranellucci
7ba08c90cf
Refactoring to Model API for making it stricter and safer
2014-05-09 14:24:35 +02:00
Alessandro Ranellucci
bc023c2d51
Remove new/delete keywords from ClipperUtils.cpp
2014-05-08 15:00:49 +02:00
Alessandro Ranellucci
76a8ec3d9e
Replace to_SV_ref() and to_SV_clone_ref() with templated glue functions
2014-05-08 14:52:48 +02:00
Alessandro Ranellucci
f76e2c2222
Several minor fixes to Model
2014-05-08 13:33:43 +02:00
Alessandro Ranellucci
6e207d3830
Merge branch 'sapir-modelcpp'
2014-05-08 11:13:21 +02:00
Alessandro Ranellucci
c37ef2f18b
New semantics for ExtrusionLoop objects. Early processing of perimeter overhangs for paralellizing such work and making G-code export lighter. Lots of refactoring. This should fix a number of minor bugs, including reversals of perimeter overhangs.
2014-05-08 11:07:37 +02:00
Alessandro Ranellucci
d2d885fc53
Turn ExtrusionLoop into a collection of polylines. Includes some changes to the Polygon API to avoid returning newly allocatd objects
2014-05-07 12:02:09 +02:00
Alessandro Ranellucci
931f3114c0
Fix clear_objects() and clear_volumes()
2014-05-07 01:23:14 +02:00
Alessandro Ranellucci
13af16ea24
Use Pointf for origin_translation and pass const refs whenever possible
2014-05-07 00:58:29 +02:00
Alessandro Ranellucci
54a199919b
Removed StringMap
2014-05-07 00:22:56 +02:00
Y. Sapir
05b2993769
Translate Model class' storage to C++.
...
Some code copied from xs-model branch.
Also:
* Generate ::Ref classes programatically.
* Add separate __REGISTER_CLASS macro
(for use where forward declaration won't work, i.e. typedefs)
2014-05-05 16:30:19 +03:00
Alessandro Ranellucci
cb1527f7ef
Refactoring: move direction math into a single function. Includes some fixes and adjustments
2014-05-02 18:48:11 +02:00
Petr Ledvina
028ef3a868
Add missing perlglue.hpp to xsp files
...
perlglue was missing in some xsp files. If file ordering ib XS.c is changed, header file could be missing. Maybe solves #2000
2014-05-02 14:08:44 +02:00
Alessandro Ranellucci
0a88492fdc
Use a more robust parallelism detection
2014-05-02 13:26:59 +02:00
Alessandro Ranellucci
c81ffc391d
Tentative fix for unreproduced compilation error reported
2014-05-02 11:51:07 +02:00
Alessandro Ranellucci
edeb0a90dd
Use poly2tri for triangulation. This fixes some cases where polyPartition couldn't triangulate successfully. Reported as issue #9 in polyPartition repository. Tested with MotorHalter_0.stl cut at 1.2
2014-05-01 12:07:11 +02:00
Alessandro Ranellucci
60f640f100
Remove self-intersections before supplying polygon data to polyPartition and rename triangulate2() to triangulate_pp()
2014-05-01 10:37:38 +02:00
Alessandro Ranellucci
9734a40647
Fix Polygon::contains_point() overflowing on Windows. #1950
2014-04-30 16:55:20 +02:00
Alessandro Ranellucci
581376bf75
Rename EMC to LinuxCNC
2014-04-30 15:05:32 +02:00
Alessandro Ranellucci
98e40d3fe4
Store width and height in ExtrusionEntity objects for debugging purposes
2014-04-29 23:16:16 +02:00
Alessandro Ranellucci
24571612c7
Some minor changes to the newly-ported Extruder class
2014-04-28 22:02:34 +02:00
Alessandro Ranellucci
4c330b6c59
Merge pull request #1968 from sapir/extrudercpp
...
Translate Extruder class to C++
2014-04-28 21:45:53 +02:00
Alessandro Ranellucci
19fdf9b184
Test triangulate2() instead of the faulty triangulate()
2014-04-28 20:19:26 +02:00
Alessandro Ranellucci
2720000a17
New get_trapezoids() implementation. Maybe heavier but it doesn't fail with some versions of GCC like the one provided by Boost.Polygon. #1965
2014-04-28 20:14:20 +02:00
Alessandro Ranellucci
d4e97d17d5
Use -O1 with GCC 4.7.0-4.7.2. #1965
2014-04-28 19:24:19 +02:00
Y. Sapir
ad03a88733
Add xsp wrapper for Pointf class.
2014-04-28 01:13:50 +03:00
Y. Sapir
e005ff32c4
Replace Extruder::config accessor with Perl wrapper, with C++ option accessors.
2014-04-28 00:49:05 +03:00
Y. Sapir
71b0b211ec
Constify ConfigOptionVector::get_at.
2014-04-28 00:19:03 +03:00
Y. Sapir
d824de6168
Keep pointer to PrintConfig instead of copying it.
2014-04-28 00:03:22 +03:00
Y. Sapir
c2b249d059
Add REGISTER_CLASS call for Extruder class.
2014-04-27 23:53:28 +03:00
Y. Sapir
2565d80679
Replace multitude of Extruder fields with querying a PrintConfig object by id.
2014-04-27 23:43:44 +03:00
Y. Sapir
b319dc9361
Correctly convert extruder_offset to Point object before passing to C++ code.
2014-04-27 23:43:43 +03:00
Y. Sapir
717d099ae1
Add XS Extruder files to manifest.
2014-04-27 23:43:43 +03:00
Y. Sapir
04fad70cbf
Make C++ gcode generator use C++ Extruder object directly.
2014-04-27 23:43:43 +03:00
Y. Sapir
66d23a2416
Convert Extruder object (mostly) to C++ with lots of fields.
2014-04-27 23:42:59 +03:00
Petr Ledvina
115aa6885f
Implement type checking for XS objects
...
Type handling is mainly done using templates.
Template Slic3r::ClassTraits is used to store info about exported types (perl class name). Currently only perl class name and refference name is used.
Template values are initialized by REGISTER_CLASS macro. This macro is used in .cpp file of class ( it needs to be used exactly for each type).
Ref<type> class is used to return value as perl reference. Operator overloading is used to make c++ and XSpp happy, only pointer value should be possible to return.
Clone<type> class is used to return copy of value ( using new and copy constructor). Copy is created on assigment, this should be probably improved (memory leak on multiple assignments).
It is overloaded to be able to return type, type* and type&.
Typechecking in ExtrusionEntityCollection updated to check all passed types.
2014-04-27 19:38:56 +02:00
Y. Sapir
87eee8eea3
Remove execute permissions for clipper source files.
2014-04-27 13:19:11 +03:00
Alessandro Ranellucci
ce9cf4d964
Don't put supports under bridges and potential bridges
2014-04-26 17:19:50 +02:00
Alessandro Ranellucci
7e3024d6ad
Explain that infill_every_layers can be set to arbitrarily large values in the tooltip
2014-04-25 20:29:37 +02:00
Alessandro Ranellucci
7ac0095018
Fix regression causing default extrusion width to be ignored. #1958
2014-04-25 19:39:27 +02:00
Alessandro Ranellucci
924cb2e558
Update MANIFEST. #1969
2014-04-25 19:14:03 +02:00
Alessandro Ranellucci
f6897a346a
Fix islands not being ordered efficiently with the logic that completes each of them before moving to the next one (which is now the default behavior). #1137
2014-04-25 19:11:17 +02:00
Alessandro Ranellucci
8db4913b04
New option for rotating the lower part resulting from the cut so that the flat surface lies on the print bed
2014-04-25 17:50:03 +02:00
Alessandro Ranellucci
4f17c2b7d1
First working implementation of a GUI for cutting
2014-04-25 17:14:39 +02:00
Alessandro Ranellucci
334bc4c581
Fix cut() test
2014-04-25 13:27:45 +02:00
Alessandro Ranellucci
4f5d9ca795
Finished --cut implementation
2014-04-25 12:40:21 +02:00
Alessandro Ranellucci
fe1691c151
New --cut feature
2014-04-25 10:20:30 +02:00
Alessandro Ranellucci
37c7b958d4
New ExPolygon::triangulate() method
2014-04-24 17:06:16 +02:00
Alessandro Ranellucci
bb0ce3cccd
New Polygon::triangulate_convex() method
2014-04-24 16:59:36 +02:00
Alessandro Ranellucci
ca4d4211c9
Refactored signatures of many C++ methods for more efficient and safer style. Includes a bugfix for Point::nearest_point() which was returning a pointer to freed memory. #1961
2014-04-24 16:40:10 +02:00
Alessandro Ranellucci
6201aacf88
New coverage detection for bridges. Includes implementation of ExPolygon::get_trapezoids()
2014-04-24 13:44:39 +02:00
Alessandro Ranellucci
1fc76b73a4
Merge pull request #1953 from ledvinap/fix-clipper-1834
...
Apply bug fix from upstream clipper. Fixes #1834
2014-04-22 15:39:42 +02:00
Petr Ledvina
c30040b691
Apply bug fix from upstream clipper
...
Clipper fix in commit [r463] for bug repport #92 (http://sourceforge.net/p/polyclipping/code/463/tree//trunk/cpp/clipper.cpp?diff=504b9404fd48f873331e913b:462 )
is applied here.
2014-04-22 15:19:35 +02:00
Alessandro Ranellucci
bc101bd93e
Assume bridge angle is stored in radians in infill generation. #1917
2014-04-21 23:21:15 +02:00
Alessandro Ranellucci
7041ebdd22
Workaround for upstream module bug causing command line option parsing for multi-boolean options like retract-layer-change and wipe
2014-04-19 19:14:41 +02:00
Alessandro Ranellucci
8018eac0f0
Set min temperature to 0
2014-04-19 18:32:04 +02:00
Alessandro Ranellucci
c3bb8a69db
Bugfix: crash when extending an array option by 2+ positions. #1908
2014-04-19 16:38:28 +02:00
Alessandro Ranellucci
f51921a11a
Default extruder wasn't applied to perimeter extruder. Includes regression test. #1868
2014-04-19 11:43:41 +02:00
Alessandro Ranellucci
93a7d87fc6
Bugfix: pillars support material crashed when no overhangs were detected
2014-04-07 16:59:22 +02:00
Alessandro Ranellucci
1c020eda78
Merge pull request #1911 from sapir/speed
...
Rewriting the extrusion path gcode generation in C++
2014-04-07 09:38:21 +02:00
Alessandro Ranellucci
d6d6a51e0d
Fix for incomplete extrusion on solid surfaces
2014-04-05 10:54:24 +02:00
Alessandro Ranellucci
b68c55fec0
Bugfix: the Y coordinate of Point config fields was not correctly validated and lead to a crash when entering non-numeric values. Includes regression test. #1906
2014-04-05 09:40:24 +02:00
Y. Sapir
4deeff995a
Move extrusion path gcode generation to C++ for speed.
2014-04-01 21:11:43 +03:00
Alessandro Ranellucci
bbebcca82c
Set default support material pattern to pillars
2014-03-27 00:05:22 +01:00
Alessandro Ranellucci
071097d3f1
Fix extruder assignment and tests
2014-03-27 00:01:33 +01:00
Alessandro Ranellucci
4540350b66
Specify that extruder indices are 1-based in tooltips
2014-03-26 00:14:45 +01:00
Alessandro Ranellucci
0ff33f47f1
Fix the extruder override logic. All role-based extruder options now default to 0, meaning no override is defined and the default (inherited) extruder is used. The default extruder option does not use the shortcut logic anymore (it was thus moved to be a CLI-specific logic)
2014-03-26 00:08:15 +01:00
Alessandro Ranellucci
432a87e73d
New option for forcing the generation of interface shells. #1847
2014-03-25 01:11:28 +01:00
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