BambuStudio/src/libslic3r/ParameterUtils.cpp

48 lines
1.5 KiB
C++
Raw Normal View History

#include "ParameterUtils.hpp"
libslic3r: Fix missing assert() definition FAILED: src/libslic3r/CMakeFiles/libslic3r.dir/ParameterUtils.cpp.o /usr/bin/c++ -DBOOST_ATOMIC_NO_LIB -DBOOST_CHRONO_NO_LIB -DBOOST_DATE_TIME_NO_LIB -DBOOST_FILESYSTEM_NO_LIB -DBOOST_IOSTREAMS_NO_LIB -DBOOST_LOCALE_NO_LIB -DBOOST_LOG_NO_LIB -DBOOST_REGEX_NO_LIB -DBOOST_SYSTEM_NO_LIB -DBOOST_THREAD_NO_LIB -DHAVE_FREETYPE -DHAVE_OPENGL_EXT -DHAVE_XLIB -DLIBNEST2D_GEOMETRIES_libslic3r -DLIBNEST2D_OPTIMIZER_nlopt -DLIBNEST2D_STATIC -DLIBNEST2D_THREADING_tbb -DOCC_CONVERT_SIGNALS -DOPENVDB_OPENEXR_STATICLIB -DOPENVDB_STATICLIB -DSLIC3R_GUI -DTBB_USE_CAPTURED_EXCEPTION=0 -DUNICODE -DUSE_TBB -DWXINTL_NO_GETTEXT_MACRO -D_UNICODE -DwxNO_UNSAFE_WXSTRING_CONV -DwxUSE_UNICODE -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/run/build/BambuStudio/src -I/run/build/BambuStudio/build/src/platform -I/run/build/BambuStudio/src/libslic3r -I/run/build/BambuStudio/build/src/libslic3r -I/run/build/BambuStudio/deps/build/destdir/usr/local/include/opencascade -I/run/build/BambuStudio/src/libnest2d/include -I/run/build/BambuStudio/src/miniz -I/run/build/BambuStudio/src/glu-libtess/include -I/run/build/BambuStudio/src/clipper2/Clipper2Lib/include -isystem /run/build/BambuStudio/src/eigen -isystem /run/build/BambuStudio/src/libigl -isystem /run/build/BambuStudio/deps/build/destdir/usr/local/include -isystem /run/build/BambuStudio/deps/build/destdir/usr/local/include/OpenEXR -std=gnu++20 -fext-numeric-literals -Wall -Wno-reorder -O3 -DNDEBUG -std=gnu++17 -fPIC -fsigned-char -Werror=return-type -Wno-ignored-attributes -Wno-unknown-pragmas -DOPENVDB_ABI_VERSION_NUMBER=8 -MD -MT src/libslic3r/CMakeFiles/libslic3r.dir/ParameterUtils.cpp.o -MF src/libslic3r/CMakeFiles/libslic3r.dir/ParameterUtils.cpp.o.d -o src/libslic3r/CMakeFiles/libslic3r.dir/ParameterUtils.cpp.o -c /run/build/BambuStudio/src/libslic3r/ParameterUtils.cpp /run/build/BambuStudio/src/libslic3r/ParameterUtils.cpp: In function ‘std::vector<std::pair<std::pair<int, int>, std::vector<int> > > Slic3r::get_other_layers_print_sequence(int, const std::vector<int>&)’: /run/build/BambuStudio/src/libslic3r/ParameterUtils.cpp:11:5: error: ‘assert’ was not declared in this scope 11 | assert(sequence.size() % sequence_nums == 0); | ^~~~~~ /run/build/BambuStudio/src/libslic3r/ParameterUtils.cpp:2:1: note: ‘assert’ is defined in header ‘<cassert>’; did you forget to ‘#include <cassert>’? 1 | #include "ParameterUtils.hpp" +++ |+#include <cassert> 2 |
2024-03-26 22:58:51 +00:00
#include <cassert>
namespace Slic3r {
std::vector<LayerPrintSequence> get_other_layers_print_sequence(int sequence_nums, const std::vector<int> &sequence)
{
std::vector<LayerPrintSequence> res;
if (sequence_nums == 0 || sequence.empty())
return res;
assert(sequence.size() % sequence_nums == 0);
res.reserve(sequence_nums);
size_t item_nums = sequence.size() / sequence_nums;
for (int i = 0; i < sequence_nums; ++i) {
std::vector<int> item;
item.assign(sequence.begin() + i * item_nums, sequence.begin() + ((i + 1) * item_nums));
assert(item.size() > 2);
std::pair<std::pair<int, int>, std::vector<int>> res_item;
res_item.first.first = item[0];
res_item.first.second = item[1];
res_item.second.assign(item.begin() + 2, item.end());
res.emplace_back(std::move(res_item));
}
return res;
}
void get_other_layers_print_sequence(const std::vector<LayerPrintSequence> &customize_sequences, int &sequence_nums, std::vector<int> &sequence)
{
sequence_nums = 0;
sequence.clear();
if (customize_sequences.empty()) { return; }
sequence_nums = (int) customize_sequences.size();
for (const auto &customize_sequence : customize_sequences) {
sequence.push_back(customize_sequence.first.first);
sequence.push_back(customize_sequence.first.second);
sequence.insert(sequence.end(), customize_sequence.second.begin(), customize_sequence.second.end());
}
}
}; // namespace Slic3r