3999 Commits

Author SHA1 Message Date
Joseph Lenox
cc9bae90a4 Removed commented code. 2016-11-26 23:16:50 -06:00
Joseph Lenox
9abd5eecee Added a cancel button, and rewrote initial option code to reuse OptionGroup. 2016-11-26 23:03:51 -06:00
Joseph Lenox
a41fcb9066 Update main plater view after moving mesh 2016-11-26 22:13:55 -06:00
Joseph Lenox
89dab6a19d Anonymous object supports. Initial implementation provides for a box of arbitrary size. 2016-11-26 19:57:35 -06:00
Joseph Lenox
b2562a9f31 Permit sliding modifer meshes around in the Settings dialog. 2016-11-26 19:55:43 -06:00
Alessandro Ranellucci
d47f6d30af Ported detect_surfaces_type() to XS/C++ 2016-11-26 16:58:23 +01:00
Alessandro Ranellucci
3678977447 Refactored parallelization code 2016-11-26 16:07:36 +01:00
Alessandro Ranellucci
dabb7cb2ee Automatically detect the number of cores and use that as a default for threads number 2016-11-26 13:46:19 +01:00
Alessandro Ranellucci
83ad123d95 Parallelize TriangleMeshSlicer::slice() 2016-11-26 13:45:58 +01:00
Alessandro Ranellucci
fee5de076f Fixed regression in the _make_perimeters port 2016-11-26 12:47:11 +01:00
Alessandro Ranellucci
66591bcc55 Ported make_perimeters() and infill() to C++/XS, use pure C++ threads 2016-11-26 12:28:39 +01:00
Alessandro Ranellucci
dfd2466a72 Revert "Perl OpenGL 0.7 package causes crashes on many platforms."
This reverts commit 832773e3109b0ec61a4e0999783a893ba9dca822.
2016-11-25 10:19:57 +01:00
Alessandro Ranellucci
048fafb9f9 Fix compilation 2016-11-24 17:54:41 +01:00
bubnikv
d88f05945d admesh: Fixed a problem in loading an STL when compiled with
Visual Studio 2013. Added multiple compile time checks for data
sizes and alignment. The library STL import is not big endian safe, so
added a test for endianity, modified STL export to a faster little endian only.
2016-11-24 17:16:31 +01:00
bubnikv
a20cc0a3a6 Reduced some compiler warnings.
Conflicts:

	xs/xsp/BoundingBox.xsp
	xs/xsp/Point.xsp
2016-11-24 17:15:55 +01:00
bubnikv
bd3df21560 Undef seed macro because of crazy perl macro substitutions. 2016-11-24 17:14:41 +01:00
bubnikv
731fa437ba Fix for compilation on Strawberry Perl with C++11 enabled. 2016-11-24 17:14:24 +01:00
bubnikv
3a87ed9de9 Fixed compilation of XS modules by undefinig the "seed" macro
redefined crazily by Perl.
2016-11-24 17:14:12 +01:00
bubnikv
4a91a7221f Optimization of Model bounding box routines (avoids copying the mesh),
optimization of the admesh rotate function (also made numerically more robust).
2016-11-24 17:13:53 +01:00
bubnikv
96ef2692d7 Improvements of admesh robustness when loading and fixing STLs.
https://github.com/prusa3d/Slic3r/issues/33
2016-11-24 17:13:43 +01:00
bubnikv
10c0be2e99 Positive and negative zeros are possible in the floats, which are considered equal by the FP unit.
When using a memcmp on raw floats, those numbers report to be different.
Unify all +0 and -0 to +0 to make the floats equal under memcmp.
2016-11-24 17:13:31 +01:00
bubnikv
9367eb6db7 Increased the gimbal lock threshold to 170 degrees from 150 degrees.
This makes it possible to look at the bottom of an object.

Conflicts:

	lib/Slic3r/GUI/3DScene.pm
2016-11-24 17:13:11 +01:00
bubnikv
497b7fb6c4 Fixed a 64bit compatiblity in admesh, fixed a typo in TriangleMesh::swap()
Conflicts:

	xs/src/libslic3r/TriangleMesh.cpp
2016-11-24 17:11:55 +01:00
bubnikv
9ed127274e Fixes https://github.com/prusa3d/Slic3r/issues/32#issuecomment-260135542
Reverts an inadverent bug introduced in 4460b5ce50

Conflicts:

	xs/src/libslic3r/PerimeterGenerator.cpp
2016-11-24 17:09:49 +01:00
Alessandro Ranellucci
0c63bc0f83 Typo 2016-11-24 17:00:09 +01:00
bubnikv
a1fd0fe60a Refactored Print::validate() method to not throw an exception, but
to return a string with an error message instead. This was necessary
to avoid a hang-up on some Strawberry Perl distributions, when
a perl "croak" function is called after a C++ exception is caught.

Conflicts:

	xs/src/libslic3r/Print.cpp
