Merge branch 'master' into tm_arrange_selection

This commit is contained in:
tamasmeszaros 2019-06-27 09:33:32 +02:00
commit 96f6fd2d9f
12 changed files with 24 additions and 18 deletions

9
deps/CMakeLists.txt vendored
View file

@ -36,10 +36,11 @@ set(DESTDIR "${CMAKE_CURRENT_BINARY_DIR}/destdir" CACHE PATH "Destination direct
option(DEP_DEBUG "Build debug variants (only applicable on Windows)" ON) option(DEP_DEBUG "Build debug variants (only applicable on Windows)" ON)
option(DEP_WX_STABLE "Build against wxWidgets stable 3.0 as opposed to default 3.1 (Linux only)" OFF) option(DEP_WX_STABLE "Build against wxWidgets stable 3.0 as opposed to default 3.1 (Linux only)" OFF)
# IGL static library in release mode produces 50MB binary. On the build server, it should be # On developer machines, it can be enabled to speed up compilation and suppress warnings coming from IGL.
# disabled and used in header-only mode. On developer machines, it can be enabled to speed # FIXME:
# up conpilation and suppress warnings coming from IGL. # Enabling this option is not safe. IGL will compile itself with its own version of Eigen while
option(DEP_BUILD_IGL_STATIC "Build IGL as a static library. Might cause link errors and increase binary size." OFF) # Slic3r compiles with a different version which will cause runtime errors.
# option(DEP_BUILD_IGL_STATIC "Build IGL as a static library. Might cause link errors and increase binary size." OFF)
message(STATUS "PrusaSlicer deps DESTDIR: ${DESTDIR}") message(STATUS "PrusaSlicer deps DESTDIR: ${DESTDIR}")
message(STATUS "PrusaSlicer deps debug build: ${DEP_DEBUG}") message(STATUS "PrusaSlicer deps debug build: ${DEP_DEBUG}")

View file

@ -54,7 +54,7 @@ ExternalProject_Add(dep_libigl
-DLIBIGL_BUILD_PYTHON=OFF -DLIBIGL_BUILD_PYTHON=OFF
-DLIBIGL_BUILD_TESTS=OFF -DLIBIGL_BUILD_TESTS=OFF
-DLIBIGL_BUILD_TUTORIALS=OFF -DLIBIGL_BUILD_TUTORIALS=OFF
-DLIBIGL_USE_STATIC_LIBRARY=${DEP_BUILD_IGL_STATIC} -DLIBIGL_USE_STATIC_LIBRARY=OFF #${DEP_BUILD_IGL_STATIC}
-DLIBIGL_WITHOUT_COPYLEFT=OFF -DLIBIGL_WITHOUT_COPYLEFT=OFF
-DLIBIGL_WITH_CGAL=OFF -DLIBIGL_WITH_CGAL=OFF
-DLIBIGL_WITH_COMISO=OFF -DLIBIGL_WITH_COMISO=OFF

View file

@ -264,7 +264,7 @@ ExternalProject_Add(dep_libigl
-DLIBIGL_BUILD_PYTHON=OFF -DLIBIGL_BUILD_PYTHON=OFF
-DLIBIGL_BUILD_TESTS=OFF -DLIBIGL_BUILD_TESTS=OFF
-DLIBIGL_BUILD_TUTORIALS=OFF -DLIBIGL_BUILD_TUTORIALS=OFF
-DLIBIGL_USE_STATIC_LIBRARY=${DEP_BUILD_IGL_STATIC} -DLIBIGL_USE_STATIC_LIBRARY=OFF #${DEP_BUILD_IGL_STATIC}
-DLIBIGL_WITHOUT_COPYLEFT=OFF -DLIBIGL_WITHOUT_COPYLEFT=OFF
-DLIBIGL_WITH_CGAL=OFF -DLIBIGL_WITH_CGAL=OFF
-DLIBIGL_WITH_COMISO=OFF -DLIBIGL_WITH_COMISO=OFF

View file

@ -579,7 +579,7 @@ void CLI::print_help(bool include_print_options, PrinterTechnology printer_techn
#endif /* SLIC3R_GUI */ #endif /* SLIC3R_GUI */
<< std::endl << std::endl
<< "https://github.com/prusa3d/PrusaSlicer" << std::endl << std::endl << "https://github.com/prusa3d/PrusaSlicer" << std::endl << std::endl
<< "Usage: slic3r [ ACTIONS ] [ TRANSFORM ] [ OPTIONS ] [ file.stl ... ]" << std::endl << "Usage: prusa-slicer [ ACTIONS ] [ TRANSFORM ] [ OPTIONS ] [ file.stl ... ]" << std::endl
<< std::endl << std::endl
<< "Actions:" << std::endl; << "Actions:" << std::endl;
cli_actions_config_def.print_cli_help(boost::nowide::cout, false); cli_actions_config_def.print_cli_help(boost::nowide::cout, false);

View file

@ -10,5 +10,5 @@ if(libigl_FOUND)
target_link_libraries(libigl INTERFACE igl::core) target_link_libraries(libigl INTERFACE igl::core)
else() else()
message(STATUS "IGL NOT found, using bundled version...") message(STATUS "IGL NOT found, using bundled version...")
target_include_directories(libigl INTERFACE SYSTEM ${LIBDIR}/libigl) target_include_directories(libigl SYSTEM BEFORE INTERFACE ${LIBDIR}/libigl)
endif() endif()

View file

@ -555,7 +555,7 @@ TEST(GeometryAlgorithms, NestTest) {
size_t partsum = std::accumulate(result.begin(), size_t partsum = std::accumulate(result.begin(),
result.end(), result.end(),
size_t(0), size_t(0),
[](int s, [](size_t s,
const decltype( const decltype(
result)::value_type &bin) { result)::value_type &bin) {
return s += bin.size(); return s += bin.size();

View file

@ -286,7 +286,7 @@ template<class Tout,
class = FloatingOnly<Tout>> class = FloatingOnly<Tout>>
inline SLIC3R_CONSTEXPR Tout scaled(const Tin &v) SLIC3R_NOEXCEPT inline SLIC3R_CONSTEXPR Tout scaled(const Tin &v) SLIC3R_NOEXCEPT
{ {
return static_cast<Tout>(v / static_cast<Tout>(SCALING_FACTOR)); return static_cast<Tout>(v / static_cast<Tin>(SCALING_FACTOR));
} }
// Conversion definition from unscaled to integer 'scaled coord'. // Conversion definition from unscaled to integer 'scaled coord'.
@ -297,7 +297,7 @@ template<class Tout = coord_t, class Tin, class = FloatingOnly<Tin>>
inline SLIC3R_CONSTEXPR ScaledCoordOnly<Tout> scaled(const Tin &v) SLIC3R_NOEXCEPT inline SLIC3R_CONSTEXPR ScaledCoordOnly<Tout> scaled(const Tin &v) SLIC3R_NOEXCEPT
{ {
//return static_cast<Tout>(std::round(v / SCALING_FACTOR)); //return static_cast<Tout>(std::round(v / SCALING_FACTOR));
return static_cast<Tout>(v / static_cast<Tout>(SCALING_FACTOR)); return static_cast<Tout>(v / static_cast<Tin>(SCALING_FACTOR));
} }
// Conversion for Eigen vectors (N dimensional points) // Conversion for Eigen vectors (N dimensional points)

View file

@ -1564,8 +1564,10 @@ void ModelVolume::center_geometry_after_creation()
Vec3d shift = this->mesh().bounding_box().center(); Vec3d shift = this->mesh().bounding_box().center();
if (!shift.isApprox(Vec3d::Zero())) if (!shift.isApprox(Vec3d::Zero()))
{ {
m_mesh->translate(-(float)shift(0), -(float)shift(1), -(float)shift(2)); if (m_mesh)
m_convex_hull->translate(-(float)shift(0), -(float)shift(1), -(float)shift(2)); m_mesh->translate(-(float)shift(0), -(float)shift(1), -(float)shift(2));
if (m_convex_hull)
m_convex_hull->translate(-(float)shift(0), -(float)shift(1), -(float)shift(2));
translate(shift); translate(shift);
} }
} }

View file

@ -720,8 +720,9 @@ void SLAPrint::process()
if(slindex_it == po.m_slice_index.end()) if(slindex_it == po.m_slice_index.end())
//TRN To be shown at the status bar on SLA slicing error. //TRN To be shown at the status bar on SLA slicing error.
throw std::runtime_error(L("Slicing had to be stopped " throw std::runtime_error(
"due to an internal error.")); L("Slicing had to be stopped due to an internal error: "
"Inconsistent slice index."));
po.m_model_height_levels.clear(); po.m_model_height_levels.clear();
po.m_model_height_levels.reserve(po.m_slice_index.size()); po.m_model_height_levels.reserve(po.m_slice_index.size());

View file

@ -24,7 +24,7 @@ namespace GUI {
const double Camera::DefaultDistance = 1000.0; const double Camera::DefaultDistance = 1000.0;
double Camera::FrustrumMinZSize = 50.0; double Camera::FrustrumMinZSize = 50.0;
double Camera::FrustrumZMargin = 10.0; double Camera::FrustrumZMargin = 10.0;
double Camera::FovMinDeg = 5.0; double Camera::FovMinDeg = 0.5;
double Camera::FovMaxDeg = 75.0; double Camera::FovMaxDeg = 75.0;
Camera::Camera() Camera::Camera()

View file

@ -457,8 +457,10 @@ void GLCanvas3D::LayersEditing::_render_profile(const Rect& bar_rect) const
{ {
//FIXME show some kind of legend. //FIXME show some kind of legend.
if (!m_slicing_parameters)
return;
// Make the vertical bar a bit wider so the layer height curve does not touch the edge of the bar region. // Make the vertical bar a bit wider so the layer height curve does not touch the edge of the bar region.
assert(m_slicing_parameters != nullptr);
float scale_x = bar_rect.get_width() / (float)(1.12 * m_slicing_parameters->max_layer_height); float scale_x = bar_rect.get_width() / (float)(1.12 * m_slicing_parameters->max_layer_height);
float scale_y = bar_rect.get_height() / m_object_max_z; float scale_y = bar_rect.get_height() / m_object_max_z;
float x = bar_rect.get_left() + (float)m_slicing_parameters->layer_height * scale_x; float x = bar_rect.get_left() + (float)m_slicing_parameters->layer_height * scale_x;

View file

@ -460,7 +460,7 @@ void ObjectList::update_extruder_in_config(const wxDataViewItem& item)
if (!m_config || selection.empty()) if (!m_config || selection.empty())
return; return;
const int extruder = selection.size() > 1 ? 0 : atoi(selection.c_str()); const int extruder = /*selection.size() > 1 ? 0 : */atoi(selection.c_str());
m_config->set_key_value("extruder", new ConfigOptionInt(extruder)); m_config->set_key_value("extruder", new ConfigOptionInt(extruder));
// update scene // update scene