OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
PrintApply.cpp File Reference
#include "ClipperUtils.hpp"
#include "IMEXHelpers.hpp"
#include "Geometry.hpp"
#include "CustomGCode.hpp"
#include "Config.hpp"
#include "Model.hpp"
#include "Point.hpp"
#include "Polygon.hpp"
#include "Print.hpp"
#include "BeltTransform.hpp"
#include "FilamentMixer.hpp"
#include "Slicing.hpp"
#include "libslic3r.h"
#include "PrintConfig.hpp"
#include "PrintBase.hpp"
#include "libslic3r_version.h"
#include "TriangleSelector.hpp"
#include <algorithm>
#include <array>
#include <boost/log/trivial.hpp>
#include <cassert>
#include <cfloat>
#include <utility>
#include <vector>
#include <cstddef>
#include <initializer_list>
#include <iterator>
#include <set>
#include <cstdlib>
#include <functional>
#include <memory>
#include <unordered_set>
#include <unordered_map>
#include <mutex>
#include "MultiNozzleUtils.hpp"
#include "ObjectID.hpp"
#include "PlaceholderParser.hpp"
#include "TriangleMesh.hpp"
Include dependency graph for PrintApply.cpp:

Go to the source code of this file.

Classes

struct  Slic3r::PrintObjectTrafoAndInstances
class  Slic3r::LayerRanges
struct  Slic3r::LayerRanges::LayerRange
struct  Slic3r::ModelObjectStatus
struct  Slic3r::ModelObjectStatusDB
struct  Slic3r::PrintObjectStatus
class  Slic3r::PrintObjectStatusDB
struct  Slic3r::PrintObjectStatusDB::iterator_range

Namespaces

namespace  Slic3r
 |/ Copyright (c) Prusa Research 2020 - 2023 Enrico Turri @enricoturri1966 |/ |/ PrusaSlicer is released under the terms of the AGPLv3 or higher |/

Functions

void Slic3r::model_volume_list_update_supports_and_seams (ModelObject &model_object_dst, const ModelObject &model_object_new)
template<typename TypeFilterFn>
static void Slic3r::model_volume_list_copy_configs (ModelObject &model_object_dst, const ModelObject &model_object_src, TypeFilterFn type_filter)
static void Slic3r::model_volume_list_copy_configs (ModelObject &model_object_dst, const ModelObject &model_object_src, const ModelVolumeType type)
static void Slic3r::model_volume_list_copy_configs (ModelObject &model_object_dst, const ModelObject &model_object_src, const std::initializer_list< ModelVolumeType > &types)
static void Slic3r::layer_height_ranges_copy_configs (t_layer_config_ranges &lr_dst, const t_layer_config_ranges &lr_src)
static bool Slic3r::transform3d_lower (const Transform3d &lhs, const Transform3d &rhs)
static bool Slic3r::transform3d_equal (const Transform3d &lhs, const Transform3d &rhs)
static std::vector< PrintObjectTrafoAndInstances > Slic3r::print_objects_from_model_object (const ModelObject &model_object, const Vec3d &shrinkage_compensation, bool force_separate_instances=false)
static bool Slic3r::layer_height_ranges_equal (const t_layer_config_ranges &lr1, const t_layer_config_ranges &lr2, bool check_layer_height)
static bool Slic3r::custom_per_printz_gcodes_tool_changes_differ (const std::vector< CustomGCode::Item > &va, const std::vector< CustomGCode::Item > &vb)
static t_config_option_keys Slic3r::print_config_diffs (const PrintConfig &current_config, const DynamicPrintConfig &new_full_config, DynamicPrintConfig &filament_overrides, int plate_index, std::vector< int > &filament_maps, const std::vector< int > *dynamic_override_indices=nullptr)
static t_config_option_keys Slic3r::full_print_config_diffs (const DynamicPrintConfig &current_full_config, const DynamicPrintConfig &new_full_config, int plate_index)
static bool Slic3r::is_printable_filament_changed (const DynamicPrintConfig &new_full_config, const Polygon &old_poly, const Polygon &new_poly)
static bool Slic3r::model_volume_solid_or_modifier (const ModelVolume &mv)
static Transform3f Slic3r::trafo_for_bbox (const Transform3d &object_trafo, const Transform3d &volume_trafo)
static bool Slic3r::trafos_differ_in_rotation_by_z_and_mirroring_by_xy_only (const Transform3d &t1, const Transform3d &t2)
static PrintObjectRegions::BoundingBox Slic3r::transformed_its_bbox2d (const indexed_triangle_set &its, const Transform3f &m, float offset)
static void Slic3r::transformed_its_bboxes_in_z_ranges (const indexed_triangle_set &its, const Transform3f &m, const std::vector< t_layer_height_range > &z_ranges, std::vector< std::pair< PrintObjectRegions::BoundingBox, bool > > &bboxes, const float offset)
void Slic3r::print_objects_regions_invalidate_keep_some_volumes (PrintObjectRegions &print_object_regions, ModelVolumePtrs old_volumes, ModelVolumePtrs new_volumes)
const PrintObjectRegions::BoundingBox * Slic3r::find_volume_extents (const PrintObjectRegions::LayerRangeRegions &layer_range, const ModelVolume &volume)
PrintObjectRegions::BoundingBox Slic3r::find_modifier_volume_extents (const PrintObjectRegions::LayerRangeRegions &layer_range, const int this_region_id)
PrintRegionConfig Slic3r::region_config_from_model_volume (const PrintRegionConfig &default_or_parent_region_config, const DynamicPrintConfig *layer_range_config, const ModelVolume &volume, size_t num_extruders, std::vector< int > &variant_index)
void Slic3r::print_region_ref_inc (PrintRegion &r)
void Slic3r::print_region_ref_reset (PrintRegion &r)
int Slic3r::print_region_ref_cnt (const PrintRegion &r)
bool Slic3r::verify_update_print_object_regions (ModelVolumePtrs model_volumes, const PrintRegionConfig &default_region_config, size_t num_extruders, PrintObjectRegions &print_object_regions, const std::function< void(const PrintRegionConfig &, const PrintRegionConfig &, const t_config_option_keys &)> &callback_invalidate, std::vector< int > &variant_index)
void Slic3r::update_volume_bboxes (std::vector< PrintObjectRegions::LayerRangeRegions > &layer_ranges, std::vector< ObjectID > &cached_volume_ids, ModelVolumePtrs model_volumes, const Transform3d &object_trafo, const float offset)
static PrintObjectRegions * Slic3r::generate_print_object_regions (PrintObjectRegions *print_object_regions_old, const ModelVolumePtrs &model_volumes, const LayerRanges &model_layer_ranges, const PrintRegionConfig &default_region_config, const Transform3d &trafo, size_t num_extruders, const float xy_contour_compensation, const std::vector< unsigned int > &painting_extruders, std::vector< int > &variant_index, const bool has_painted_fuzzy_skin, const std::vector< bool > &slot_per_part_enabled={})