2016-11-24 16:37:31 +01:00
bubnikv
832773e310 Perl OpenGL 0.7 package causes crashes on many platforms.
Constrain compilation to Perl OpenGL version lower than 0.7.
897ca52654
2016-11-24 16:36:17 +01:00
bubnikv
cc7d2c1aa2 Let's hope to fix compilation on gcc. 2016-11-24 16:34:21 +01:00
bubnikv
12961d5212 Fix of https://github.com/prusa3d/Slic3r/issues/13
The BoundingBox::defined flag was not set in constructor,
if initialized from min/max corners.

Conflicts:

	xs/src/libslic3r/BoundingBox.hpp
2016-11-24 16:34:06 +01:00
bubnikv
a5135f4369 Hopefully a fix of https://github.com/prusa3d/Slic3r/issues/11
Replaced eval { die } construct with a bool return value indicating
success or failure of an automatic arrangement of parts on the print bed.

Don't know exactly what is happening here, but throwing a "die" inside
a XS function and then catching it inside an eval {} block is suspcious.

Conflicts:

	xs/src/libslic3r/Geometry.cpp
	xs/src/libslic3r/Geometry.hpp
2016-11-24 16:33:13 +01:00
Alessandro Ranellucci
954e2d3e5c ExtrusionEntity and derived classes: Documented, short methods made
inline for efficiency and readability
2016-11-24 16:22:14 +01:00
Alessandro Ranellucci
9c7e4871db Fix conflict in recent merges 2016-11-24 16:20:04 +01:00
bubnikv
cc01e6565d Fixed a return value in the Config multi-string parser. 2016-11-24 15:59:19 +01:00
bubnikv
c93ac84f5e Missing include for memcpy for Linux.
Conflicts:

	xs/src/libslic3r/Config.cpp
2016-11-24 15:59:04 +01:00
bubnikv
4773987b0f Added "Notes" page to the filament configuration.
Added "filament_max_volumetric_speed", a cap on the maximum volumetric
extrusion role, filament specific. This is very useful when mixing
rigid filament with a soft filament.

Extended the import / export of multi-string values into configuration
values, including the test cases. Multi-line strings will be enclosed
into quotes, quotes escaped using a C-style escape sequences. Single
word strings could still be stored without quotes.

Conflicts:

	xs/src/libslic3r/Config.hpp
2016-11-24 15:58:06 +01:00
bubnikv
736e2cc4e6 On Windows use the Slic3r.ico instead of the PNG file
for the application icon.

Conflicts:

	lib/Slic3r/GUI/MainFrame.pm
2016-11-24 15:54:22 +01:00
bubnikv
8c315ff467 Select standard camera views (left / right / top / bottom / front / rear / default)
by menu.
2016-11-24 15:48:29 +01:00
bubnikv
476839e077 Documented the bridge detector. 2016-11-24 15:46:15 +01:00
bubnikv
56d281c720 Bugfix: use Lift-z option for 2. extruder #3385
Thanks to https://github.com/platsch
https://github.com/alexrj/Slic3r/pull/3392
2016-11-24 15:44:38 +01:00
bubnikv
893d92273d Documented MultiPoint. 2016-11-24 15:43:38 +01:00
bubnikv
a0da2c4990 Fix of a spiral vase with realtive extruder distances enabled.
The clone function is used by the SpiralVase.pm only, so the change
is safe.
2016-11-24 15:42:38 +01:00
bubnikv
c353eef626 Generate multiple vertex lists rather than requesting a single huge
memory block.
2016-11-24 15:42:02 +01:00
bubnikv
9f0523cb53 Documented the purpose of various perl modules.
Conflicts:

	lib/Slic3r/GUI/3DScene.pm
	lib/Slic3r/GUI/Plater/2DToolpaths.pm
2016-11-24 15:41:19 +01:00
bubnikv
335638a614 Documented perl modules.
Conflicts:

	lib/Slic3r.pm
	lib/Slic3r/Config.pm
2016-11-24 15:38:59 +01:00
Alessandro Ranellucci
103ec05774 Ported infill to XS/C++. Credits and many thanks go to @bubnikv for this work 2016-11-24 15:32:32 +01:00
bubnikv
d98b7cf863 The chaining and leftmost_point methods were rewritten as static methods, so they may be called on Polylines without having to convert to PolylineCollection first. 2016-11-23 21:33:20 +01:00
bubnikv
47337a3a5e Fixed a typo when SLIC3R_DEBUG is active. 2016-11-23 21:33:07 +01:00
bubnikv
80a962b838 Added a macro SLIC3R_CPPVER to indicate the C++ language version supported by the compiler. 2016-11-23 21:32:22 +01:00
bubnikv
9a91704b8d New constructors for the bounding box with min/max points were added.
empty(bbox) function template was added.
2016-11-23 21:30:55 +01:00
bubnikv
f3e0efa4fe Debugging visualization of the gap fills into a SVG format, if SLIC3R_DEBUG is set. 2016-11-23 21:30:11 +01:00