Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/supermerill/SuperSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEnrico Turri <enricoturri@seznam.cz>2018-01-08 15:23:54 +0300
committerEnrico Turri <enricoturri@seznam.cz>2018-01-08 15:23:54 +0300
commite94491ee8c3a652ed16158d87f55543d30ac1f6f (patch)
tree7111a99f6347a3ac42765bae17860de08ab7cc66 /xs/src/libslic3r
parentaeca5def00f14e5ae2dc12264e57ab04965d83d9 (diff)
GCodeTimeEstimator - Fixed _simulate_st_synchronize()time_estimate
Diffstat (limited to 'xs/src/libslic3r')
-rw-r--r--xs/src/libslic3r/GCodeTimeEstimator.cpp16
-rw-r--r--xs/src/libslic3r/GCodeTimeEstimator.hpp1
2 files changed, 14 insertions, 3 deletions
diff --git a/xs/src/libslic3r/GCodeTimeEstimator.cpp b/xs/src/libslic3r/GCodeTimeEstimator.cpp
index b65ff555b..22821a708 100644
--- a/xs/src/libslic3r/GCodeTimeEstimator.cpp
+++ b/xs/src/libslic3r/GCodeTimeEstimator.cpp
@@ -153,6 +153,9 @@ namespace Slic3r {
[this](GCodeReader &reader, const GCodeReader::GCodeLine &line)
{ this->_process_gcode_line(reader, line); });
+ _calculate_time();
+
+ _reset_blocks();
_reset();
}
@@ -163,6 +166,7 @@ namespace Slic3r {
_parser.parse_file(file, boost::bind(&GCodeTimeEstimator::_process_gcode_line, this, _1, _2));
_calculate_time();
+ _reset_blocks();
_reset();
}
@@ -176,6 +180,7 @@ namespace Slic3r {
_parser.parse_line(line, action);
_calculate_time();
+ _reset_blocks();
_reset();
}
@@ -203,6 +208,7 @@ namespace Slic3r {
{
PROFILE_FUNC();
_calculate_time();
+ _reset_blocks();
_reset();
}
@@ -387,6 +393,7 @@ namespace Slic3r {
void GCodeTimeEstimator::reset()
{
_time = 0.0f;
+ _reset_blocks();
_reset();
}
@@ -416,8 +423,6 @@ namespace Slic3r {
void GCodeTimeEstimator::_reset()
{
- _blocks.clear();
-
_curr.reset();
_prev.reset();
@@ -428,6 +433,11 @@ namespace Slic3r {
set_additional_time(0.0f);
}
+ void GCodeTimeEstimator::_reset_blocks()
+ {
+ _blocks.clear();
+ }
+
void GCodeTimeEstimator::_calculate_time()
{
_forward_pass();
@@ -954,7 +964,7 @@ namespace Slic3r {
void GCodeTimeEstimator::_simulate_st_synchronize()
{
_calculate_time();
- _reset();
+ _reset_blocks();
}
void GCodeTimeEstimator::_forward_pass()
diff --git a/xs/src/libslic3r/GCodeTimeEstimator.hpp b/xs/src/libslic3r/GCodeTimeEstimator.hpp
index 63dd0a6c6..fb41a2753 100644
--- a/xs/src/libslic3r/GCodeTimeEstimator.hpp
+++ b/xs/src/libslic3r/GCodeTimeEstimator.hpp
@@ -246,6 +246,7 @@ namespace Slic3r {
private:
void _reset();
+ void _reset_blocks();
// Calculates the time estimate
void _calculate_time();