#include </home/runner/work/OrcaSlicer/OrcaSlicer/src/slic3r/GUI/Jobs/ArrangeJob.hpp>
Public Types | |
| enum | JobPrepareState { PREPARE_STATE_DEFAULT = 0 , PREPARE_STATE_MENU = 1 } |
Public Member Functions | |
| void | prepare () |
| void | process (Ctl &ctl) override |
| ArrangeJob () | |
| int | status_range () const |
| void | finalize (bool canceled, std::exception_ptr &e) override |
Protected Member Functions | |
| void | check_unprintable () |
Private Types | |
| using | ArrangePolygon = arrangement::ArrangePolygon |
| using | ArrangePolygons = arrangement::ArrangePolygons |
Private Member Functions | |
| void | clear_input () |
| void | prepare_selected () |
| void | prepare_all () |
| void | prepare_partplate () |
| void | prepare_wipe_tower () |
| void | prepare_belt_regions (int num_plates) |
| void | prepare_imex_zones () |
| ArrangePolygon | prepare_arrange_polygon (void *instance, const PartPlate *mapping_plate=nullptr) |
Private Attributes | |
| ArrangePolygons | m_selected |
| ArrangePolygons | m_unselected |
| ArrangePolygons | m_unprintable |
| ArrangePolygons | m_locked |
| std::vector< ModelInstance * > | m_unarranged |
| std::map< int, ArrangePolygons > | m_selected_groups |
| std::vector< int > | m_uncompatible_plates |
| ImexArrangeInput | m_imex |
| arrangement::ArrangeParams | params |
| int | current_plate_index = 0 |
| Polygon | bed_poly |
| Plater * | m_plater |
| bool | only_on_partplate {false} |
|
private |
|
private |
|
inherited |
| Enumerator | |
|---|---|
| PREPARE_STATE_DEFAULT | |
| PREPARE_STATE_MENU | |
| Slic3r::GUI::ArrangeJob::ArrangeJob | ( | ) |
References m_plater, and Slic3r::GUI::plater().
|
protected |
References _u8L, Slic3r::GUI::BBLPlateInfo, Slic3r::data_dir(), Slic3r::SVG::draw_outline(), Slic3r::get_extents(), Slic3r::SVG::is_opened(), m_plater, m_selected, m_unprintable, params, and Slic3r::GUI::NotificationManager::WarningNotificationLevel.
Referenced by prepare().
|
private |
References count, current_plate_index, m_locked, m_plater, m_selected, m_unarranged, m_uncompatible_plates, m_unprintable, m_unselected, Slic3r::Model::objects, and params.
Referenced by prepare_all(), prepare_partplate(), and prepare_selected().
|
overridevirtual |
Reimplemented from Slic3r::GUI::Job.
References _, _L, Slic3r::arrangement::ArrangePolygon::apply(), Slic3r::GUI::ArrangeOngoing, Slic3r::arrangement::ArrangePolygon::bed_idx, Slic3r::GUI::PartPlateList::clear(), Slic3r::LifecycleEventContext::code, Slic3r::GUI::concat_strings(), current_plate_index, Slic3r::fire_lifecycle_event(), Slic3r::GUI::format(), Slic3r::GUI::PartPlateList::get_plate(), Slic3r::arrangement::ArrangePolygon::is_virt_object, L, Slic3r::GUI::PartPlate::lock(), m_locked, m_plater, m_selected, m_unarranged, m_uncompatible_plates, m_unprintable, m_unselected, Slic3r::LifecycleEventContext::msg, Slic3r::arrangement::ArrangePolygon::name, Slic3r::ObjectTransformed, Slic3r::Ok, only_on_partplate, Slic3r::GUI::PartPlateList::postprocess_arrange_polygon(), Slic3r::GUI::PartPlateList::postprocess_bed_index_for_current_plate(), Slic3r::GUI::PartPlateList::postprocess_bed_index_for_selected(), Slic3r::GUI::PartPlateList::postprocess_bed_index_for_unselected(), Slic3r::GUI::PartPlateList::rebuild_plates_after_arrangement(), Slic3r::GUI::show_error(), Slic3r::arrangement::ArrangePolygon::translation, Slic3r::unscale(), Slic3r::X, and Slic3r::Y.
| void Slic3r::GUI::ArrangeJob::prepare | ( | ) |
References _u8L, Slic3r::SVG::add_comment(), Slic3r::GUI::ArrangeOngoing, bed_poly, Slic3r::BoundingBoxBase< PointType, APointsType >::center(), Slic3r::center(), check_unprintable(), Slic3r::diff(), Slic3r::SVG::draw_outline(), Slic3r::SVG::draw_text(), Slic3r::get_bed_excluded_area(), Slic3r::get_bed_shape(), Slic3r::get_extents(), Slic3r::GUI::init_arrange_params(), Slic3r::SVG::is_opened(), m_plater, m_selected, Slic3r::BoundingBoxBase< PointType, APointsType >::merge(), Slic3r::BoundingBoxBase< PointType, APointsType >::min, only_on_partplate, params, prepare_all(), prepare_imex_zones(), prepare_partplate(), Slic3r::GUI::Job::PREPARE_STATE_DEFAULT, Slic3r::GUI::Job::PREPARE_STATE_MENU, Slic3r::GUI::NotificationManager::RegularNotificationLevel, Slic3r::Model::setExtruderParams(), Slic3r::Model::setPrintSpeedTable(), and Slic3r::DynamicConfig::size().
Referenced by process().
|
private |
References _L, Slic3r::GUI::BBLPlateInfo, clear_input(), Slic3r::GUI::PartPlateList::get_plate(), Slic3r::GUI::PartPlateList::get_plate_count(), Slic3r::GUI::PartPlate::get_real_print_seq(), Slic3r::ModelObject::instances, Slic3r::GUI::into_u8(), Slic3r::GUI::is_belt_purge_prism(), Slic3r::GUI::PartPlate::is_locked(), Slic3r::arrangement::ArrangePolygon::itemid, Slic3r::GUI::PartPlate::lock(), m_locked, m_plater, m_selected, m_uncompatible_plates, m_unprintable, m_unselected, Slic3r::Model::objects, Slic3r::ConfigBase::option(), prepare_arrange_polygon(), prepare_belt_regions(), prepare_wipe_tower(), Slic3r::GUI::PartPlateList::preprocess_arrange_polygon(), Slic3r::GUI::PartPlateList::preprocess_exclude_areas(), Slic3r::GUI::set_arrange_polygon_bed_exclusion_extruders_for_all_plates(), and Slic3r::GUI::NotificationManager::WarningNotificationLevel.
Referenced by prepare().
|
private |
References Slic3r::get_instance_arrange_poly(), Slic3r::ModelInstance::get_object(), and Slic3r::GUI::set_arrange_polygon_bed_exclusion_extruders().
Referenced by prepare_all(), prepare_partplate(), and prepare_selected().
|
private |
References Slic3r::arrangement::ArrangePolygon::bed_idx, Slic3r::btNoBrim, Slic3r::ExPolygon::contour, Slic3r::get_extents(), Slic3r::arrangement::ArrangePolygon::height, Slic3r::arrangement::ArrangePolygon::is_virt_object, m_selected, m_unselected, Slic3r::BoundingBoxBase< PointType, APointsType >::max, Slic3r::BoundingBoxBase< PointType, APointsType >::min, Slic3r::arrangement::ArrangePolygon::name, Slic3r::DynamicConfig::opt(), Slic3r::DynamicConfig::opt_bool(), Slic3r::DynamicConfig::opt_enum(), Slic3r::DynamicConfig::opt_float(), params, Slic3r::arrangement::ArrangePolygon::poly, Slic3r::BoundingBox::polygon(), Slic3r::arrangement::ArrangePolygon::rotation, Slic3r::scaled(), Slic3r::arrangement::ArrangePolygon::translation, and Slic3r::ConfigOptionVector< T >::values.
Referenced by prepare_all(), prepare_partplate(), and prepare_selected().
|
private |
References Slic3r::ImexArrangeZones::collision_zones, Slic3r::GUI::PartPlateList::get_curr_plate(), Slic3r::GUI::PartPlateList::get_plate(), Slic3r::GUI::PartPlateList::get_plate_count(), Slic3r::GUI::PartPlate::is_locked(), m_imex, m_plater, and only_on_partplate.
Referenced by prepare().
|
private |
References _L, Slic3r::GUI::BBLPlateInfo, clear_input(), Slic3r::GUI::PartPlate::contain_instance(), current_plate_index, Slic3r::GUI::PartPlate::empty(), Slic3r::GUI::PartPlateList::get_curr_plate(), Slic3r::GUI::PartPlateList::get_curr_plate_index(), Slic3r::GUI::get_wipe_tower(), Slic3r::GUI::get_wipetower_arrange_poly(), Slic3r::ModelObject::instances, Slic3r::GUI::PartPlate::intersect_instance(), Slic3r::GUI::into_u8(), Slic3r::GUI::is_belt_purge_prism(), Slic3r::GUI::PartPlate::is_locked(), Slic3r::arrangement::ArrangePolygon::itemid, m_locked, m_plater, m_selected, m_unprintable, m_unselected, Slic3r::Model::objects, Slic3r::ConfigBase::option(), prepare_arrange_polygon(), prepare_belt_regions(), Slic3r::GUI::PartPlateList::preprocess_arrange_polygon_other_locked(), Slic3r::GUI::PartPlateList::preprocess_exclude_areas(), and Slic3r::GUI::NotificationManager::WarningNotificationLevel.
Referenced by prepare().
|
private |
References _L, Slic3r::GUI::BBLPlateInfo, clear_input(), Slic3r::ModelObject::instances, Slic3r::GUI::into_u8(), Slic3r::GUI::is_belt_purge_prism(), Slic3r::arrangement::ArrangePolygon::itemid, m_locked, m_plater, m_selected, m_unprintable, m_unselected, Slic3r::ModelObject::name, Slic3r::Model::objects, prepare_arrange_polygon(), prepare_belt_regions(), prepare_wipe_tower(), Slic3r::GUI::PartPlateList::preprocess_arrange_polygon(), Slic3r::GUI::set_arrange_polygon_bed_exclusion_extruders_for_all_plates(), and Slic3r::GUI::NotificationManager::WarningNotificationLevel.
|
private |
References Slic3r::arrangement::ArrangePolygon::bed_idx, Slic3r::GUI::estimate_wipe_tower_info(), Slic3r::GUI::PartPlate::get_extruders(), Slic3r::GUI::PartPlateList::get_extruders(), Slic3r::GUI::PartPlateList::get_plate(), Slic3r::GUI::PartPlateList::get_plate_count(), Slic3r::GUI::get_wipe_tower(), Slic3r::GUI::get_wipetower_arrange_poly(), Slic3r::ConfigOption::getBool(), Slic3r::arrangement::ArrangePolygon::is_virt_object, Slic3r::arrangement::ArrangePolygon::is_wipe_tower, m_plater, m_selected, m_unselected, Slic3r::arrangement::ArrangePolygon::name, only_on_partplate, Slic3r::ConfigBase::option(), params, and Slic3r::tlSmooth.
Referenced by prepare_all(), and prepare_selected().
|
overridevirtual |
Implements Slic3r::GUI::Job.
References _u8L, Slic3r::ImexArranger::active(), Slic3r::ImexArranger::add_keep_outs(), Slic3r::arrangement::arrange(), Slic3r::ImexArranger::bed_shape(), Slic3r::GUI::Job::Ctl::call_on_main_thread(), Slic3r::ImexArranger::finish(), Slic3r::GUI::format(), Slic3r::get_extents(), Slic3r::PresetBundle::is_bbl_vendor(), m_imex, m_plater, m_selected, m_unselected, Slic3r::BoundingBoxBase< PointType, APointsType >::max, Slic3r::BoundingBoxBase< PointType, APointsType >::min, Slic3r::DynamicConfig::opt_bool(), Slic3r::ConfigBase::option(), params, prepare(), scale_, status_range(), Slic3r::unscale(), Slic3r::GUI::Job::Ctl::update_status(), Slic3r::GUI::Job::Ctl::was_canceled(), Slic3r::X, and Slic3r::Y.
|
inline |
References m_selected, and m_unprintable.
Referenced by process().
|
private |
Referenced by clear_input(), finalize(), and prepare_partplate().
|
private |
Referenced by prepare_imex_zones(), and process().
|
private |
Referenced by clear_input(), finalize(), prepare_all(), prepare_partplate(), and prepare_selected().
|
private |
|
private |
|
private |
|
private |
Referenced by clear_input(), and finalize().
|
private |
Referenced by clear_input(), finalize(), and prepare_all().
|
private |
Referenced by check_unprintable(), clear_input(), finalize(), prepare_all(), prepare_partplate(), prepare_selected(), and status_range().
|
private |
Referenced by clear_input(), finalize(), prepare_all(), prepare_belt_regions(), prepare_partplate(), prepare_selected(), prepare_wipe_tower(), and process().
|
private |
Referenced by finalize(), prepare(), prepare_imex_zones(), and prepare_wipe_tower().
|
private |
Referenced by check_unprintable(), clear_input(), prepare(), prepare_belt_regions(), prepare_wipe_tower(), and process().