Commit Graph

  • ce7717e450 Fix compilation on Linux. bubnikv 2016-12-12 18:59:35 +01:00
  • e5b77e08de Perl crazy macros strike again, they collide with boost threads. bubnikv 2016-12-12 18:55:04 +01:00
  • 46b44fc141 User interface of the variable layer thickness. Certainly not finished yet, but sufficient for evaluation of the prints. bubnikv 2016-12-12 18:02:24 +01:00
  • 2d030f3a3c Most of the slicing code rewritten to C++. bubnikv 2016-12-12 17:56:37 +01:00
  • 1ea958158a Support for user definable variable layer thickness, the C++ backend. bubnikv 2016-12-12 17:53:38 +01:00
  • 2ab86a4895 ConfigOptionVector::get_at(idx) Avoid using exceptons for normal work flow. Assert if the vector is empty. bubnikv 2016-12-12 15:56:42 +01:00
  • d775c6c14c Added methods set/add to SurfaceCollection. bubnikv 2016-12-12 15:54:37 +01:00
  • 333a0b1c0e Shortcuts for zero mesh transformations. bubnikv 2016-12-12 15:52:04 +01:00
  • 933a0db9ed Minor fix of bridging flow, see @alexrj 3a3b24ec7c803c58919a5401e5804261999875b4 bubnikv 2016-12-12 15:33:14 +01:00
  • 126126cc78 Fixes after the merge of changes by @alexrj. bubnikv 2016-12-08 19:02:16 +01:00
  • 5d18657ac5 Don't be lazy, use fully qualified Slic3r::Polygon/ExPolygon/Point/Line names bubnikv 2016-12-08 15:16:09 +01:00
  • 24e0b568b5 Fix compilation, cherry picked from @alexrj fde6e2e61deabd097a3bf565d4948077147b25ab Alessandro Ranellucci 2016-12-02 15:07:49 +01:00
  • a26330a292 Try to fix compilation problem with Boost 1.54. #3595 Alessandro Ranellucci 2016-11-30 11:50:02 +01:00
  • 9c0c05631c Ignore failure to call SetAutoPop when not available. #3596 @alexrj 2e82fb01a65deb4e0872de9219f47e58b7000ebf Alessandro Ranellucci 2016-11-30 11:45:31 +01:00
  • a8930f12cd Fix perl redefining multiple functions also defined/used by boostlib through the include chain. (#3593) Joseph Lenox 2016-11-29 20:46:44 -06:00
  • 5dc8a0808e Maybe the Travis CI server has more than 16 cores? Alessandro Ranellucci 2016-11-27 18:31:21 +01:00
  • d8082b9db4 Try to fix compilation error about the new threads default Alessandro Ranellucci 2016-11-27 18:18:01 +01:00
  • 9e8dae817d Fixes and improvements to the view selection menu, cherry picked from @alexrj a7693c4719c0e0e0129aea7461706d2ed53a52cc Alessandro Ranellucci 2016-11-27 16:48:48 +01:00
  • d628764da6 Minor fixes to parallelize code, cherry picked from @alexrj 5242b3e03ab2b195ba9c7c53fba705a8ed1c7abd Alessandro Ranellucci 2016-11-27 15:25:22 +01:00
  • 73ddd3b438 Refactored parallelization code, cherry picked from @alexrj 36789774471a0bf9a66bb33cc3ab6984f8ede8c6 Alessandro Ranellucci 2016-11-26 16:07:36 +01:00
  • 9fbd135f14 Automatically detect the number of cores and use that as a default for threads number Alessandro Ranellucci 2016-11-26 13:46:19 +01:00
  • 70a9de085b Parallelize TriangleMeshSlicer::slice(), cherry picked from @alexrj 83ad123d951c6ee663d2f3b02e095c203ca794e7 Alessandro Ranellucci 2016-11-26 13:45:58 +01:00
  • e9290252d6 Fixed regression in the _make_perimeters port Alessandro Ranellucci 2016-11-26 12:47:11 +01:00
  • 86c8207d31 Ported make_perimeters() and infill() to C++/XS, use pure C++ threads, cherry picked from @alexrj 66591bcc556c01572ec7519b1f8cb4ee2d430685 Alessandro Ranellucci 2016-11-26 12:28:39 +01:00
  • 3e8cafa857 Fix of ASCII STL parser. Accept a model even with invalid normals. bubnikv 2016-12-05 11:39:17 +01:00
  • 330ffed87e Adjusted copyright header of the Perl GLShader module. bubnikv 2016-12-02 11:19:27 +01:00
  • 7e1af658b6 Initial experiments with vertex / fragment shaders, prototype to visualize layer thickness. bubnikv 2016-12-02 11:14:24 +01:00
  • bd618569e1 Print the supports before the object layer at the same height. bubnikv 2016-11-30 18:54:19 +01:00
  • 26a8017e99 Made the support interface contact loops configurable. bubnikv 2016-11-30 17:33:55 +01:00
  • 38cb2842ac support_material_synchronize_layers implementation bubnikv 2016-11-30 16:06:12 +01:00
  • 556204fddc support_material_synchronize_layers configuration value for synchronization of object layers with print layers. bubnikv 2016-11-30 16:04:15 +01:00
  • 946b36bb4d Supports using the EdgeGrid simplify_contour bubnikv 2016-11-29 19:30:59 +01:00
  • 1d44e92a6e Point dot operator and PointHash object for std unique_xxx functions. bubnikv 2016-11-29 19:29:24 +01:00
  • 5c23ee504c EdgeGrid::contours_simplified for supports bubnikv 2016-11-29 19:28:33 +01:00
  • ca5ad58ad2 logging of slicing process bubnikv 2016-11-29 19:27:23 +01:00
  • 85aa802d4b Fix of the last clipperutil safety_offset modification. Handle safety offset of holes separately, don't forget to reverse them before / after. bubnikv 2016-11-29 19:26:26 +01:00
  • 792856a505 Bounding Box - new method align_to_grid bubnikv 2016-11-29 19:25:10 +01:00
  • 50fe691604 Squashed commit of the following: Bill Waggoner 2016-11-28 14:28:50 -05:00
  • bde2ee6a7e Step forward in the C++ supports. bubnikv 2016-11-28 17:36:50 +01:00
  • 8b0784f26c Added a free "cross product" function to Pointf (thinking the Pointf is really a vector in this case). bubnikv 2016-11-28 17:34:52 +01:00
  • 695c92fb00 CLIPPER_OFFSET_SCALE was made a power of two, the scaling functions inside ClipperUtils are now using bit shifts instead of multiplication by doubles, which makes the scaling precise. bubnikv 2016-11-28 17:33:17 +01:00
  • e93253e270 Extended tracing of Support generator bubnikv 2016-11-24 15:38:19 +01:00
  • a5b04d5cf3 Support calculation optimized. bubnikv 2016-11-24 15:05:05 +01:00
  • e02755632e new Utils.hpp bubnikv 2016-11-24 14:05:06 +01:00
  • 0d20a81354 Log support through boost::log bubnikv 2016-11-24 13:44:51 +01:00
  • e67e37c772 Supports: Disabled debugging,fix of bottom surface over print. bubnikv 2016-11-24 11:29:31 +01:00
  • 14df0717ca Fix of new suports. bubnikv 2016-11-24 10:43:47 +01:00
  • d8be4de6cf One step further to the C++ Supports. bubnikv 2016-11-23 15:51:47 +01:00
  • 1a1eaa0810 increased version number. bubnikv 2016-11-20 23:06:56 +01:00
  • a069c41b20 On Windows, load the icon either from the exe, or fron the ico file. bubnikv 2016-11-20 14:22:26 +01:00
  • 39679f9518 Missed this one at the last check-in. bubnikv 2016-11-20 12:59:29 +01:00
  • ef69474636 Optimized Layer::merge_slices() Don't merge classified pieces of layerm->slices, but use the non-split islands of a layer. For a single region print, these shall be equal. bubnikv 2016-11-20 12:38:59 +01:00
  • 79f5a16536 Reverted the perimeter generator to not save the perimeter areas. These could be calculated from the fill areas if needed. On the other side, the non-classified (non-split) fill areas are stored now for use in the "ensure vertical wall thickness" feature, also the non-split fill areas are re-used when recalculating the infills. This is safer than trying to stitch the fill region together from the classified fragments. bubnikv 2016-11-17 23:22:59 +01:00
  • 2085a482c7 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. bubnikv 2016-11-17 16:57:58 +01:00
  • 9772584d78 Tame the Shiny profiler. Make it switchable with define SLIC3R_PROFILE. bubnikv 2016-11-16 23:11:51 +01:00
  • 3d47c52b47 In "ensure vertical wall thickness", the union_ is called each time a new layer is added to the shell. This is faster than calling union_ over all collected polygons. Also security offset has been disabled. bubnikv 2016-11-16 22:16:20 +01:00
  • 6a3bdf43dc ClipperUtils extended with intrusive profiling macros. offset2() was exteded with a shortcut, if both offset directions are of the same direction. bubnikv 2016-11-16 22:12:58 +01:00
  • bcda69c1e5 Extended the Build.PL to understand an environment variable SLIC3R_PROFILE to set the C++ symbol of the same name to enable Shiny profiler. bubnikv 2016-11-16 22:10:04 +01:00
  • c3af189045 Reduced some compiler warnings. bubnikv 2016-11-16 22:09:00 +01:00
  • 901ec0ad37 Disable includes inside Shiny sources when SLIC3R_PROFILE symbol is not defined. bubnikv 2016-11-16 22:04:38 +01:00
  • bfbe85b5c2 Some optimization of the "ensure vertical wall thickness" feature. bubnikv 2016-11-16 18:04:47 +01:00
  • e857833a91 Undef seed macro because of crazy perl macro substitutions. bubnikv 2016-11-16 13:19:48 +01:00
  • a36cc6491c Fixed compilation of XS modules by undefinig the "seed" macro redefined crazily by Perl. bubnikv 2016-11-16 13:14:42 +01:00
  • 1589ffb224 Fix for compilation on Strawberry Perl with C++11 enabled. bubnikv 2016-11-16 13:06:51 +01:00
  • 68e9ec0d41 Set the C++ version to C++11 for all compilers but Visual Studio C++. bubnikv 2016-11-16 13:00:36 +01:00
  • 4c407c8a59 Optimization of Model bounding box routines (avoids copying the mesh), optimization of the admesh rotate function (also made numerically more robust). bubnikv 2016-11-16 11:53:29 +01:00
  • 52de3940fe Improvements of admesh robustness when loading and fixing STLs. https://github.com/prusa3d/Slic3r/issues/33 bubnikv 2016-11-16 10:33:23 +01:00
  • d1d6e907c5 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. bubnikv 2016-11-16 09:31:18 +01:00
  • 50f06a0fe8 Increased the gimbal lock threshold to 170 degrees from 150 degrees. This makes it possible to look at the bottom of an object. bubnikv 2016-11-16 09:24:27 +01:00
  • e6d802a5ff Fixed a 64bit compatiblity in admesh, fixed a typo in TriangleMesh::swap() bubnikv 2016-11-15 17:22:00 +01:00
  • 7f1704b2ac Disabled live preview by default as it is not stable and/or the calculation takes too long for interactive usage. bubnikv 2016-11-13 23:35:56 +01:00
  • 9abe07852e Fixed https://github.com/prusa3d/Slic3r/issues/32 bubnikv 2016-11-12 23:20:49 +01:00
  • 7ebc3b0884 Merge branch 'master' of https://github.com/prusa3d/Slic3r bubnikv 2016-11-12 19:05:12 +01:00
  • b116fe287c Fixes https://github.com/prusa3d/Slic3r/issues/32#issuecomment-260135542 bubnikv 2016-11-12 19:04:40 +01:00
  • c1af9bda0a Merge pull request #30 from hroncok/patch-1 bubnikv 2016-11-11 15:51:58 +00:00
  • ec3aeb1e47 Update the version Miro Hrončok 2016-11-11 16:46:05 +01:00
  • 1070f0c0af New feature: Propose to enable "detect bridging perimeters" when the supports are first enabled. Don't check keep asking, if the user does not want the bridging perimeters to be enabled. bubnikv 2016-11-11 15:05:39 +01:00
  • f4ee87ba24 Fixed https://github.com/prusa3d/Slic3r/issues/27 bubnikv 2016-11-11 12:00:40 +01:00
  • c2d5b32ee2 Changed the logic of the "ensure vertical wall thickness" feature slightly by inflating the projected top/bottom/bottom bridge surfaces before they are added into a surface. This ensures, that the possible projected infill areas merge with the perimeter supporting areas, but the perimeter supporting areas will not be inflated on their own, if there is no touching projection of a top/bottom/bottom bridge surface. bubnikv 2016-11-11 11:13:36 +01:00
  • 4460b5ce50 re-wrote PrintObject::detect_surfaces_type() to C++, Fixed some cracks in the fill surfaces created by rounding all surfaces inside detect_surface_type(). bubnikv 2016-11-10 19:23:01 +01:00
  • 317e9131e8 New sparse infill: "stars" - David's star shaped infill. This is very similar to a "triangles" infill, but maximum two lines intersect at a single point. bubnikv 2016-11-09 15:39:12 +01:00
  • eb0ab38618 Fixes https://github.com/prusa3d/Slic3r/issues/26 Strange behavior of Extra perimeters and ensure wall thickness Old behavior is re-enabled when ensure vertical wall thickness is off. bubnikv 2016-11-09 10:24:45 +01:00
  • e15b5f4587 Fix of https://github.com/prusa3d/Slic3r/issues/16 Crashes while switching in preview through layers with arrow keys bubnikv 2016-11-08 17:13:16 +01:00
  • e92501e51e Use a less aggressive positive offset for top/bottom/bridge surfaces, when enlarging them for better anchoring. bubnikv 2016-11-08 15:35:08 +01:00
  • b8590180d8 Fix of https://github.com/prusa3d/Slic3r/issues/20 Slicing preview incorrect in terms of visible solid layers bubnikv 2016-11-08 15:33:13 +01:00
  • 443e900e07 Fixed compilation on Strawberry bubnikv 2016-11-08 11:23:08 +01:00
  • 5aacc6b015 Extended exit report when catching an exception under a broken Strawberry Perl. bubnikv 2016-11-08 11:15:09 +01:00
  • 2e53c06159 Finished the SLIC3R_HAS_BROKEN_CROAK magic. bubnikv 2016-11-08 10:59:43 +01:00
  • eb61373b69 Compilation with an environment variable SLIC3R_HAS_BROKEN_CROAK set will force the perl confess / croak called from a C++ code to print an error message and exit. There is a bug in some Strawberry Perl instalations leading to an interpreter hang up and an exit with a reasonable message is better than that. bubnikv 2016-11-08 10:49:32 +01:00
  • 22ca927f12 Reworked the bridge detector to allow searching a single bridging direction over multiple regions. This allows a single bridge to be drawn over holes, which are too close to each other to allow for separate bridges. Fixes Bridging-Angle not optimal https://github.com/prusa3d/Slic3r/issues/12 bubnikv 2016-11-08 09:59:25 +01:00
  • 5a81731577 Implemented utility functions to operate over lines, polylines, polygons, surfaces. bubnikv 2016-11-07 22:49:11 +01:00
  • aac968162b Unit test to verify whether Slic3r would hang when croaking from a C++ exception handler. This is an unfortunate error in some Strawberry Perl distributions. bubnikv 2016-11-06 17:42:36 +01:00
  • e9e55e7ac3 Fix missing cubic infill line, thanks @KoKuToru for pointing out the problem and proposing a fix. https://github.com/prusa3d/Slic3r/pull/18 bubnikv 2016-11-06 16:03:13 +01:00
  • bfb336df0c 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. bubnikv 2016-11-05 02:23:46 +01:00
  • dfa3f8d597 Perl OpenGL 0.7 package causes crashes on many platforms. Constrain compilation to Perl OpenGL version lower than 0.7. 897ca52654 bubnikv 2016-11-04 23:23:01 +01:00
  • 89cf29080b Fix of https://github.com/prusa3d/Slic3r/issues/14 A to_polygons(SurfacePtrs &&) method does not make sense as the ownership of the Surfaces stored in the pointer array is not known. Thanks to @flannelhead for precisely pinpointing this issue. bubnikv 2016-11-04 17:20:32 +01:00
  • 96a1c74d45 Let's hope to fix compilation on gcc. bubnikv 2016-11-04 17:09:01 +01:00
  • a10e9c6573 Fix of https://github.com/prusa3d/Slic3r/issues/13 The BoundingBox::defined flag was not set in constructor, if initialized from min/max corners. bubnikv 2016-11-04 16:49:08 +01:00
  • 6217622865 Hopefully a fix of https://github.com/prusa3d/Slic3r/issues/11 bubnikv 2016-11-04 15:03:51 +01:00
  • 3fc57ba8d8 Fixed compilation of the XS module with SLIC3R_GUI compilation flag enabled, leading to a linkage of GL and GLU libraries. https://github.com/prusa3d/Slic3r/issues/8 bubnikv 2016-11-04 01:06:26 +01:00