#4881 - #5073 - #6336 - GCodeProcessor::AxisCoords using doubles in place of floats

This commit is contained in:
enricoturri1966 2022-02-02 11:22:45 +01:00
parent 5c616c5931
commit 1fb41a8e22
2 changed files with 5 additions and 5 deletions

View File

@ -1924,7 +1924,7 @@ void GCodeProcessor::process_tags(const std::string_view comment, bool producers
if (!m_result.spiral_vase_layers.empty() && m_end_position[Z] == m_result.spiral_vase_layers.back().first) if (!m_result.spiral_vase_layers.empty() && m_end_position[Z] == m_result.spiral_vase_layers.back().first)
m_result.spiral_vase_layers.back().second.second = move_id; m_result.spiral_vase_layers.back().second.second = move_id;
else else
m_result.spiral_vase_layers.push_back({ m_end_position[Z], { move_id, move_id } }); m_result.spiral_vase_layers.push_back({ static_cast<float>(m_end_position[Z]), { move_id, move_id } });
} }
#endif // ENABLE_SPIRAL_VASE_LAYERS #endif // ENABLE_SPIRAL_VASE_LAYERS
return; return;
@ -2474,7 +2474,7 @@ void GCodeProcessor::process_G1(const GCodeReader::GCodeLine& line)
AxisCoords delta_pos; AxisCoords delta_pos;
for (unsigned char a = X; a <= E; ++a) { for (unsigned char a = X; a <= E; ++a) {
delta_pos[a] = m_end_position[a] - m_start_position[a]; delta_pos[a] = m_end_position[a] - m_start_position[a];
max_abs_delta = std::max(max_abs_delta, std::abs(delta_pos[a])); max_abs_delta = std::max<float>(max_abs_delta, std::abs(delta_pos[a]));
} }
// no displacement, return // no displacement, return
@ -2584,7 +2584,7 @@ void GCodeProcessor::process_G1(const GCodeReader::GCodeLine& line)
if (curr.abs_axis_feedrate[a] != 0.0f) { if (curr.abs_axis_feedrate[a] != 0.0f) {
float axis_max_feedrate = get_axis_max_feedrate(static_cast<PrintEstimatedStatistics::ETimeMode>(i), static_cast<Axis>(a)); float axis_max_feedrate = get_axis_max_feedrate(static_cast<PrintEstimatedStatistics::ETimeMode>(i), static_cast<Axis>(a));
if (axis_max_feedrate != 0.0f) if (axis_max_feedrate != 0.0f)
min_feedrate_factor = std::min(min_feedrate_factor, axis_max_feedrate / curr.abs_axis_feedrate[a]); min_feedrate_factor = std::min<float>(min_feedrate_factor, axis_max_feedrate / curr.abs_axis_feedrate[a]);
} }
} }
@ -3211,7 +3211,7 @@ void GCodeProcessor::store_move_vertex(EMoveType type)
#else #else
Vec3f(m_end_position[X], m_end_position[Y], m_processing_start_custom_gcode ? m_first_layer_height : m_end_position[Z]) + m_extruder_offsets[m_extruder_id], Vec3f(m_end_position[X], m_end_position[Y], m_processing_start_custom_gcode ? m_first_layer_height : m_end_position[Z]) + m_extruder_offsets[m_extruder_id],
#endif // ENABLE_Z_OFFSET_CORRECTION #endif // ENABLE_Z_OFFSET_CORRECTION
m_end_position[E] - m_start_position[E], static_cast<float>(m_end_position[E] - m_start_position[E]),
m_feedrate, m_feedrate,
m_width, m_width,
m_height, m_height,

View File

@ -172,7 +172,7 @@ namespace Slic3r {
#endif // ENABLE_GCODE_VIEWER_DATA_CHECKING #endif // ENABLE_GCODE_VIEWER_DATA_CHECKING
private: private:
using AxisCoords = std::array<float, 4>; using AxisCoords = std::array<double, 4>;
using ExtruderColors = std::vector<unsigned char>; using ExtruderColors = std::vector<unsigned char>;
using ExtruderTemps = std::vector<float>; using ExtruderTemps = std::vector<float>;