1337 Commits

Author SHA1 Message Date
Joseph Lenox
5ff201c53f Adjusted functions so that SLIC3RXS and the perl-less builds can live side-by-side. 2018-07-11 22:14:51 -05:00
Joseph Lenox
2ed48de491 Don't create extra, redundant points in the mesh. 2018-07-11 22:14:51 -05:00
Joseph Lenox
4d6deea6cb Return a moveable copy of the mesh and repair it prior to returning. 2018-07-11 22:14:51 -05:00
Joseph Lenox
0fc288b6d7 Pushed ::slice and ::stats() and ::bb3() into TriangleMesh.
Added more tests to TriangleMesh.
2018-07-11 22:14:51 -05:00
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