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>2017-12-19 11:29:04 +0300
committerEnrico Turri <enricoturri@seznam.cz>2017-12-19 11:29:04 +0300
commitb2eb522f55d544dbde261b63c3a3c61349f20033 (patch)
treea0da491aa4523166d127de75a265560d700bea56 /xs/src/libslic3r
parent0fe855cd6d12f067a6f14469c886a5091b421752 (diff)
GCodeTimeEstimator - clean up unused code
Diffstat (limited to 'xs/src/libslic3r')
-rw-r--r--xs/src/libslic3r/GCodeTimeEstimator.cpp76
-rw-r--r--xs/src/libslic3r/GCodeTimeEstimator.hpp23
2 files changed, 22 insertions, 77 deletions
diff --git a/xs/src/libslic3r/GCodeTimeEstimator.cpp b/xs/src/libslic3r/GCodeTimeEstimator.cpp
index 6d4652457..56cff252c 100644
--- a/xs/src/libslic3r/GCodeTimeEstimator.cpp
+++ b/xs/src/libslic3r/GCodeTimeEstimator.cpp
@@ -15,10 +15,6 @@ static const float DEFAULT_AXIS_MAX_JERK[] = { 10.0f, 10.0f, 0.2f, 2.5f }; // fr
static const float DEFAULT_MINIMUM_FEEDRATE = 0.0f; // from Prusa Firmware (Configuration_adv.h)
static const float DEFAULT_MINIMUM_TRAVEL_FEEDRATE = 0.0f; // from Prusa Firmware (Configuration_adv.h)
-#if USE_CURA_JUNCTION_VMAX
-static const float MINIMUM_PLANNER_SPEED = 0.05f; // from Cura <<<<<<<< WHAT IS THIS ???
-#endif // USE_CURA_JUNCTION_VMAX
-
static const float PREVIOUS_FEEDRATE_THRESHOLD = 0.0001f;
namespace Slic3r {
@@ -389,11 +385,9 @@ namespace Slic3r {
void GCodeTimeEstimator::_calculate_time()
{
-#if ENABLE_BLOCKS_PRE_PROCESSING
- forward_pass();
- reverse_pass();
- recalculate_trapezoids();
-#endif // ENABLE_BLOCKS_PRE_PROCESSING
+ _forward_pass();
+ _reverse_pass();
+ _recalculate_trapezoids();
_time = get_additional_time();
@@ -601,32 +595,6 @@ namespace Slic3r {
block.feedrate.exit = _curr.safe_feedrate;
// calculates block entry feedrate
-#if USE_CURA_JUNCTION_VMAX
- float vmax_junction = _curr.safe_feedrate;
- if (!_blocks.empty() && (_prev.feedrate > PREVIOUS_FEEDRATE_THRESHOLD))
- {
- vmax_junction = block.feedrate.cruise;
- float vmax_junction_factor = 1.0f;
-
- for (unsigned char a = X; a < Num_Axis; ++a)
- {
- float abs_delta_axis_feedrate = ::abs(_curr.axis_feedrate[a] - _prev.axis_feedrate[a]);
- float axis_max_jerk = get_axis_max_jerk((EAxis)a);
- if (abs_delta_axis_feedrate > axis_max_jerk)
- vmax_junction_factor = std::min(vmax_junction_factor, axis_max_jerk / abs_delta_axis_feedrate);
- }
-
- // limit vmax to not exceed previous feedrate
- vmax_junction = std::min(_prev.feedrate, vmax_junction * vmax_junction_factor);
- }
-
-#if ENABLE_BLOCKS_PRE_PROCESSING
- float v_allowable = Block::max_allowable_speed(-acceleration, MINIMUM_PLANNER_SPEED, distance);
- block.feedrate.entry = std::min(vmax_junction, v_allowable);
-#else
- block.feedrate.entry = std::min(vmax_junction, Block::max_allowable_speed(-acceleration, MINIMUM_PLANNER_SPEED, distance));
-#endif // ENABLE_BLOCKS_PRE_PROCESSING
-#else
float vmax_junction = _curr.safe_feedrate;
if (!_blocks.empty() && (_prev.feedrate > PREVIOUS_FEEDRATE_THRESHOLD))
{
@@ -688,20 +656,13 @@ namespace Slic3r {
vmax_junction = _curr.safe_feedrate;
}
-#if ENABLE_BLOCKS_PRE_PROCESSING
float v_allowable = Block::max_allowable_speed(-acceleration, _curr.safe_feedrate, distance);
block.feedrate.entry = std::min(vmax_junction, v_allowable);
-#else
- block.feedrate.entry = std::min(vmax_junction, Block::max_allowable_speed(-acceleration, _curr.safe_feedrate, distance));
-#endif // ENABLE_BLOCKS_PRE_PROCESSING
-#endif // USE_CURA_JUNCTION_VMAX
-#if ENABLE_BLOCKS_PRE_PROCESSING
block.max_entry_speed = vmax_junction;
block.flags.nominal_length = (block.feedrate.cruise <= v_allowable);
block.flags.recalculate = true;
block.safe_feedrate = _curr.safe_feedrate;
-#endif // ENABLE_BLOCKS_PRE_PROCESSING
// calculates block trapezoid
block.calculate_trapezoid();
@@ -749,7 +710,7 @@ namespace Slic3r {
void GCodeTimeEstimator::_processG28(const GCodeReader::GCodeLine& line)
{
- // todo
+ // TODO
}
void GCodeTimeEstimator::_processG90(const GCodeReader::GCodeLine& line)
@@ -759,7 +720,7 @@ namespace Slic3r {
void GCodeTimeEstimator::_processG91(const GCodeReader::GCodeLine& line)
{
- // >>>>>>>> THERE ARE DIALECT VARIANTS
+ // TODO: THERE ARE DIALECT VARIANTS
set_positioning_xyz_type(Relative);
}
@@ -814,7 +775,7 @@ namespace Slic3r {
void GCodeTimeEstimator::_processM109(const GCodeReader::GCodeLine& line)
{
- // todo
+ // TODO
}
void GCodeTimeEstimator::_processM201(const GCodeReader::GCodeLine& line)
@@ -910,8 +871,7 @@ namespace Slic3r {
set_axis_max_jerk(E, line.get_float('E') * MMMIN_TO_MMSEC);
}
-#if ENABLE_BLOCKS_PRE_PROCESSING
- void GCodeTimeEstimator::forward_pass()
+ void GCodeTimeEstimator::_forward_pass()
{
Block* block[2] = { nullptr, nullptr };
@@ -919,13 +879,13 @@ namespace Slic3r {
{
block[0] = block[1];
block[1] = &b;
- planner_forward_pass_kernel(block[0], block[1]);
+ _planner_forward_pass_kernel(block[0], block[1]);
}
- planner_forward_pass_kernel(block[1], nullptr);
+ _planner_forward_pass_kernel(block[1], nullptr);
}
- void GCodeTimeEstimator::reverse_pass()
+ void GCodeTimeEstimator::_reverse_pass()
{
Block* block[2] = { nullptr, nullptr };
@@ -933,11 +893,11 @@ namespace Slic3r {
{
block[1] = block[0];
block[0] = &_blocks[i];
- planner_reverse_pass_kernel(block[0], block[1]);
+ _planner_reverse_pass_kernel(block[0], block[1]);
}
}
- void GCodeTimeEstimator::planner_forward_pass_kernel(Block* prev, Block* curr)
+ void GCodeTimeEstimator::_planner_forward_pass_kernel(Block* prev, Block* curr)
{
if (prev == nullptr)
return;
@@ -962,7 +922,7 @@ namespace Slic3r {
}
}
- void GCodeTimeEstimator::planner_reverse_pass_kernel(Block* curr, Block* next)
+ void GCodeTimeEstimator::_planner_reverse_pass_kernel(Block* curr, Block* next)
{
if ((curr == nullptr) || (next == nullptr))
return;
@@ -983,7 +943,7 @@ namespace Slic3r {
}
}
- void GCodeTimeEstimator::recalculate_trapezoids()
+ void GCodeTimeEstimator::_recalculate_trapezoids()
{
Block* curr = nullptr;
Block* next = nullptr;
@@ -1008,20 +968,14 @@ namespace Slic3r {
}
}
- // Last/newest block in buffer. Exit speed is set with MINIMUM_PLANNER_SPEED. Always recalculated.
+ // Last/newest block in buffer. Always recalculated.
if (next != nullptr)
{
Block block = *next;
-#if USE_CURA_JUNCTION_VMAX
- block.feedrate.exit = MINIMUM_PLANNER_SPEED;
-#else
block.feedrate.exit = next->safe_feedrate;
-#endif // USE_CURA_JUNCTION_VMAX
block.calculate_trapezoid();
next->trapezoid = block.trapezoid;
next->flags.recalculate = false;
}
}
-#endif // ENABLE_BLOCKS_PRE_PROCESSING
-
}
diff --git a/xs/src/libslic3r/GCodeTimeEstimator.hpp b/xs/src/libslic3r/GCodeTimeEstimator.hpp
index e5bf1e902..894d00ef3 100644
--- a/xs/src/libslic3r/GCodeTimeEstimator.hpp
+++ b/xs/src/libslic3r/GCodeTimeEstimator.hpp
@@ -4,9 +4,6 @@
#include "libslic3r.h"
#include "GCodeReader.hpp"
-#define USE_CURA_JUNCTION_VMAX 0
-#define ENABLE_BLOCKS_PRE_PROCESSING 1
-
namespace Slic3r {
class GCodeTimeEstimator
@@ -38,7 +35,7 @@ namespace Slic3r {
Num_Dialects
};
- enum EPositioningType
+ enum EPositioningType : unsigned char
{
Absolute,
Relative
@@ -107,7 +104,6 @@ namespace Slic3r {
static float speed_from_distance(float initial_feedrate, float distance, float acceleration);
};
-#if ENABLE_BLOCKS_PRE_PROCESSING
struct Flags
{
bool recalculate;
@@ -115,14 +111,11 @@ namespace Slic3r {
};
Flags flags;
-#endif // ENABLE_BLOCKS_PRE_PROCESSING
float delta_pos[Num_Axis]; // mm
float acceleration; // mm/s^2
-#if ENABLE_BLOCKS_PRE_PROCESSING
float max_entry_speed; // mm/s
float safe_feedrate; // mm/s
-#endif // ENABLE_BLOCKS_PRE_PROCESSING
FeedrateProfile feedrate;
Trapezoid trapezoid;
@@ -246,7 +239,7 @@ namespace Slic3r {
// Returns the estimated time, in seconds
float get_time() const;
- // Returns the estimated time, in format HH:MM:SS
+ // Returns the estimated time, in format HHh MMm SSs
std::string get_time_hms() const;
private:
@@ -306,15 +299,13 @@ namespace Slic3r {
// Set allowable instantaneous speed change
void _processM566(const GCodeReader::GCodeLine& line);
-#if ENABLE_BLOCKS_PRE_PROCESSING
- void forward_pass();
- void reverse_pass();
+ void _forward_pass();
+ void _reverse_pass();
- void planner_forward_pass_kernel(Block* prev, Block* curr);
- void planner_reverse_pass_kernel(Block* curr, Block* next);
+ void _planner_forward_pass_kernel(Block* prev, Block* curr);
+ void _planner_reverse_pass_kernel(Block* curr, Block* next);
- void recalculate_trapezoids();
-#endif // ENABLE_BLOCKS_PRE_PROCESSING
+ void _recalculate_trapezoids();
};
} /* namespace Slic3r */