Commit Graph
100 Commits
Author SHA1 Message Date
bubnikv b60ae4745f Fixed missing #include<assert.h> 2017-03-29 19:57:11 +02:00
bubnikv 3e347c33dc Bundled Eigen library. 2017-03-29 18:19:57 +02:00
bubnikv 5dc899d64e Reset wipe moves on tool change and on travel. 2017-03-29 17:45:38 +02:00
bubnikv 4bbb1f4b63 Rewrote next_highest_power_of_2 as a template as OSX had issues with
the previous implementation.
2017-03-28 18:02:26 +02:00
bubnikv 2da3388aa5 Only print "Generating perimeters" once. 2017-03-28 17:27:05 +02:00
bubnikv 3ebf0ce7fd Improved memory allocation efficiency of the 3D path preview generator. 2017-03-28 17:09:57 +02:00
bubnikv 1fb302d480 Reverted due to a failing test t\multi.t 2017-03-28 14:29:27 +02:00
bubnikv 95b45da57c Fixed 3D view of the Cut dialog. 2017-03-28 14:18:13 +02:00
bubnikv 40b75f6cee Snapped the bottom interface layer print heights to the top interface
layer print heights to avoid too thin layer surfaces. The minimum layer
height at the nozzle page is maintained for the support layers.

Base layers are trimmed by the briding bottom surfaces.
2017-03-28 13:46:31 +02:00
bubnikv 9f7a5c7a6f Some beautification and C++11 adaptation. 2017-03-28 13:25:10 +02:00
bubnikv 640698d28b Fixing Zero extrusion print moves and overlapping regions in first layer
https://github.com/prusa3d/Slic3r/issues/184

No E distances generated when support is selected. bug?
https://github.com/prusa3d/Slic3r/issues/175
2017-03-27 14:34:07 +02:00
bubnikv 67126d6f48 Moved the NVIDIA and AMD hints to the slic3r.exe wrapper. 2017-03-27 09:06:24 +02:00
bubnikv 0dae43e4bc Bugfix: when the Voronoi diagram contained very large coordinates we need to check whether they are greater than our allowed range and consider the Voronoi edges infinite in those cases, in order to prevent overflows.
https://github.com/alexrj/Slic3r/issues/3776
https://github.com/alexrj/Slic3r/commit/9ad1360e445cd3043c4dc30ccad64b82b914f952
2017-03-24 09:32:30 +01:00
bubnikv 6162670bbd Fixing Window selections wrong
https://github.com/prusa3d/Slic3r/issues/191
Thanks @uclaros
https://github.com/alexrj/Slic3r/commit/94f60db114f45433c47e1cf71f84ab552902d99e
2017-03-23 18:02:35 +01:00
bubnikv bc7ff623f8 Updated from upstream,
build instructions for Windows point to Prusa3D instructions.
2017-03-23 17:00:46 +01:00
bubnikv 53832aff24 Documented the boost libraries required by Slic3r Prusa Edition
https://github.com/prusa3d/Slic3r/issues/88
2017-03-23 16:28:23 +01:00
bubnikv b7d3ed26c6 Link boost & intel Thread Building Blocks statically by default
on Windows and OSX, dynamically on Linux.
This could be overidden by an environment variable
SLIC3R_DYNAMIC=1
2017-03-23 15:06:22 +01:00
bubnikv a7838cac07 Fixed the rotation and scaling inputs allowing decimal numbers with
both the dot and comma as a decimal separator.

