Commit Graph

951 Commits

Author SHA1 Message Date
bubnikv
266e1c4be1 Initial commit of the GLEW library for calling OpenGL from the C++ code. 2016-09-14 14:07:41 +02:00
bubnikv
b1575b4dcb Integration of the Shiny lightweight intrusive profiler. 2016-09-14 11:43:38 +02:00
bubnikv
4c67230436 Documented the purpose of various perl modules. 2016-09-14 11:22:41 +02:00
bubnikv
17d9c8c9dd fixes for gcc: Missing include float.h 2016-09-13 15:59:23 +02:00
bubnikv
7d56827e26 updated for older gcc 2016-09-13 15:29:31 +02:00
bubnikv
f73ca007e6 Fixed compilation on old gcc. 2016-09-13 15:15:44 +02:00
bubnikv
15c1edd552 Configurable volumetric extrusion rate slope. 2016-09-13 15:02:28 +02:00
bubnikv
620c6c7378 Ported from the playground branch. Various documentation and optimization. 2016-09-13 13:30:00 +02:00
bubnikv
a5b7f14dfa Updates in the C++ infill code. 2016-09-13 11:26:38 +02:00
bubnikv
068f71847e Some inlining optimizations. 2016-09-13 09:46:41 +02:00
bubnikv
c443f49da3 Fix in splitting the loop at a new point. 2016-09-13 09:44:30 +02:00
bubnikv
f518e0675c Initial commit of the new Pressure Equalizer, the EdgeGrid
signed distance field structure.
The EdgeGrid is used to avoid placing the seams on overhangs.
2016-09-12 16:25:15 +02:00
bubnikv
73cbb4b5dc some optimizations of Point rotation 2016-09-12 13:52:31 +02:00
bubnikv
9a83d4e8d5 Reverted some now unnecessary changes. Reverted the infill to the original perl implementation. 2016-09-12 13:26:17 +02:00
bubnikv
9fcc8fe9ae Meged with release_candidate_1_3 2016-09-12 11:29:39 +02:00
bubnikv
ab357c75a5 Updated xs/Build.PL to support Visual Studio compiler suite.
Updated xs/Build.PL to understand BOOST_LIBRARY_PATH and
BOOST_INCLUDE_PATH environment variables. This way one may easily
switch between various boost builds.

Some minor tweeks were done to make Slic3r compile with
Visual Studio 2013.
2016-08-21 21:46:17 +02:00
bubnikv
bd23fe9c44 Fixed a crash in a constructor of FullPrintConfig due to an incorrect use
of virtual inheritance. Note that an invocation of ConfigBase::optptr()
is routed to FullPrintConfig::optptr() for all classes of the FullPrintConfig
hierarchy. FullPrintConfig::optptr() in turn invokes optptr()
of PrintObjectConfig, PrintRegionConfig, PrintConfig and HostConfig.
Due to the use of virtual inheritance, this all happens, when
PrintObjectConfig gets constructed as part of FullPrintConfig, but
at that time PrintRegionConfig, PrintConfig and HostConfig are not
constructed yet. Accessing them at that time leads to crashes,
when compiled with Visual Studio 2013 compiler. For some reason
the code generated by gcc does not crash, but I believe the behavior
is undefined and it is better to be fixed anyway.

The patch solves the problem by calling set_defaults() by the topmost
object, which not only fixes the crashes, but also avoids repeated
initialization.
2016-08-21 19:09:31 +02:00
Vanessa Ezekowitz
39dfee79c7 Mention anti-ooze sacrificial skirt feature. 2016-06-01 17:47:54 -04:00
Alessandro Ranellucci
9e8022f6f6 More refactoring to medial axis and gap fill, more robust 2016-05-20 17:03:57 +02:00
Joseph Lenox
b068616366 Merge pull request #3120 from Vicious-one/patch-1
Fix for #3069
2016-05-18 23:01:19 -05:00
Chow Loong Jin
209b919fe6 Fix cooling not working if !gcode_comments
The cooling markers were being passed into GCodeWriter::set_speed() as a
comment which were being ignored if gcode_comments was false.

