#include </home/runner/work/OrcaSlicer/OrcaSlicer/src/libslic3r/Model.hpp>
Public Types | |
| using | Timestamp = uint64_t |
Public Member Functions | |
| ObjectID | id () const |
| void | reset () |
| void | assign_config (const ModelConfig &rhs) |
| void | assign_config (ModelConfig &&rhs) |
| void | assign_config (const DynamicPrintConfig &rhs) |
| void | assign_config (DynamicPrintConfig &&rhs) |
| void | apply (const ModelConfig &other, bool ignore_nonexistent=false) |
| void | apply (const ConfigBase &other, bool ignore_nonexistent=false) |
| void | apply_only (const ModelConfig &other, const t_config_option_keys &keys, bool ignore_nonexistent=false) |
| void | apply_only (const ConfigBase &other, const t_config_option_keys &keys, bool ignore_nonexistent=false) |
| bool | set_key_value (const std::string &opt_key, ConfigOption *opt) |
| template<typename T> | |
| void | set (const std::string &opt_key, T value) |
| void | set_deserialize (const t_config_option_key &opt_key, const std::string &str, ConfigSubstitutionContext &substitution_context, bool append=false) |
| bool | erase (const t_config_option_key &opt_key) |
| const DynamicPrintConfig & | get () const throw () |
| bool | empty () const throw () |
| size_t | size () const throw () |
| auto | cbegin () const |
| auto | cend () const |
| t_config_option_keys | keys () const |
| bool | has (const t_config_option_key &opt_key) const |
| const ConfigOption * | option (const t_config_option_key &opt_key) const |
| int | opt_int (const t_config_option_key &opt_key) const |
| int | extruder () const |
| double | opt_float (const t_config_option_key &opt_key) const |
| double | get_abs_value (const t_config_option_key &opt_key) const |
| std::string | opt_serialize (const t_config_option_key &opt_key) const |
| bool | timestamp_matches (const ModelConfig &rhs) const throw () |
| void | touch () |
Protected Member Functions | |
| void | set_new_unique_id () |
| void | set_invalid_id () |
| void | copy_id (const ObjectBase &rhs) |
| virtual void | assign_new_unique_ids_recursive () |
Private Member Functions | |
| ModelConfigObject ()=default | |
| ModelConfigObject (int) | |
| ModelConfigObject (const ModelConfigObject &cfg)=default | |
| ModelConfigObject (ModelConfigObject &&cfg)=default | |
| Timestamp | timestamp () const override throw () |
| bool | object_id_and_timestamp_match (const ModelConfigObject &rhs) const throw () |
| ModelConfigObject & | operator= (const ModelConfigObject &rhs)=default |
| ModelConfigObject & | operator= (ModelConfigObject &&rhs)=default |
| template<class Archive> | |
| void | serialize (Archive &ar) |
Static Private Member Functions | |
| static ObjectID | generate_new_id () |
| template<class Archive> | |
| static void | load_and_construct (Archive &ar, cereal::construct< ObjectBase > &construct) |
Private Attributes | |
| ObjectID | m_id |
| uint64_t | m_timestamp { 1 } |
| DynamicPrintConfig | m_data |
Static Private Attributes | |
| static size_t | s_last_id = 0 |
| static uint64_t | s_last_timestamp = 1 |
Friends | |
| class | cereal::access |
| class | UndoRedo::StackImpl |
| class | ModelObject |
| class | ModelVolume |
| class | ModelMaterial |
|
inherited |
|
explicitprivatedefault |
Referenced by ModelConfigObject(), ModelConfigObject(), object_id_and_timestamp_match(), operator=(), and operator=().
|
inlineexplicitprivate |
References Slic3r::ObjectBase::ObjectBase().
|
explicitprivatedefault |
|
explicitprivatedefault |
|
inlineinherited |
References Slic3r::ConfigBase::keys(), m_data, and touch().
|
inlineinherited |
References apply(), and get().
Referenced by apply(), Slic3r::GUI::GLGizmoMeshBoolean::generate_new_volume(), Slic3r::GUI::Plater::priv::reload_from_disk(), Slic3r::GUI::Plater::priv::replace_volume_with_stl(), and Slic3r::ModelObject::split().
|
inlineinherited |
|
inlineinherited |
References apply_only(), get(), and keys().
Referenced by apply_only(), Slic3r::GUI::ObjectSettings::update_config_values(), and Slic3r::GUI::ObjectTableSettings::update_config_values().
|
inlineinherited |
|
inlineinherited |
References m_data, and m_timestamp.
Referenced by Slic3r::SLAPrint::apply(), Slic3r::GUI::ObjectList::boolean(), Slic3r::ModelObject::convert_units(), Slic3r::GUI::Selection::copy_to_clipboard(), Slic3r::GUI::Tab::load_current_preset(), Slic3r::GUI::ObjectList::merge(), merge_or_add_object(), Slic3r::ModelObject::merge_volumes(), Slic3r::model_volume_list_copy_configs(), Slic3r::GUI::GLGizmoBrimEars::on_render_input_window(), Slic3r::GUI::GLGizmoFuzzySkin::on_render_input_window(), Slic3r::CLI::run(), and Slic3r::ModelObject::split().
|
inlineinherited |
|
inlineinherited |
References m_data, and m_timestamp.
|
inlineprotectedvirtualinherited |
Reimplemented in Slic3r::Model, Slic3r::ModelObject, and Slic3r::ModelVolume.
References set_new_unique_id().
|
inlineinherited |
|
inlineinherited |
|
inlineprotectedinherited |
References ObjectBase(), id(), and m_id.
Referenced by Slic3r::CutObjectBase::copy().
|
inlineinherited | ||||||||||||
|
inlineinherited |
References m_data, and touch().
Referenced by Slic3r::GUI::ObjectGridTable::construct_object_configs(), Slic3r::GUI::ObjectGridTable::reload_part_data(), Slic3r::GUI::ObjectTableSettings::resetAllValues(), Slic3r::GUI::ObjectList::set_extruder_for_selected_items(), Slic3r::GUI::ObjectGridTable::update_value_to_config(), and Slic3r::GUI::ObjectGridTable::update_volume_values_from_object().
|
inlineinherited |
References opt_int().
Referenced by Slic3r::Model::add_object(), Slic3r::Model::add_object(), Slic3r::Model::add_object(), Slic3r::GUI::ObjectList::add_volumes_to_object_in_list(), Slic3r::GUI::ObjectDataViewModel::AddObject(), Slic3r::GUI::MenuFactory::append_menu_item_change_extruder(), Slic3r::GUI::MenuFactory::append_menu_item_change_filament(), Slic3r::GUI::Plater::priv::apply_textured_mesh_import_result(), Slic3r::GUI::PartPlate::check_single_extruder_mixed_filament_risk(), Slic3r::GUI::ObjectList::delete_from_model_and_list(), Slic3r::GUI::Plater::priv::load_files(), merge_or_add_object(), Slic3r::Print::process(), Slic3r::CLI::run(), and Slic3r::GUI::ObjectList::split().
|
inlinestaticprivateinherited |
References s_last_id.
Referenced by ObjectBase(), and set_new_unique_id().
|
inlineinherited | ||||||||||||
References m_data.
Referenced by Slic3r::GUI::ObjectList::add_volumes_to_object_in_list(), apply(), Slic3r::SLAPrint::apply(), apply_only(), Slic3r::GUI::ObjectList::copy_settings_to_clipboard(), Slic3r::sla::find_least_supports_rotation(), Slic3r::GUI::GLGizmoBrimEars::get_config_options(), Slic3r::GUI::Tab::load_current_preset(), merge_or_add_object(), Slic3r::GUI::ObjectList::object_config_options_changed(), Slic3r::GUI::GLGizmoBrimEars::on_render_input_window(), Slic3r::GUI::GLGizmoFuzzySkin::on_render_input_window(), Slic3r::Print::process(), Slic3r::region_config_from_model_volume(), Slic3r::GUI::ObjectTableSettings::resetAllValues(), Slic3r::CLI::run(), Slic3r::GUI::ObjectList::split(), Slic3r::GUI::ObjectSettings::update_config_values(), and Slic3r::GUI::ObjectTableSettings::update_settings_list().
|
inlineinherited |
|
inlineinherited |
References m_data.
Referenced by Slic3r::GUI::ObjectSettings::add_missed_options(), Slic3r::GUI::ObjectTableSettings::add_missed_options(), Slic3r::Model::add_object(), Slic3r::Model::add_object(), Slic3r::Model::add_object(), Slic3r::GUI::ObjectList::add_volumes_to_object_in_list(), Slic3r::GUI::ObjectDataViewModel::AddObject(), Slic3r::GUI::MenuFactory::append_menu_item_change_extruder(), Slic3r::GUI::MenuFactory::append_menu_item_change_filament(), Slic3r::Print::auto_assign_extruders(), Slic3r::GUI::PartPlate::check_single_extruder_mixed_filament_risk(), Slic3r::GUI::ObjectList::delete_from_model_and_list(), Slic3r::GUI::ObjectList::get_default_layer_config(), Slic3r::GUI::ObjectGridTable::get_volume_config_value(), Slic3r::GUI::Plater::priv::load_files(), Slic3r::GUI::ObjectList::load_generic_subobject(), Slic3r::GUI::ObjectList::load_modifier(), Slic3r::Print::process(), Slic3r::GUI::ObjectList::set_extruder_for_selected_items(), Slic3r::GUI::ObjectList::split(), Slic3r::GUI::ObjectTableSettings::update_extra_column_visible_status(), Slic3r::GUI::GCodeViewer::update_layers_slider_mode(), Slic3r::GUI::ObjectGridTable::update_value_to_config(), and Slic3r::GUI::ObjectTableSettings::ValueChanged().
|
inlineinherited |
References m_id.
Referenced by Slic3r::CutObjectBase::CutObjectBase(), Slic3r::Model::Model(), Slic3r::ModelInstance::ModelInstance(), Slic3r::ModelMaterial::ModelMaterial(), Slic3r::ModelObject::ModelObject(), Slic3r::ModelObject::ModelObject(), Slic3r::ModelObject::ModelObject(), Slic3r::ModelObject::ModelObject(), Slic3r::ModelObject::ModelObject(), Slic3r::ModelVolume::ModelVolume(), Slic3r::ModelVolume::ModelVolume(), Slic3r::ModelVolume::ModelVolume(), Slic3r::ModelVolume::ModelVolume(), Slic3r::ModelVolume::ModelVolume(), Slic3r::ModelVolume::ModelVolume(), ObjectBase(), Slic3r::PrintBase::SlicingStatus::SlicingStatus(), Slic3r::PrintBase::SlicingStatus::SlicingStatus(), Slic3r::_BBS_3MF_Exporter::_add_cut_information_file_to_archive(), Slic3r::_BBS_3MF_Exporter::_add_model_config_file_to_archive(), Slic3r::_BBS_3MF_Exporter::_add_slice_info_config_file_to_archive(), Slic3r::GUI::Plater::priv::actualize_slicing_warnings(), Slic3r::ModelObjectStatusDB::add(), Slic3r::ModelObjectStatusDB::add_if_new(), Slic3r::Model::add_object(), Slic3r::append_and_translate(), Slic3r::SLAPrint::apply(), Slic3r::GUI::calc_distance(), Slic3r::GUI::calc_surface_offset(), Slic3r::check_model_ids_equal(), Slic3r::check_model_ids_validity(), Slic3r::GUI::GLGizmoTextureDisplacement::close_image_adjust(), Slic3r::Model::collect_reusable_objects(), Slic3r::ModelObject::convert_units(), copy_id(), Slic3r::PrintObjectStatusDB::count(), anonymous_namespace{RaycastManager.cpp}::create_key(), Slic3r::GUI::create_meshes(), anonymous_namespace{EmbossJob.cpp}::create_volume(), Slic3r::GUI::Emboss::create_volume_sources(), Slic3r::GUI::GLGizmoPainterBase::data_changed(), Slic3r::GCode::do_export(), Slic3r::GUI::PartPlate::duplicate_all_instance(), Slic3r::GUI::PartPlateList::duplicate_plate(), Slic3r::GUI::PartPlate::estimate_wipe_tower_footprint(), Slic3r::Print::export_cached_data(), Slic3r::GUI::Plater::export_stl(), Slic3r::find_volume_extents(), Slic3r::PreciseSeam::detail::fragment_location(), Slic3r::GUI::Plater::priv::generate_first_layer_bbox(), Slic3r::ModelObjectStatusDB::get(), Slic3r::Model::get_backup_path(), Slic3r::GUI::GLCanvas3D::get_empty_cells(), Slic3r::ModelInstance::get_labeled_id(), Slic3r::GUI::get_model_volume(), Slic3r::PrintObjectStatusDB::get_range(), Slic3r::GUI::get_selected_volume(), Slic3r::GUI::get_volume(), Slic3r::CutObjectBase::has_same_id(), Slic3r::UndoRedo::StackImpl::immutable_object_id_impl(), Slic3r::GUI::GLGizmoFdmSupports::init_print_instance(), Slic3r::CutObjectBase::is_equal(), Slic3r::GUI::GLGizmoSVG::is_svg_object(), Slic3r::ModelVolume::is_the_only_one_part(), Slic3r::GUI::IMSlider::IsNewPrint(), Slic3r::ModelObject::load(), load_and_construct(), Slic3r::Print::load_cached_data(), Slic3r::GLVolumeCollection::load_object_auxiliary(), Slic3r::GLVolumeCollection::load_object_volume(), Slic3r::GUI::GCodeViewer::load_shells(), Slic3r::UndoRedo::StackImpl::load_snapshot(), Slic3r::GUI::GLCanvas3D::CenterOfMass::model_markers(), Slic3r::model_property_changed(), Slic3r::model_volume_list_changed(), Slic3r::model_volume_list_copy_configs(), Slic3r::ModelConfigObject::object_id_and_timestamp_match(), Slic3r::ObjectWithTimestamp::object_id_and_timestamp_match(), Slic3r::GUI::GLGizmoEmboss::on_mouse_change_selection(), Slic3r::GUI::GLGizmoSimplify::on_render_input_window(), Slic3r::GUI::GLGizmoTextureDisplacement::open_image_adjust(), Slic3r::CutObjectBase::operator<(), Slic3r::Model::operator=(), Slic3r::ModelObject::operator=(), Slic3r::ModelObject::operator=(), Slic3r::CutObjectBase::operator==(), Slic3r::outer_inner_brim_area(), Slic3r::GUI::GLGizmoTextureDisplacement::painted_area_mm2(), Slic3r::GUI::GLGizmoCut3D::perform_cut(), anonymous_namespace{GLGizmoEmboss.cpp}::prepare_volumes_to_slice(), Slic3r::GUI::GLGizmoTextureDisplacement::preview_part(), Slic3r::GCode::process_layer(), Slic3r::GUI::NotificationManager::push_slicing_warning_notification(), Slic3r::GUI::GLGizmoTextureDisplacement::queue_preview_job(), Slic3r::GUI::queue_texture_displacement_debug(), Slic3r::GUI::GLGizmoEmboss::re_emboss(), Slic3r::GUI::GLGizmoTextureDisplacement::rebuild_other_paint_overlay(), Slic3r::GUI::GLGizmoTextureDisplacement::rebuild_painted_colors(), Slic3r::GUI::GLCanvas3D::reload_scene(), Slic3r::_BBS_Backup_Manager::remove_backup(), Slic3r::Model::remove_backup_path_if_exist(), Slic3r::GUI::GLGizmoTextureDisplacement::render_image_adjust_window(), Slic3r::CLI::run(), Slic3r::GUI::GLCanvas3D::LayersEditing::select_object(), Slic3r::ModelMaterial::serialize(), Slic3r::Model::set_backup_path(), Slic3r::GUI::GLGizmoBrimEars::set_brim_data(), Slic3r::GUI::PartPlate::set_hover_id(), Slic3r::GUI::GLGizmoEmboss::set_volume_by_selection(), Slic3r::GUI::GLGizmoSVG::set_volume_by_selection(), Slic3r::sla_instances(), Slic3r::slices_to_regions(), Slic3r::ModelObject::split(), anonymous_namespace{EmbossJob.cpp}::start_create_volume_on_surface_job(), anonymous_namespace{SurfaceDrag.cpp}::start_dragging(), Slic3r::GUI::Emboss::start_update_volume(), Slic3r::UndoRedo::StackImpl::take_snapshot(), Slic3r::GUI::texture_displacement_bake_volume(), Slic3r::GUI::GLGizmoPainterBase::update_contours(), anonymous_namespace{EmbossJob.cpp}::update_name_in_list(), Slic3r::GUI::ObjectList::update_name_in_model(), Slic3r::GUI::update_object_cut_id(), Slic3r::GUI::GLGizmoTextureDisplacement::v2_recommendation(), Slic3r::verify_update_print_object_regions(), wipe_tower_instance_id, and wipe_tower_object_id.
|
inlineinherited |
References m_data.
Referenced by Slic3r::_3MF_Exporter::_add_layer_config_ranges_file_to_archive(), Slic3r::_BBS_3MF_Exporter::_add_layer_config_ranges_file_to_archive(), Slic3r::_3MF_Exporter::_add_model_config_file_to_archive(), Slic3r::_BBS_3MF_Exporter::_add_model_config_file_to_archive(), apply_only(), apply_only(), Slic3r::GUI::create_settings_popupmenu(), Slic3r::GUI::ObjectList::merge(), Slic3r::GUI::ObjectList::paste_settings_into_list(), and Slic3r::GUI::ObjectSettings::update_config_values().
|
inlinestaticprivateinherited |
|
inlineprivate | |||||||||||||
References ModelConfigObject(), Slic3r::ObjectBase::id(), Slic3r::ObjectID::id, and timestamp().
|
privatedefault |
|
privatedefault |
|
inlineinherited |
References m_data.
Referenced by Slic3r::GUI::ObjectList::get_default_layer_config().
|
inlineinherited |
References m_data.
Referenced by extruder(), Slic3r::GUI::ObjectList::get_default_layer_config(), Slic3r::GUI::ObjectList::load_generic_subobject(), and Slic3r::GUI::ObjectList::load_modifier().
|
inlineinherited |
References m_data.
Referenced by Slic3r::_3MF_Exporter::_add_layer_config_ranges_file_to_archive(), Slic3r::_BBS_3MF_Exporter::_add_layer_config_ranges_file_to_archive(), Slic3r::_3MF_Exporter::_add_model_config_file_to_archive(), and Slic3r::_BBS_3MF_Exporter::_add_model_config_file_to_archive().
|
inlineinherited |
References m_data.
Referenced by Slic3r::GUI::MenuFactory::append_menu_items_flush_options(), Slic3r::GUI::ObjectGridTable::construct_object_configs(), Slic3r::GUI::ensure_belt_purge_tower(), Slic3r::GUI::PartPlate::get_extruders(), Slic3r::GUI::PartPlate::get_extruders_under_cli(), Slic3r::GUI::ObjectGridTable::get_volume_config_value(), Slic3r::GUI::is_belt_purge_prism(), Slic3r::GUI::Plater::priv::load_files(), Slic3r::GUI::ObjectList::merge(), Slic3r::GUI::anonymous_namespace{PublishSettingsDialog.cpp}::project_used_filament_slots(), Slic3r::GUI::GLGizmoMmuSegmentation::remap_filament_assignments(), Slic3r::CLI::run(), Slic3r::GUI::GCodeViewer::update_layers_slider_mode(), Slic3r::GUI::ObjectGridTable::update_volume_values_from_object(), and Slic3r::GUI::ObjectTableSettings::ValueChanged().
|
inlineinherited |
References m_data, and touch().
Referenced by Slic3r::GUI::ObjectList::last_volume_is_deleted(), Slic3r::GUI::Plater::priv::load_files(), Slic3r::ModelObject::split(), and Slic3r::GUI::ObjectTableSettings::update_config_values().
|
inlineprivate |
|
inlineinherited |
References m_data, and touch().
Referenced by Slic3r::GUI::Plater::priv::apply_textured_mesh_import_result(), Slic3r::Print::auto_assign_extruders(), Slic3r::GUI::Plater::priv::load_files(), and Slic3r::GUI::GLGizmoMmuSegmentation::remap_filament_assignments().
|
inlineinherited |
References Slic3r::append(), m_data, and touch().
Referenced by Slic3r::_3MF_Importer::_generate_volumes(), Slic3r::_BBS_3MF_Importer::_generate_volumes_new(), Slic3r::_3MF_Importer::_load_model_from_file(), and construct_assemble_list().
|
inlineprotectedinherited |
References m_id.
Referenced by Slic3r::CutObjectBase::invalidate().
|
inlineinherited |
References m_data, and touch().
Referenced by Slic3r::GUI::Plater::_calib_apply_belt_mode(), Slic3r::GUI::Plater::_calib_pa_pattern(), Slic3r::GUI::Plater::_calib_temp_belt_sectioned(), Slic3r::GUI::ObjectSettings::add_missed_options(), Slic3r::GUI::ObjectTableSettings::add_missed_options(), Slic3r::Model::add_object(), Slic3r::Model::add_object(), Slic3r::Model::add_object(), Slic3r::GUI::MenuFactory::append_menu_items_flush_options(), Slic3r::GUI::Plater::calib_retraction(), Slic3r::GUI::Plater::calib_temp(), construct_assemble_list(), Slic3r::GUI::ObjectGridTable::construct_object_configs(), anonymous_namespace{EmbossJob.cpp}::create_volume(), Slic3r::GUI::ensure_belt_purge_tower(), anonymous_namespace{EmbossJob.cpp}::CreateObjectJob::finalize(), Slic3r::GUI::ObjectList::last_volume_is_deleted(), Slic3r::GUI::ObjectList::load_generic_subobject(), Slic3r::GUI::ObjectList::load_mesh_object(), Slic3r::GUI::ObjectList::load_modifier(), Slic3r::GUI::ObjectList::merge(), merge_or_add_object(), Slic3r::CLI::run(), anonymous_namespace{OrcaSlicer_profile_validator.cpp}::slice_two_color_cube_and_export(), Slic3r::GUI::ObjectGridTable::update_filament_to_config(), and Slic3r::GUI::ObjectGridTable::update_value_to_config().
|
inlineprotectedinherited |
References generate_new_id(), and m_id.
Referenced by Slic3r::ModelVolume::ModelVolume(), Slic3r::Model::assign_new_unique_ids_recursive(), Slic3r::ModelVolume::assign_new_unique_ids_recursive(), assign_new_unique_ids_recursive(), Slic3r::CutObjectBase::init(), Slic3r::ModelMaterial::set_new_unique_id(), Slic3r::ModelObject::set_new_unique_id(), and Slic3r::ModelVolume::set_new_unique_id().
|
inlineinherited | ||||||||||||
|
inlineoverrideprivatevirtual | ||||||||||||
Reimplemented from Slic3r::ObjectBase.
References Slic3r::ModelConfig::timestamp().
Referenced by object_id_and_timestamp_match().
|
inlineinherited | |||||||||||||
References m_timestamp.
Referenced by Slic3r::SLAPrint::apply().
|
inlineinherited |
References m_timestamp, and s_last_timestamp.
Referenced by apply(), apply_only(), assign_config(), assign_config(), erase(), reset(), set(), set_deserialize(), set_key_value(), Slic3r::GUI::ObjectGridTable::update_filament_to_config(), and Slic3r::GUI::ObjectGridTable::update_value_to_config().
|
friend |
References cereal::access.
Referenced by cereal::access.
|
friend |
References ModelMaterial.
Referenced by ModelMaterial.
|
friend |
References ModelObject.
Referenced by ModelObject.
|
friend |
References ModelVolume.
Referenced by ModelVolume.
|
friend |
|
privateinherited |
Referenced by apply(), apply_only(), assign_config(), assign_config(), assign_config(), assign_config(), cbegin(), cend(), empty(), erase(), get(), get_abs_value(), has(), keys(), opt_float(), opt_int(), opt_serialize(), option(), reset(), serialize(), set(), set_deserialize(), set_key_value(), and size().
|
privateinherited |
Referenced by ObjectBase(), ObjectBase(), ObjectBase(), copy_id(), id(), serialize(), set_invalid_id(), and set_new_unique_id().
|
privateinherited |
Referenced by assign_config(), assign_config(), serialize(), timestamp(), timestamp_matches(), and touch().
|
staticprivateinherited |
Referenced by generate_new_id().
|
staticprivateinherited |
Referenced by touch().