* Ports the basic deflate and related items from prusa3d/PrusaSlicer for AMF deflate.
Implements #4511
* Actually add the tests to read files.
* Push all the utils into one header.
* Revise slightly to ensure we end up in the logic and just rely on strcmp to check the buffer against the magic key.
* Use more compatible CMake construction?
* Build using cmake3 on travis.
* Fix use of strcmp; remove unused config definition
* throw an exception if bad zip file
* Use correct string header for cstrings; terminate buffer.
* Insist on CMake >= 3.9, actually install it on Travis
* Use VERSION_STRING instead for boost
* Use VERSION_GREATER_EQUAL to look for 1.74 or higher when attempting to include nowide
* invert logic to do what we want
* All build systems are terrible in their own way.
Edit the loop syntax to need the current shell thickness to be less than the minimum to add more layers (avoid infinite loop).
Add test to cover normal operation and regression for this layer arrangement.
Fixes#5019
* Make boost::Placeholders::_1 visible
Fixes https://github.com/slic3r/Slic3r/issues/4967
* Use boost/nowide/cstdlib.hpp instead of boost/nowide/cenv.hpp
* Do not undefine __STRICT_ANSI__
The `__STRICT_ANSI__` macro is defined by the compiler and it's undefined to undefine or redefine it.
Using `-U__STRICT_ANSI__ -std=c++11` is just silly. If you don't want strict mode, don't ask for strict mode. Certainly don't ask for strict mode and then undefined the macro that is defined by strict mode.
The correct solution is `-std=gnu++11` which doesn't define the macro in the first place.
* Help Slic3r::_Log out by adding methods to cover const char* and const wchar_t* (so our tests pass and things don't break when passed string literals).
* calculation of COG in Slic3r (#4970)
Implement center of gravity (COG) calculation and gcode output in Slic3r.
* Comment out cpp travis osx until it's sorted
* Fix misc. typos (#4857)
* Fix misc. typos
Found via `codespell -q 3 -S *.po,./t,./xs/t,./xs/xsp -L ot,uin`
* Follow-up typo fixes
* set progress on deploy script to avoid timeouts
* cpp porting: TransformationMatrix class tests (#4906)
* cpp porting: transformation class testing
* reword some tests
* remove obsolete include
* change equality threshold implementation
* semicolons help in C++
* Stop defining _GLIBCXX_USE_C99 (#4981)
This is an internal macro defined by libstdc++ to record the result of
configure checks done when GCC was built. Defining (or undefining or
redefining) the macro yourself results in undefined behaviour.
If the system's C library doesn't expose support for C99 or 'long long'
then telling libstdc++ that it does isn't going to work. It will just
mean libstdc++ tries to use features that don't actually exist in the C
library.
In any case, systems that don't support C99 are probably not relevant to
anybody nowadays.
Fixes#4975
* fix-cmake-boost-1-70+ (#4980)
* Use boost/nowide/cstdlib.hpp instead of boost/nowide/cenv.hpp
* Patch build to work on Boost 1.73 and older versions as well.
* Add missing usage of boost::placeholders.
* Add a using for boost versions > 1.73
Co-authored-by: Jonathan Wakely <jwakely@redhat.com>
Co-authored-by: Jonathan Wakely <jwakely@fedoraproject.org>
Co-authored-by: Roman Dvořák <romandvorak@mlab.cz>
Co-authored-by: luzpaz <luzpaz@users.noreply.github.com>
Co-authored-by: Michael Kirsch <mkirsch.git@gmail.com>
* Used filament outputs (gcode comments) in more computer-parseable format
* Auto stash before rebase of "refs/heads/filament_calculations"
* Used filament outputs (gcode comments) in more computer-parseable format
* Auto stash before rebase of "refs/heads/filament_calculations"
This is an internal macro defined by libstdc++ to record the result of
configure checks done when GCC was built. Defining (or undefining or
redefining) the macro yourself results in undefined behaviour.
If the system's C library doesn't expose support for C99 or 'long long'
then telling libstdc++ that it does isn't going to work. It will just
mean libstdc++ tries to use features that don't actually exist in the C
library.
In any case, systems that don't support C99 are probably not relevant to
anybody nowadays.
Fixes#4975
* cpp porting: transformation class testing
* reword some tests
* remove obsolete include
* change equality threshold implementation
* semicolons help in C++
The `__STRICT_ANSI__` macro is defined by the compiler and it's undefined to undefine or redefine it.
Using `-U__STRICT_ANSI__ -std=c++11` is just silly. If you don't want strict mode, don't ask for strict mode. Certainly don't ask for strict mode and then undefined the macro that is defined by strict mode.
The correct solution is `-std=gnu++11` which doesn't define the macro in the first place.