![]() |
Prusa Slicer 2.6.0
|
#include <src/libslic3r/GCode/PressureEqualizer.hpp>
Collaboration diagram for Slic3r::PressureEqualizer:Classes | |
| struct | ExtrusionRateSlope |
| struct | GCodeLine |
Public Member Functions | |
| PressureEqualizer ()=delete | |
| PressureEqualizer (const Slic3r::GCodeConfig &config) | |
| ~PressureEqualizer ()=default | |
| LayerResult | process_layer (LayerResult &&input) |
Public Attributes | |
| std::queue< LayerResult * > | m_layer_results |
| std::vector< GCodeLine > | m_gcode_lines |
Private Types | |
| enum | GCodeLineType { GCODELINETYPE_INVALID , GCODELINETYPE_NOOP , GCODELINETYPE_OTHER , GCODELINETYPE_RETRACT , GCODELINETYPE_UNRETRACT , GCODELINETYPE_TOOL_CHANGE , GCODELINETYPE_MOVE , GCODELINETYPE_EXTRUDE } |
Private Member Functions | |
| void | process_layer (const std::string &gcode) |
| bool | process_line (const char *line, const char *line_end, GCodeLine &buf) |
| void | output_gcode_line (size_t line_idx) |
| void | adjust_volumetric_rate () |
| void | push_to_output (GCodeG1Formatter &formatter) |
| void | push_to_output (const std::string &text, bool add_eol) |
| void | push_to_output (const char *text, size_t len, bool add_eol=true) |
| void | push_line_to_output (size_t line_idx, float new_feedrate, const char *comment) |
Private Attributes | |
| ExtrusionRateSlope | m_max_volumetric_extrusion_rate_slopes [size_t(GCodeExtrusionRole::Count)] |
| float | m_max_volumetric_extrusion_rate_slope_positive |
| float | m_max_volumetric_extrusion_rate_slope_negative |
| std::vector< float > | m_filament_crossections |
| float | m_current_pos [5] |
| size_t | m_current_extruder |
| GCodeExtrusionRole | m_current_extrusion_role |
| bool | m_retracted |
| bool | m_use_relative_e_distances |
| bool | opened_extrude_set_speed_block = false |
| std::vector< char > | output_buffer |
| size_t | output_buffer_length |
| size_t | output_buffer_prev_length |
|
private |
| Enumerator | |
|---|---|
| GCODELINETYPE_INVALID | |
| GCODELINETYPE_NOOP | |
| GCODELINETYPE_OTHER | |
| GCODELINETYPE_RETRACT | |
| GCODELINETYPE_UNRETRACT | |
| GCODELINETYPE_TOOL_CHANGE | |
| GCODELINETYPE_MOVE | |
| GCODELINETYPE_EXTRUDE | |
|
delete |
|
explicit |
References Slic3r::GapFill, Slic3r::Ironing, m_current_extruder, m_current_extrusion_role, m_current_pos, m_filament_crossections, m_max_volumetric_extrusion_rate_slope_negative, m_max_volumetric_extrusion_rate_slope_positive, m_max_volumetric_extrusion_rate_slopes, M_PI, m_retracted, Slic3r::PressureEqualizer::ExtrusionRateSlope::negative, Slic3r::None, opened_extrude_set_speed_block, output_buffer, output_buffer_length, output_buffer_prev_length, and Slic3r::PressureEqualizer::ExtrusionRateSlope::positive.
|
default |
|
private |
References Slic3r::PressureEqualizer::GCodeLine::adjustable_flow, Slic3r::BridgeInfill, Slic3r::Count, Slic3r::ExternalPerimeter, Slic3r::PressureEqualizer::GCodeLine::extrusion_role, Slic3r::GapFill, Slic3r::Ironing, m_gcode_lines, m_max_volumetric_extrusion_rate_slopes, Slic3r::max_look_back_limit, Slic3r::PressureEqualizer::GCodeLine::max_volumetric_extrusion_rate_slope_negative, Slic3r::PressureEqualizer::GCodeLine::max_volumetric_extrusion_rate_slope_positive, Slic3r::PressureEqualizer::GCodeLine::modified, Slic3r::PressureEqualizer::ExtrusionRateSlope::negative, Slic3r::PressureEqualizer::ExtrusionRateSlope::positive, Slic3r::PressureEqualizer::GCodeLine::time_corrected(), Slic3r::PressureEqualizer::GCodeLine::volumetric_extrusion_rate_end, and Slic3r::PressureEqualizer::GCodeLine::volumetric_extrusion_rate_start.
Referenced by process_line().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
References ceil(), comment, Slic3r::PressureEqualizer::GCodeLine::dist_xyz(), Slic3r::PressureEqualizer::GCodeLine::feedrate(), m_gcode_lines, Slic3r::max_segment_length, Slic3r::PressureEqualizer::GCodeLine::max_volumetric_extrusion_rate_slope_negative, Slic3r::PressureEqualizer::GCodeLine::max_volumetric_extrusion_rate_slope_positive, Slic3r::PressureEqualizer::GCodeLine::modified, Slic3r::PressureEqualizer::GCodeLine::pos_end, Slic3r::PressureEqualizer::GCodeLine::pos_provided, Slic3r::PressureEqualizer::GCodeLine::pos_start, push_line_to_output(), push_to_output(), Slic3r::PressureEqualizer::GCodeLine::raw, Slic3r::PressureEqualizer::GCodeLine::raw_length, Slic3r::PressureEqualizer::GCodeLine::volumetric_correction_avg(), Slic3r::PressureEqualizer::GCodeLine::volumetric_extrusion_rate, Slic3r::PressureEqualizer::GCodeLine::volumetric_extrusion_rate_end, and Slic3r::PressureEqualizer::GCodeLine::volumetric_extrusion_rate_start.
Referenced by process_layer().
Here is the call graph for this function:
Here is the caller graph for this function:References m_gcode_lines, opened_extrude_set_speed_block, and process_line().
Here is the call graph for this function:| LayerResult Slic3r::PressureEqualizer::process_layer | ( | LayerResult && | input | ) |
References Slic3r::LayerResult::gcode, input(), m_gcode_lines, m_layer_results, Slic3r::LayerResult::make_nop_layer_result(), output_buffer, output_buffer_length, output_buffer_prev_length, output_gcode_line(), and process_layer().
Referenced by process_layer().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
References adjust_volumetric_rate(), Slic3r::PressureEqualizer::GCodeLine::adjustable_flow, Slic3r::diff(), Slic3r::eatws(), Slic3r::EXTRUDE_END_TAG, Slic3r::PressureEqualizer::GCodeLine::extrude_end_tag, Slic3r::EXTRUDE_SET_SPEED_TAG, Slic3r::PressureEqualizer::GCodeLine::extrude_set_speed_tag, Slic3r::PressureEqualizer::GCodeLine::extruder_id, Slic3r::PressureEqualizer::GCodeLine::extrusion_role, Slic3r::EXTRUSION_ROLE_TAG, GCODELINETYPE_EXTRUDE, GCODELINETYPE_MOVE, GCODELINETYPE_NOOP, GCODELINETYPE_OTHER, GCODELINETYPE_RETRACT, GCODELINETYPE_TOOL_CHANGE, GCODELINETYPE_UNRETRACT, Slic3r::is_eol(), Slic3r::is_ws_or_eol(), m_current_extruder, m_current_extrusion_role, m_current_pos, m_filament_crossections, m_retracted, m_use_relative_e_distances, Slic3r::PressureEqualizer::GCodeLine::max_volumetric_extrusion_rate_slope_negative, Slic3r::PressureEqualizer::GCodeLine::max_volumetric_extrusion_rate_slope_positive, Slic3r::PressureEqualizer::GCodeLine::modified, opened_extrude_set_speed_block, Slic3r::parse_float(), Slic3r::parse_int(), Slic3r::PressureEqualizer::GCodeLine::pos_end, Slic3r::PressureEqualizer::GCodeLine::pos_provided, Slic3r::PressureEqualizer::GCodeLine::pos_start, Slic3r::PressureEqualizer::GCodeLine::raw, Slic3r::PressureEqualizer::GCodeLine::raw_length, sqrt(), Slic3r::PressureEqualizer::GCodeLine::type, Slic3r::PressureEqualizer::GCodeLine::volumetric_extrusion_rate, Slic3r::PressureEqualizer::GCodeLine::volumetric_extrusion_rate_end, and Slic3r::PressureEqualizer::GCodeLine::volumetric_extrusion_rate_start.
Referenced by process_layer().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
References comment, Slic3r::GCodeFormatter::E_EXPORT_DIGITS, Slic3r::GCodeFormatter::emit_axis(), Slic3r::GCodeFormatter::emit_f(), Slic3r::GCodeFormatter::emit_string(), Slic3r::EXTERNAL_PERIMETER_TAG, Slic3r::ExternalPerimeter, Slic3r::EXTRUDE_END_TAG, Slic3r::EXTRUDE_SET_SPEED_TAG, Slic3r::PressureEqualizer::GCodeLine::extrusion_role, Slic3r::is_just_line_with_extrude_set_speed_tag(), m_gcode_lines, m_use_relative_e_distances, output_buffer, output_buffer_length, output_buffer_prev_length, Slic3r::PressureEqualizer::GCodeLine::pos_end, Slic3r::PressureEqualizer::GCodeLine::pos_provided, Slic3r::PressureEqualizer::GCodeLine::pos_start, push_to_output(), and Slic3r::GCodeFormatter::XYZF_EXPORT_DIGITS.
Referenced by output_gcode_line().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprivate |
References output_buffer, output_buffer_length, and output_buffer_prev_length.
|
inlineprivate |
|
inlineprivate |
References push_to_output(), and Slic3r::GCodeFormatter::string().
Referenced by output_gcode_line(), push_line_to_output(), push_to_output(), and push_to_output().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Referenced by PressureEqualizer(), and process_line().
|
private |
Referenced by PressureEqualizer(), and process_line().
|
private |
Referenced by PressureEqualizer(), and process_line().
|
private |
Referenced by PressureEqualizer(), and process_line().
| std::vector<GCodeLine> Slic3r::PressureEqualizer::m_gcode_lines |
Referenced by adjust_volumetric_rate(), output_gcode_line(), process_layer(), process_layer(), and push_line_to_output().
| std::queue<LayerResult*> Slic3r::PressureEqualizer::m_layer_results |
Referenced by process_layer().
|
private |
Referenced by PressureEqualizer().
|
private |
Referenced by PressureEqualizer().
|
private |
Referenced by PressureEqualizer(), and adjust_volumetric_rate().
|
private |
Referenced by PressureEqualizer(), and process_line().
|
private |
Referenced by process_line(), and push_line_to_output().
|
private |
Referenced by PressureEqualizer(), process_layer(), and process_line().
|
private |
Referenced by PressureEqualizer(), process_layer(), push_line_to_output(), and push_to_output().
|
private |
Referenced by PressureEqualizer(), process_layer(), push_line_to_output(), and push_to_output().
|
private |
Referenced by PressureEqualizer(), process_layer(), push_line_to_output(), and push_to_output().