Fixes https://github.com/prusa3d/Slic3r/commit/6649888d1ce9293f938eeb215ddad42b0b3eafb6
2017-03-23 14:32:19 +01:00
bubnikv cc9460b8fa Increased a threshold for print centering from EPSILON to 5um
to account for the decimation of the brim lines.
2017-03-23 13:21:44 +01:00
bubnikv 9e0a690d2e Simplified the skirt paths. 2017-03-23 12:35:00 +01:00
bubnikv 073d6d2d43 Fixed colors of the path preview. 2017-03-23 12:34:35 +01:00
bubnikv 1770d031b4 Fixed rotations, allow both dot and dash as decimal separators,
correctly report invalid numeric values for rotation.
2017-03-23 11:53:59 +01:00
bubnikv 1b3c651643 Fixed iusses in rendering print paths through VBOs for multiple objects. 2017-03-23 11:10:53 +01:00
bubnikv 3b5d1d0e25 Try to enforce the use of a high performance NVIDIA / ATI GPU
on dual graphic card laptops.
2017-03-23 10:28:08 +01:00
bubnikv 1fb3d00932 Fix of parsing ASCII STLs on Visual Studio 2013 with global optimization. 2017-03-22 17:57:27 +01:00
bubnikv ed495663e8 Support generator parallelized. 2017-03-22 15:35:50 +01:00
bubnikv 04cd474708 Fixed some instance of simplify_polygons() invocation.
Geometry::deg2rad() made a template.
Some methods of Layer made inline.
Added a helper template remove_nulls().
2017-03-22 15:35:09 +01:00
bubnikv 6b99cbdc02 Had the vertex buffer objects disabled for debugging purposes by mistake. 2017-03-21 08:59:48 +01:00
bubnikv d8f0c0bdff Fixed bug in variable layer height editing: Make the OpenGL context
current.
2017-03-20 15:55:22 +01:00
bubnikv 039cd0ac5b new GLShader.cpp,h 2017-03-20 14:48:17 +01:00
bubnikv 045de596e2 Use OpenGL 2.0 shaders for the layer height rendering.
Use OpenGL 2.0 shaders for the print path rendering for performance reasons.
2017-03-20 12:05:20 +01:00
bubnikv 56f845f3c1 Fixed the reports given by the build process if BOOST or TBB libraries
were not found.
https://github.com/prusa3d/Slic3r/issues/177
2017-03-17 22:49:43 +01:00
bubnikv 8e28bd36a2 Link XS with -framework OpenGL on OSX. 2017-03-16 14:26:16 +01:00
bubnikv 73de247a15 Enabled SLIC3R_GUI by default. This is required to enable the OpenGL 2.0
API through C++ GLEW.
2017-03-16 14:09:42 +01:00
bubnikv 7f7d2da5fe Use Vertex Buffer Objects for rendering of 3D volumes if possible. 2017-03-16 14:02:28 +01:00
bubnikv c32c7fa1dc Fixed a typo. 2017-03-15 21:26:46 +01:00
bubnikv 93cab990c7 Fixed some memory allocation issues of the new C++ 3d path preview
(reserved memory has to be shrank around the collected data).

