Fix build

This commit is contained in:
Vojtech Kral 2018-11-19 11:07:39 +01:00
parent 6629d75853
commit b950e9e575
4 changed files with 24 additions and 10 deletions

View File

@ -68,6 +68,8 @@ namespace PerlUtils {
extern std::string path_to_parent_path(const char *src); extern std::string path_to_parent_path(const char *src);
}; };
std::string string_printf(const char *format, ...);
// Timestamp formatted for header_slic3r_generated(). // Timestamp formatted for header_slic3r_generated().
extern std::string timestamp_str(); extern std::string timestamp_str();
// Standard "generated by Slic3r version xxx timestamp xxx" header string, // Standard "generated by Slic3r version xxx timestamp xxx" header string,

View File

@ -3,6 +3,8 @@
#include <locale> #include <locale>
#include <ctime> #include <ctime>
#include <cstdarg>
#include <stdio.h>
#ifdef WIN32 #ifdef WIN32
#include <windows.h> #include <windows.h>
@ -297,6 +299,25 @@ namespace PerlUtils {
std::string path_to_parent_path(const char *src) { return boost::filesystem::path(src).parent_path().string(); } std::string path_to_parent_path(const char *src) { return boost::filesystem::path(src).parent_path().string(); }
}; };
std::string string_printf(const char *format, ...)
{
va_list args1;
va_start(args1, format);
va_list args2;
va_copy(args2, args1);
size_t needed_size = ::vsnprintf(nullptr, 0, format, args1) + 1;
va_end(args1);
std::string res(needed_size, '\0');
::vsnprintf(&res.front(), res.size(), format, args2);
va_end(args2);
return res;
}
std::string timestamp_str() std::string timestamp_str()
{ {
const auto now = boost::posix_time::second_clock::local_time(); const auto now = boost::posix_time::second_clock::local_time();

View File

@ -275,10 +275,7 @@ void GLGizmoBase::set_tooltip(const std::string& tooltip) const
std::string GLGizmoBase::format(float value, unsigned int decimals) const std::string GLGizmoBase::format(float value, unsigned int decimals) const
{ {
size_t needed_size = std::snprintf(nullptr, 0, "%.*f", decimals, value); return Slic3r::string_printf("%.*f", decimals, value);
std::string res(needed_size, '\0');
std::snprintf(&res.front(), res.size(), "%.*f", decimals, value);
return res;
} }
const float GLGizmoRotate::Offset = 5.0f; const float GLGizmoRotate::Offset = 5.0f;

View File

@ -231,12 +231,6 @@ ModelMaterial::attributes()
void rotate(float angle, Vec3d* axis) void rotate(float angle, Vec3d* axis)
%code{% THIS->rotate(angle, *axis); %}; %code{% THIS->rotate(angle, *axis); %};
void mirror(Axis axis); void mirror(Axis axis);
Model* cut(double z)
%code%{
RETVAL = new Model();
THIS->cut(z, RETVAL);
%};
ModelObjectPtrs* split_object() ModelObjectPtrs* split_object()
%code%{ %code%{