Fixes: #3325
2016-05-12 23:35:39 +08:00
Vojtech Bubnik
d022493297 Merge remote-tracking branch 'upstream/master' 2016-05-03 22:05:31 +02:00
bubnikv
79c5e0a52d Optimize remove_duplicate_points. 2016-04-15 18:01:08 +02:00
bubnikv
42d9db04f2 Don't crash, if the number of lines to display is zero. 2016-04-15 17:58:29 +02:00
bubnikv
83166a7ff3 Close SVG file when the object gets deallocated. 2016-04-15 17:57:38 +02:00
bubnikv
f3bda8a57a Disable optimizations and debug check even in debug mode. 2016-04-14 11:17:44 +02:00
bubnikv
23a5edbd11 Breaking into the debugger from the menu. This may be useful in Windows. 2016-04-13 20:51:03 +02:00
bubnikv
d6b53d18b8 Optimized and improved rectilinear fill. 2016-04-13 20:46:45 +02:00
bubnikv
f767ce816b Optimized and improved rectilinear fill. 2016-04-13 20:45:44 +02:00
Joseph Lenox
510ca9f9e2 Merge pull request #3303 from hyperair/fix-cooldown
Changes to properly detect extrusion moves for "layer cooldown" slowdowns and properly calculate time required to complete moves.
2016-04-12 12:50:43 -05:00
Chow Loong Jin
3d73fbf5fd Use float for elapsed_time
When accumulating elapsed_time from many moves that take less than 1
second, elapsed_time does not get incremented because (unsigned int)0.9
= 0.
2016-04-13 01:13:42 +08:00
Chow Loong Jin
4c622c504f Account for travel moves in elapsed_time 2016-04-13 01:13:39 +08:00
Alessandro Ranellucci
a54edf8fbc Support static linking of the Boost libs 2016-04-11 22:14:12 +02:00
bubnikv
3b81bf0e33 Remove some debugging info. 2016-04-11 17:48:27 +02:00
bubnikv
3ba625da22 Revert incorrect checkins. 2016-04-11 17:34:15 +02:00
bubnikv
ed83ff37f8 Simulation of extrusion in a plane, useful for finding out under / over-extruions. 2016-04-11 17:10:13 +02:00
bubnikv
9716ee8eca Interface to a filler, ported from Perl to C++. 2016-04-11 17:09:15 +02:00
bubnikv
be3e4caf1d Fills were reimplemented in C++.
While reimplementing the FillPlanePath code, the octagon infill was fixed to extrude the right amount of material.
2016-04-11 17:08:30 +02:00
bubnikv
7da68c91a5 Vojtech likes to use Sublime on Windows to get the wheels rolling. 2016-04-11 17:05:58 +02:00
Alessandro Ranellucci
f66585c250 Fixed compilation on OS X 2016-04-11 12:04:54 +02:00
bubnikv
d392858ee3 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-04-10 19:32:39 +02:00
bubnikv
6c5c9eddba Fixed a typo when SLIC3R_DEBUG is active. 2016-04-10 19:13:08 +02:00
bubnikv
bcfbe02c8d New method to rotate only polygons, not translate.
New free function to_polygons. Whithout this function one needs to construct the ExPolygonCollection, which means a deep copy.
2016-04-10 19:12:32 +02:00
bubnikv
023310882f Added a macro SLIC3R_CPPVER to indicate the C++ language version supported by the compiler. 2016-04-10 19:07:34 +02:00
bubnikv
7d54e28e30 Added optimized methods for point and polyline rotation.
Existing methods for rotation were optimized by calculating the sin/cos values once only.
Added an operator- for points.
2016-04-10 19:06:46 +02:00
bubnikv
c8ff517389 New constructors for the bounding box with min/max points were added.
empty(bbox) function template was added.
2016-04-10 19:02:00 +02:00
bubnikv
33ddb13e5d Use CLIPPER_OFFSET_SCALE instead of a numeric value. 2016-04-10 18:58:12 +02:00
Chow Loong Jin
2e2e4e68d3 Fix layer time slowdown
The recent GCode writer changes which put the speed changes on a line of
their own have caused the layer time slowdown to be ignored by the regex
in CoolingBuffer.pm.

