1333 Commits

Author SHA1 Message Date
Joseph Lenox
19c5fa0545 Added more tests for center(), and cut(). Added functions to access functionality (used to be in Perl interface). 2018-07-11 22:14:51 -05:00
Joseph Lenox
21946dc1a1 Implemented some of the tests and additional object code to pass tests.
Using [!mayfail] to indicate that test may fail (so as to not crash build).
2018-07-11 22:14:51 -05:00
Joseph Lenox
83af35b7c4 Give alias for vector of Point3. 2018-07-11 22:14:51 -05:00
Joseph Lenox
d612bf02a4 C++11/14 code cleanup: NULL to nullptr for default_value options. 2018-07-11 22:14:51 -05:00
Joseph Lenox
04bc767421 Added Pointf equality operator (scales for comparison). 2018-07-11 22:14:51 -05:00
Joseph Lenox
e8bb3f7e37 Added NumericChoice implementation along with tests.
Also added get_double() to interface.
2018-07-11 22:14:51 -05:00
Joseph Lenox
e13eb18455 Implemented UI_SpinCtrl and refactored common components to UI_Window. Added tests.
Replaced click tests in UI_Checkbox with event pushes.
2018-07-11 22:14:51 -05:00
Joseph Lenox
9a38d96dd4 Provide an alternate use for confess_at to call Slic3r::Log instead of perl xs. 2018-07-11 22:14:51 -05:00
Joseph Lenox
310d82ea2b Rename GUI.hpp to xsGUI.hpp 2018-07-11 22:14:51 -05:00
Joseph Lenox
c9ed2ca7c3 Renaming xs/../GUI.hpp to xsGUI.hpp to avoid conflicts 2018-07-11 22:14:51 -05:00
Joseph Lenox
8ec16388e0 refactored to accept a t_config_option_keys for initializer. 2018-07-11 22:14:51 -05:00
Joseph Lenox
ba483a7b07 Added std::string versions of error and info to Slic3r::Log 2018-07-11 22:14:51 -05:00
Joseph Lenox
d34d0ea6ea Throw a custom exception if Print::delete_object() gets an out-of-range identifier. 2018-07-11 22:14:51 -05:00
Joseph Lenox
21da567d43 Pushed a contains() method up to ExPolygonCollection that returns if any of its expolygons contain the point. 2018-07-11 22:14:51 -05:00
Joseph Lenox
18a5fb81b0 Added convenience function to build a Point from a Pointf that is scaled. 2018-07-11 22:14:51 -05:00
Joseph Lenox
9c13da7df0 Add additional translate() functions to accept a Point or Pointf for convenience. 2018-07-11 22:14:51 -05:00
Joseph Lenox
ccba4d6ebf add log function to build strings for vectors 2018-07-11 22:14:51 -05:00
Joseph Lenox
17a02a9041 Added generic error message to Log; print error type to console. 2018-07-11 22:14:51 -05:00
Joseph Lenox
58f84f21e6 Fixed arguments for Polygon::new_scale 2018-07-11 22:14:51 -05:00
Joseph Lenox
65a1d57d05 Added template function to make getting references to ConfigOptions easier to write. 2018-07-11 22:14:51 -05:00
Joseph Lenox
e4aa624ccb Add static method to create scaled Polygons from Pointf arrays. 2018-07-11 22:14:51 -05:00
Joseph Lenox
e77e3bb683 Overloaded append() to add single ExPolygons (avoids having to create a vector for no purpose) 2018-07-11 22:14:51 -05:00
Joseph Lenox
ac92b13e52 scale Pointf array into Points array. 2018-07-11 22:14:51 -05:00
Joseph Lenox
1de6134101 Used correct inheritance for Config. 2018-07-11 22:14:51 -05:00
Joseph Lenox
c3edae8fe4 added warn() to log 2018-07-11 22:14:51 -05:00
Joseph Lenox
eb563be888 Added factory function for new_from_defaults. Stubbed out new_from_cli. 2018-07-11 22:14:51 -05:00
Joseph Lenox
5e2ae0a60e Move ZipArchive to its own library. 2018-07-11 22:14:51 -05:00
Joseph Lenox
09394eac0a working on higher-level cpp Slic3r::Config that has a similar interface to the old Perl one. 2018-07-11 22:14:51 -05:00
Joseph Lenox
c1649c4dcf Start a simple Slic3r::Log to collect all of the debugging prints to a single area.
Upgrade backend to boost::log as needed.
2018-07-11 22:14:51 -05:00
Joseph Lenox
b419d06cb4 Finish renaming Config->ConfigBase in libSlic3r to make room for a Slic3r::Config that has an interface closer to the Perl version. 2018-07-11 22:14:51 -05:00
Joseph Lenox
20d588e41f Added CATCH v2.2.2 header 2018-07-11 22:14:51 -05:00
Alessandro Ranellucci
b3d3bed868 Update tiny_obj_loader.h to latest version in order to fix security vulnerabilities (#4473)
(Thanks Alexander Kuntschik)
2018-07-05 18:46:09 -05:00
Merill
cc42bb411c thinwall improvements (#4472)
* First step of thin wall improvements for alexrj branch.

* bugfix

* fix

* remove tabs, remove dead code

* Convert comments to C++ instead of C-style.

Converting comments to C++ style, fixed typos in comments.
C-style comments are normally reserved for commenting out code blocks, not descriptions.
2018-07-05 18:39:55 -05:00
Joseph Lenox
75de746431 Added specific option for labelling gcode sections on object change. Finishes implementing #4444
Thanks to @supermerill for the initial implementation.
2018-07-05 13:55:33 -05:00
Merill
89f8623eea CancelObject implementation (#4470)
* CancelObject implementation
activated with "verbose gcode" option

* typo
2018-07-05 13:28:28 -05:00
Joseph Lenox
12aa06e09c
Set drop-down default to 200% for first layer extrusion width
Previous drop-down default was `0` which is shorthand for auto-calculate. This is different from previous behavior. The default option should match the actual defaults and auto has been added as a dropdown option.
2018-06-27 23:17:02 -05:00
Joseph Lenox
88d24b763b Differentiate between small perimeters and external perimeters in verbose gcode. 2018-06-15 15:09:17 -05:00
Ahmed Samir
1527cfbb26 Allow to set shell thickness for top/bottom layers (#4430)
* Fix a warning in PresetEditor line 806.

* Remove min_shell_thickness from the if condition in  LayerRegion.cpp

* Add missing line in spiral vase check.

* Add initial set top shell thickness.

* Add minimum shell thickness for top/bottom layers.

* Some refactoring.

* Some Fixes.

* revert last change.

* a fix.

* Some refactoring.

* Some fix in calculating solid layers count.

* Refactoring in LayerRegion.cpp, Object.pm and PresetEditor.pm
2018-06-06 19:26:03 -05:00
Benjamin Landers
9856947d45 Rotating face to match plane (#4424)
* Prototype for selecting Face

* Fixed the speed issue - only allocates the array once

* Selecting faces works.

* Add UI elements to run rotate to bed function

(and a bad icon)

* Cleaned up a bit

* Optimized regular frame times (to a decent state) and added TODO for first frame time

* Add rotate face dialog

* Change how coloring for face selection works

* Cleanup according to comments

* Added grouped undos

* Easy fix for variant of #4420

* Added plane selection

* Edited UI labels to be more consistent

* Add a workable rotate face icon
2018-05-31 17:50:40 -05:00
Caroline
f3b590911d Partial implementation #1405: minimum shell thickness option (#3885)
* Added Minimum shell thickness option

-Added the option to libslic3r
-Created some of the necessary checks for illegal values

* Enforce min_shell_thickness as 0 when spiral vase is enabled

-This could be switched to match the extrusion width, but we already know there will only be 1 perimeter so this is probably more logical

* Feature is implemented

-Added a method in PerimeterGenerator to determine the amount of perimeters needed to meet min_shell_thickness

* Added a test in perimeters.t

* Fixed styling as requested

-Removed the magic number in PerimeterGenerator::num_loops()
-Added more test cases in perimeters.t
-Added documentation of the new feature in slic3r.pl and README.md

* Implemented requested changes

-Removed the num_loops function from PerimeterGenerator
-Added a scalled min_shell_thickness variable to PerimeterGenerator
-Changed the loop_number logic to use a previously defined variable loops

* Resolved more implementation issues

-Added min shell to invalidate state method
-Created additional checks in PresetEditor and LayerRegion for min shell
-Fixed the tooltip to be more descriptive
2018-05-22 19:25:02 -04:00
Merill
61ace41351 merge FillGyroid to slic3rPe state (bubnikv refactoring) (#4425)
contains a bugfix for #4406
2018-05-22 18:46:47 -04:00
Jacob Greenfield
4fa6251dd5 Pillar config (#4410)
Implements workaround for #4407 

* Added support for pillar size configuration.
* Pillars UI fix
* Pillar configuration fix
* Fixed misspelled variable name.
* Strings are not numbers.
* Fixed pillar spacing label.
2018-05-12 20:03:50 -05:00
platsch
8dc6eca03f Match object top (#4321)
* Fix: don't render layers in spline preview if they are outside the printable / visible region

* Try to reduce / thicken top layer in adaptive slicing mode to better match top of object
2018-05-08 19:39:36 -05:00
Joseph Lenox
5d8772167b Rolling part number to 1.3.1-dev for development. 2018-05-08 18:19:51 -05:00
Joseph Lenox
3ba8e0f369 Updating version for 1.3.0 release. 2018-05-08 17:47:09 -05:00
Joseph Lenox
8a93fbbd0c Changed a few comments to doxygen format. 2018-04-25 18:50:51 -05:00
Joseph Lenox
5619e41dd1 Reordered initializer list. 2018-04-25 18:50:33 -05:00
Joseph Lenox
7822802550 Rearrange initializer list in constructors to match the class order. 2018-04-25 18:22:52 -05:00
Joseph Lenox
d8a743d177 If M190, M109, M104, or M140 commands are not present in end gcode, append commands to shut off all hotends and the bed (same as start gcode). 2018-04-24 18:35:29 -05:00
Oekn5w
72db3392c8 "Reload from disk" - UI function overhaul (#4388)
* C++ backend work to support reloading modifier files

* UI update preserving configs and volumes of modifiers (those are not reloaded)

* clarifying variable names

* Setting up variables in the GUI enviroment

* Implementation of added variables in (new ModelVolume(*)) funcion

* Implementation of new reload function

* Overhaul of the reload function, also renaming of some variables

* Rewriting the main loop of the reload function, explicitly differentiating between the original file and later added parts and modifiers pointing to other files

* Whitespace cleanup

* Added dialog to choose from different reload behaviors, added hide and default option in preferences, copied volumes are matched the new object's origin translation
2018-04-23 12:04:47 -05:00