Initial implementation of the vertex buffer objects for the 3d path preview.
2017-03-15 20:45:03 +01:00
bubnikv d18e10c7c9 Rewrote the OpenGL object rendering to indexed triangle / quad sets
for lower memory consumption.
Rewrote the print path 3D preview to generate these indexed triangle / quad
sets, possibly with at least as possible duplication of vertices,
with a crease angle of 45 degrees, leading to maximum 8% overshoots
at the corners.
2017-03-15 16:33:25 +01:00
bubnikv e7a920fe16 Fixed some picking issues after porting GLVolumes to C++.
Initial interface for print paths visualization by VBOs.
2017-03-14 10:11:08 +01:00
bubnikv 79e6f23fdc code beautification, C++11 loops 2017-03-13 16:03:44 +01:00
bubnikv c96d794604 BoundingBox, Print - methods inlined, added const accessors. 2017-03-13 16:03:11 +01:00
bubnikv e6fddd364d Volume rewritten from Perl to C++,
generation of vertex arrays from paths rewritten from Perl to C++,
parallelized.
2017-03-13 16:02:17 +01:00
bubnikv 50976e1b5a Parallelized slices_to_fill_surfaces_clipped() 2017-03-08 23:02:27 +01:00
bubnikv 720459183e Parallelized detection of extra perimeters. 2017-03-08 22:38:08 +01:00
bubnikv a956186c76 Parallelized TriangleMeshSlicer::make_expolygons 2017-03-08 21:55:38 +01:00
bubnikv 336f86c101 Fixed a newly introduced memory leak into the Clipper library,
made all Clipper interfaces non-virtual.
2017-03-08 20:27:03 +01:00
bubnikv 4426e47e2a Fixed a race condition in the parallelization
of the "ensure vertical wall thickness" feature.
2017-03-08 18:10:39 +01:00
bubnikv 20796b89c1 Improved debugging of slicing. 2017-03-08 15:58:40 +01:00
bubnikv b5e45bccf9 Fixed a typo after porting _simplify_slices to C++. 2017-03-08 15:08:40 +01:00
bubnikv 798bca561b Parallelized the slow discover_vertical_shells() 2017-03-08 14:54:04 +01:00
bubnikv f200781436 C++ compiler suppressed default constructor and assignment operator
for Surface after the move operators were implemented. Added
those operators manually.
2017-03-08 14:22:49 +01:00
bubnikv 52b76930aa Simplify_slices rewritten to C++, parallelized.
Added some move methods to Surface class.
2017-03-08 13:43:49 +01:00
bubnikv 4331f38912 Fixing of slicing errors ported to C++, parallelized. 2017-03-08 11:56:42 +01:00
bubnikv 73439b7acb Parallelized PrintObject::_slice(), make_slices() code. 2017-03-08 10:37:47 +01:00
bubnikv 1e6cf0cd98 TriangleMeshSlicer
replaced the vectors of vectors by vectors of indices to a continuous memory,
using binary search to get to an index.
2017-03-08 09:47:32 +01:00
bubnikv edd7cabf68 Trace TriangleMeshSlicer at loglevel debug (nr. 4) 2017-03-07 22:50:32 +01:00
bubnikv dfba2cb6b2 Parallelized PrintObject::detect_surfaces_type() 2017-03-07 21:46:45 +01:00
bubnikv 65c024f7cf Parallelize PrintObject::process_external_surfaces() 2017-03-07 17:43:43 +01:00
bubnikv 109013bed7 Yet another fix of the static linking on Windows. 2017-03-07 16:33:36 +01:00
bubnikv 32b0428303 Yet another fix of a static TBB linkage. 2017-03-07 14:50:32 +01:00
bubnikv a4dea4b7fc Fix of intel TBB linking. 2017-03-07 14:31:08 +01:00
bubnikv 32ebb1e2c7 Fix of a static library extension of the INtel Thread Building Blocks on OSX/Linux. 2017-03-07 14:13:30 +01:00
bubnikv cb1a6eae1e Added dependencies on the Intel Thread Building Blocks.
Changed the C++ parallelization code to Intel Thread Building Blocks.
2017-03-07 13:03:14 +01:00
bubnikv 8a42c0ad9f Implementation of scaling factor of objects into an AMF file.
https://github.com/prusa3d/Slic3r/issues/7
2017-03-06 17:35:38 +01:00
bubnikv c23c0ee7d2 Fix of https://github.com/prusa3d/Slic3r/issues/172 ? 2017-03-06 15:03:31 +01:00
bubnikv 06f82d1db5 No need for Math::Libm 2017-03-06 13:09:23 +01:00
bubnikv d20a9d73d4 Fix for OSX: clang requires the member operator< and == to be const. 2017-03-05 16:34:16 +01:00
bubnikv a9a20003c0 Clipper memory optimization: Own memory manager for OutPt objects.
Allocate OutPt by chunks of 32, reuse the released OutPt objects.
2017-03-03 23:06:51 +01:00
bubnikv f24427cd76 Another Clipper optimization. When adding a set of paths
to Clipper, allocate the edges in a single continuous vector.
2017-03-03 21:40:40 +01:00
bubnikv fa4df36963 Fix: Orientation() has been declared inline, therefore not exported. 2017-03-03 20:39:04 +01:00
bubnikv 5580fd64b3 Clipper library:
Added some comments,
some methods were made inline, tiny methods moved to the header as inline,
dynamic allocation replaced with std:: containers,
changed some loops to the condensed C++11 syntax.
2017-03-03 20:38:53 +01:00
bubnikv fddd7c620f Some optimization of memory allocation, some reduction / inlining of short functions. 2017-03-03 20:38:40 +01:00
bubnikv 1909c75c21 TriangleMeshSlic3r used unordered_map, which was terribly horribly shamelessly
slow on mingw. Rewrote using std::vector<>, which is blazing fast.
2017-03-03 17:36:07 +01:00
bubnikv a219ae3d27 Set boost tracing level on DLL initialization to errors only. 2017-03-03 14:38:25 +01:00
bubnikv 4de33effdc Tracing of TriangleMesh repair. 2017-03-03 13:31:51 +01:00
bubnikv 930e6752d9 Reverted unification of positive and negative zeros when loaded
from an STL file.
2017-03-03 12:54:00 +01:00
bubnikv 4d00aa1800 More tracing of the slicing process. 2017-03-03 12:53:05 +01:00
bubnikv 062a6628e5 Revert "Some optimization of memory allocation, some reduction / inlining of short functions."
This reverts commit bc19e97d45.
2017-03-02 20:44:53 +01:00
bubnikv 473624fcd7 Revert "Clipper library:"
This reverts commit 90a415ae10.
2017-03-02 20:44:43 +01:00
bubnikv cd7134e6f6 Revert "Fix: Orientation() has been declared inline, therefore not exported."
This reverts commit c2ee73d211.
2017-03-02 20:44:28 +01:00
bubnikv c2ee73d211 Fix: Orientation() has been declared inline, therefore not exported. 2017-03-02 17:34:53 +01:00
bubnikv 90a415ae10 Clipper library:
Added some comments,
some methods were made inline, tiny methods moved to the header as inline,
dynamic allocation replaced with std:: containers,
changed some loops to the condensed C++11 syntax.
2017-03-02 17:11:46 +01:00
bubnikv 4287362aa6 Extended tracing of the slicing process. 2017-03-02 16:52:24 +01:00
bubnikv d430767fa7 Define a surface type count constant to be able to address a vector
with a surface type.
2017-03-02 16:42:26 +01:00
bubnikv 83a80a9b7d Optimization of LayerRegion::slices_to_fill_surfaces_clipped()
Added some run time tracing through boost::log.
2017-03-02 16:41:16 +01:00
bubnikv 73f603d90e Fix of #117: A large fractal pyramid takes ages to slice
The Clipper library has difficulties processing overlapping polygons.
Namely, the function Clipper::JoinCommonEdges() has potentially a terrible time complexity if the output
of the operation is of the PolyTree type.
This function implmenets a following workaround:
1) Peform the Clipper operation with the output to Paths. This method handles overlaps in a reasonable time.
2) Run Clipper Union once again to extract the PolyTree from the result of 1).
2017-03-02 16:39:43 +01:00
bubnikv 258252cbf3 Shiny Profiler: Disable exponential dumping of the timing data. 2017-03-02 16:35:15 +01:00
bubnikv 349cf841d6 Need to include '-lboost_filesystem' in build #166 2017-03-02 16:33:50 +01:00
bubnikv 07fa15806f Utility function SVG::export_expolygons() to paint a set of possibly
overlapping ExPolygons with attributes.
2017-03-02 16:32:43 +01:00
bubnikv dff5bda202 The Shiny profiler is not thread safe. Disable parallelization if
SLIC3R_PROFILE is enabled.
2017-03-02 16:31:29 +01:00
bubnikv bc19e97d45 Some optimization of memory allocation, some reduction / inlining of short functions. 2017-03-01 14:27:08 +01:00
bubnikv f8a2087fc6 Fixed a bug after merge.
https://github.com/prusa3d/Slic3r/issues/163
2017-03-01 13:16:33 +01:00
bubnikv 46fc4a0a8e Correctly rename g-code file once it is generated. 2017-02-28 10:44:44 +01:00
bubnikv 66493ce821 Some documentation on missing functionalities. 2017-02-28 10:29:52 +01:00
bubnikv 4010dd71f6 Support Prusa Control project files (.PRUS) by the GUI. 2017-02-27 16:09:22 +01:00
bubnikv 8a8b49ea02 Removed CoolingBuffer.pm as it has been superseeded by the C++ code. 2017-02-27 01:51:08 +01:00
bubnikv c9465cf7fa Fixed typos in AMF export. 2017-02-27 01:39:20 +01:00
bubnikv ee619701d8 Got rid of the Perl Format::STL, Format::AMF, Format::OBJ for good. 2017-02-27 01:03:00 +01:00
bubnikv f0f550783f Good bye, Perl Expat binding! 2017-02-27 00:38:30 +01:00
bubnikv 9ea570ea4e Fix of a warning in expat parser, which turns to an error
on some Perl/XS installations (strawberry Perl 64bit)
2017-02-26 23:35:44 +01:00