Fixes: #3134
2016-04-10 16:10:18 +08:00
bubnikv
4156b51c18 Debugging visualization of the gap fills into a SVG format, if SLIC3R_DEBUG is set. 2016-03-27 10:53:59 +02:00
Alessandro Ranellucci
9576973b57 Tune gap fill and thin walls to less extreme values 2016-03-26 18:37:37 +01:00
Alessandro Ranellucci
36d5272f05 Filter gap fill using length relative to the actual width. #2781 2016-03-26 18:10:17 +01:00
Alessandro Ranellucci
660b56acb5 Fixed type error 2016-03-26 12:21:54 +01:00
Alessandro Ranellucci
7041bb5bd9 Rewritten the medial axis algorithm, now more robust (don't just prune MAT from endpoints, but validate all single edges) 2016-03-26 01:45:08 +01:00
Alessandro Ranellucci
b744947711 Missing #include 2016-03-20 01:50:27 +01:00
Alessandro Ranellucci
dd879c3ef2 When loading an AMF file having multiple objects that look like multiple parts of a single object, prompt user and ask how to consider it. #2970
Conflicts:

	lib/Slic3r/Model.pm
2016-03-19 22:24:20 +01:00
Alessandro Ranellucci
dfb1ec99ac Variable-width thin walls. Yay! 2016-03-19 19:40:11 +01:00
Alessandro Ranellucci
6dc42ee902 Variable-width gap fill. Yay! #2960 2016-03-19 19:20:04 +01:00
Alessandro Ranellucci
5ff7511a14 Fixed regression in bridging caused by error in porting. Includes regression test. #3175 2016-03-18 22:40:29 +01:00
Mark Walker
92e1f1011a Fix issue with undefined BOOST_VERSION
if BOOST_VERSION < 106000 always succeeds because BOOST_VERSION is
undefined.  In order to avoid the code for new boost, we need
<boost/version.hpp>
2016-03-13 23:51:35 -07:00
Alessandro Ranellucci
7aafa54bf0 Raise allowed temperatures to 500°C. #3114 2016-03-14 00:08:08 +01:00
Alessandro Ranellucci
f4a9fa6569 Support incompatible change in Boost 1.60. #3117 2016-03-14 00:06:56 +01:00
Alessandro Ranellucci
38d9acbbfb Bugfix: memory corruption in BridgeDetector (thanks @JakeQZ for the patch). #3267 2016-03-13 21:13:51 +01:00
Alessandro Ranellucci
d5ff69b1aa Make GCodeSender more robust (keep more than one sent line) and fix a memory access problem in the asio write buffer 2016-03-13 18:27:02 +01:00
Alessandro Ranellucci
ff0a947364 Merge pull request #3190 from farhaven/master
Implement serial port baudrate selection for OpenBSD
2016-03-13 15:37:13 +01:00
Alessandro Ranellucci
6e5938c833 Fixed return value for deserialize() implementations. #3250 2016-03-13 15:26:52 +01:00
wenjie
3acb0514e1 fix a segment fault by admesh 2016-03-12 16:01:16 +08:00
Alessandro Ranellucci
9eabbded2b Fixed regression in the C++ port of PerimeterGenerator causing gaps to be filled twice 2016-02-20 19:27:00 +01:00
Gregor Best
5a13c4384f Implement serial port baudrate selection for OpenBSD
Signed-off-by: Gregor Best <gbe@unobtanium.de>
2016-01-03 17:35:59 +01:00
Alessandro Ranellucci
83c91a3538 Dump serial messages to file in order to debug communication issues 2015-12-26 11:50:20 +01:00
Alessandro Ranellucci
7c8b71012c Force the 'nearest' strategy for starting skirt loops 2015-12-21 15:02:39 +01:00
Alessandro Ranellucci
1a286fc906 Fixes and improvements to MotionPlanner, much smarter now 2015-12-21 14:46:35 +01:00
Alessandro Ranellucci
70e8db8a0a Minor code cleanup here and there 2015-12-19 20:27:04 +01:00
Alessandro Ranellucci
795107dfa2 Bugfix: external details were simplified too much when using default settings at low layer height, because the internal flow was erroneously taken into account. #2807 2015-12-19 16:46:56 +01:00
Alessandro Ranellucci
bab3404b2d Very minor code improvements 2015-12-19 16:36:07 +01:00
Alessandro Ranellucci
2df750a9c9 Fixed ported code of PerimeterGenerator 2015-12-19 16:35:51 +01:00
Alessandro Ranellucci
667a121ddb Fixed error in porting causing wrong moves with avoid_crossing_perimeters 2015-12-19 14:49:29 +01:00
Alessandro Ranellucci
a2ea191d84 Fix regression in lift, includes regression test 2015-12-19 12:44:22 +01:00
Alessandro Ranellucci
fd7795da59 One more fix for compilation with older compilers 2015-12-19 10:20:05 +01:00
Alessandro Ranellucci
8138fbf349 New --retract-lift-above and --retract-lift-below options. #763 #3057 2015-12-18 18:36:39 +01:00
Alessandro Ranellucci
562efc1677 Typo 2015-12-18 13:49:22 +01:00
Alessandro Ranellucci
b8f0391934 Fix compilation with GCC 2015-12-18 13:40:57 +01:00
Alessandro Ranellucci
44825d91af Some changes to DLP projector 2015-12-18 00:56:56 +01:00
Alessandro Ranellucci
3ec3aaf960 Removed debugging statements 2015-12-16 13:11:41 +01:00
Alessandro Ranellucci
e381100812 More efficient syntax for the PrintConfigDef constructor 2015-12-16 13:09:25 +01:00
Alessandro Ranellucci
934bd43e35 More refactoring on Config XS bindings 2015-12-16 12:58:06 +01:00
Alessandro Ranellucci
3c862836f2 Refactored the Config XS bindings 2015-12-16 12:33:19 +01:00
Alessandro Ranellucci
21364b7cd1 Fix one regression in arrange 2015-12-14 00:15:26 +01:00
Alessandro Ranellucci
c0248dea8c Bugfix: missing include assert.h #3155 2015-12-11 21:36:51 +01:00
Alessandro Ranellucci
e2f2761a00 One more fix for compilation 2015-12-08 11:07:45 +01:00
Alessandro Ranellucci
9f90b2a1bf Fix compilation 2015-12-08 11:01:12 +01:00
Alessandro Ranellucci
5cfa36f36e Fix typo #3152 2015-12-08 10:53:57 +01:00
Alessandro Ranellucci
4913e90e10 Remove any Perl related code from libslic3r 2015-12-08 00:39:54 +01:00
Alessandro Ranellucci
3fac8cd77e Large refactoring of the Config classes 2015-12-07 19:39:49 +01:00
Alessandro Ranellucci
32a333f16a Import config bundle automatically if found in application directory 2015-12-07 12:17:06 +01:00
Alessandro Ranellucci
7e1fac8f76 Separate libslic3r code from slic3r application code 2015-12-06 12:54:01 +01:00
Alessandro Ranellucci
7eb3a70649 Bump version number 2015-12-06 11:18:27 +01:00
Alessandro Ranellucci
954e2c9bf0 Fix comment stripping in sender 2015-12-06 11:17:58 +01:00
Alessandro Ranellucci
27dcd60c77 Fix compilation on Windows 2015-12-06 11:17:50 +01:00
Alessandro Ranellucci
d0db8914f7 Fix a compilation error on Win32 2015-12-05 11:48:24 +01:00
Alessandro Ranellucci
e2b203ba8d Disable screensaver while projecting (untested on Windows) 2015-12-04 21:25:45 +01:00
Alessandro Ranellucci
7523550066 Try to fix compilation on older Perls 2015-12-02 19:57:03 +01:00
Alessandro Ranellucci
1bebe6097b Make test happy 2015-12-02 19:39:16 +01:00
Alessandro Ranellucci
4f8a18bbad Ported Layer::maker_perimeters() to XS 2015-12-02 19:32:57 +01:00
Alessandro Ranellucci
3a9cf91f83 Ported a couple more methods to XS 2015-12-02 18:29:33 +01:00
Alessandro Ranellucci
ed75219215 Ported mode Model methods to XS 2015-12-02 18:06:18 +01:00
Alessandro Ranellucci
dfce3a3138 Ported _arrange() and arrange_object() to XS 2015-12-01 21:51:16 +01:00
Alessandro Ranellucci
48f1fab49f Bugfix: an error in porting caused bad perimeter ordering. Includes regression test and more unit tests for PerimeterGenerator 2015-12-01 20:40:00 +01:00
Alessandro Ranellucci
39924ee89c More small fixes for compilation on Linux 2015-11-19 17:02:01 +01:00
Alessandro Ranellucci
1378562e63 Further improvements for compilation (Ubuntu) 2015-11-19 15:30:27 +01:00
Alessandro Ranellucci
21a5d6e137 Several fixes to GCodeSender, including compilation on older OS X and DTR reset 2015-11-19 13:17:52 +01:00
Alessandro Ranellucci
9febb10bd7 Smoother manual control movements 2015-11-08 10:20:47 +01:00
Alessandro Ranellucci
9a8724cdd0 More compilation changes for Win32 2015-11-06 11:51:24 +01:00
Alessandro Ranellucci
ca48501f91 Remove Boost from distribution and fix some more things for Windows compilation 2015-11-06 11:34:37 +01:00
Alessandro Ranellucci
e7d2be842d Improve Boost path detection 2015-11-06 11:03:45 +01:00
Alessandro Ranellucci
97bf69ba7f Fix compilation on Windows 2015-11-06 10:43:11 +01:00
Alessandro Ranellucci
9f9b5afedb Merge branch 'master' into sender 2015-11-05 11:04:01 +01:00
Alessandro Ranellucci
2e9a0f5590 Added more search paths for Boost on Win32 2015-11-05 11:02:12 +01:00
Alessandro Ranellucci
61f0a9e4da Replace the flip word with mirror. #3060 2015-11-04 23:11:30 +01:00
Alessandro Ranellucci
f8d2c69713 Fixed compilation warnings and a potential bug in MotionPlanner, as reported in #3054 2015-11-04 20:50:32 +01:00
ntfshard
7c7982d9f3 Fix signed-unsigned compare 2015-11-04 20:49:20 +01:00
ntfshard
c90ecac48e Addtional check for TPPLPoly::operator= 2015-11-04 20:49:20 +01:00
ntfshard
d62f33b0b4 Removed unused variables 2015-11-04 20:49:20 +01:00
ntfshard
32f5538e0d Fix for -Wmaybe-uninitialized warninig 2015-11-04 20:49:20 +01:00
ntfshard
40e49613b1 Config: pass value as a reference 2015-11-04 20:49:20 +01:00
ntfshard
ef0050662c Function arguments passed by reference 2015-11-04 20:49:20 +01:00
ntfshard
e1d663c0ce Function arguments passed by reference 2015-11-04 20:49:20 +01:00
ntfshard
dbcd1e2df6 Fix: memory leak in ExPolygon::triangulate_p2t 2015-11-04 20:49:20 +01:00
ntfshard
c6ef26a457 std::list::empty faster than std::list::size (for C++03) 2015-11-04 20:49:19 +01:00
ntfshard
dd5c5eb931 Fix: Initializer list, right initialisation order 2015-11-04 20:49:19 +01:00
ntfshard
eb7464ace6 Style fix: const for some functions 2015-11-04 20:49:19 +01:00
ntfshard
f2c4a66e45 Refactoring: prefix inc/dec operators for iterators 2015-11-04 20:49:19 +01:00
Alessandro Ranellucci
06913cc8b8 Merge pull request #3111 from mdebski/temp_comments
Fix incorrect comments to bed temperature setting gcode
2015-11-04 20:17:58 +01:00
Alessandro Ranellucci
7a2a1b5446 Merge pull request #3039 from llluis/patch-1
Bugfix #3038
2015-11-04 19:47:02 +01:00
Alessandro Ranellucci
b67b903902 Include the option category for first_layer_extrusion_width. #3061 2015-11-04 19:33:49 +01:00
Alessandro Ranellucci
c34430c6c4 Fix G-code checksum 2015-11-04 14:00:37 +01:00
Maciej Dębski
369b99c712 Fix incorrect comments to temperature-setting gcode 2015-11-04 13:55:08 +01:00
Alessandro Ranellucci
1d10e463a3 Bugfix: wrong error handling in GCodeSender 2015-11-03 23:08:16 +01:00
Alessandro Ranellucci
9ee6829ebc Implemented connection timeout in C++ 2015-11-02 20:36:36 +01:00
Alessandro Ranellucci
9438289fc1 Removed debugging statement 2015-11-02 01:44:44 +01:00
Alessandro Ranellucci
b309c61de3 Test button for serial connection 2015-11-02 01:35:28 +01:00
Alessandro Ranellucci
fc1a7471cf Several improvements to the print job queue 2015-11-02 01:18:05 +01:00
Alessandro Ranellucci
9b21ac877a Merge branch 'master' into sender
Conflicts:
	Build.PL
	lib/Slic3r.pm
	xs/MANIFEST
	xs/src/libslic3r/PrintConfig.hpp
2015-11-01 19:12:13 +01:00
Alessandro Ranellucci
2811af349a Added a new grid infill pattern 2015-11-01 19:03:11 +01:00
Alessandro Ranellucci
889a54e946 Bump version number 2015-10-26 23:25:26 +01:00
Alessandro Ranellucci
9fcec10737 Finished porting LayerRegion to C++ 2015-10-26 23:24:46 +01:00
Vicious-one
8e0d458d1d Fix for #3069 2015-09-30 16:22:49 +03:00
Luís Andrade
b31edc0be3 Update GCode.cpp
Bugfix #3038
2015-08-10 18:03:45 -04:00
Alessandro Ranellucci
5b8ed7367a Fixed potential hang in PerimeterGenerator.cpp 2015-08-06 10:07:13 +02:00
Alessandro Ranellucci
6ac79e3ed6 Ported make_perimeters() to C++ 2015-07-23 16:27:21 +02:00
Alessandro Ranellucci
15d2522f3d Merge branch 'xs-perimetergenerator' 2015-07-23 15:53:19 +02:00