OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
PrintObjectSlice.cpp File Reference
#include <algorithm>
#include <boost/log/trivial.hpp>
#include <limits>
#include <cstddef>
#include <functional>
#include <cassert>
#include <cstdlib>
#include <memory>
#include <math.h>
#include <cmath>
#include <iterator>
#include <tbb/parallel_for.h>
#include <vector>
#include <utility>
#include "BoundingBox.hpp"
#include "ClipperUtils.hpp"
#include "ElephantFootCompensation.hpp"
#include "ExPolygon.hpp"
#include "Exception.hpp"
#include "Flow.hpp"
#include "I18N.hpp"
#include "Layer.hpp"
#include "Model.hpp"
#include "MultiMaterialSegmentation.hpp"
#include "ObjectID.hpp"
#include "Point.hpp"
#include "Polygon.hpp"
#include "Print.hpp"
#include "BeltTransform.hpp"
#include "BeltSliceStrategy.hpp"
#include "Geometry.hpp"
#include "PrintConfig.hpp"
#include "PrintBase.hpp"
#include "ShortestPath.hpp"
#include "libslic3r.h"
#include "TriangleMeshSlicer.hpp"
#include "TriangleMesh.hpp"
#include "Slicing.hpp"
#include "Surface.hpp"
#include "Utils.hpp"
#include "libslic3r/Feature/Interlocking/InterlockingGenerator.hpp"
#include "Config.hpp"
#include "SurfaceCollection.hpp"
Include dependency graph for PrintObjectSlice.cpp:

Go to the source code of this file.

Namespaces

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

Macros

#define L(s)
 macro used to mark string used at localization, return same string

Functions

static coordf_t Slic3r::compute_slice_z (PrintObject *print_object, size_t i_layer, coordf_t lo, coordf_t hi)
LayerPtrs Slic3r::new_layers (PrintObject *print_object, const std::vector< coordf_t > &object_layers)
static std::vector< ExPolygons > Slic3r::slice_volume (const ModelVolume &volume, const std::vector< float > &zs, const MeshSlicingParamsEx &params, const std::function< void()> &throw_on_cancel_callback)
static std::vector< ExPolygons > Slic3r::slice_volume (const ModelVolume &volume, const std::vector< float > &z, const std::vector< t_layer_height_range > &ranges, const MeshSlicingParamsEx &params, const std::function< void()> &throw_on_cancel_callback)
static bool Slic3r::model_volume_needs_slicing (const ModelVolume &mv)
static std::vector< VolumeSlices > Slic3r::slice_volumes_inner (const PrintConfig &print_config, const PrintObjectConfig &print_object_config, const Transform3d &object_trafo, ModelVolumePtrs model_volumes, const std::vector< PrintObjectRegions::LayerRangeRegions > &layer_ranges, const std::vector< float > &zs, const std::function< void()> &throw_on_cancel_callback, double *out_belt_min_z=nullptr)
static VolumeSlices & Slic3r::volume_slices_find_by_id (std::vector< VolumeSlices > &volume_slices, const ObjectID id)
static bool Slic3r::overlap_in_xy (const PrintObjectRegions::BoundingBox &l, const PrintObjectRegions::BoundingBox &r)
static std::vector< PrintObjectRegions::LayerRangeRegions >::const_iterator Slic3r::layer_range_first (const std::vector< PrintObjectRegions::LayerRangeRegions > &layer_ranges, double z)
static std::vector< PrintObjectRegions::LayerRangeRegions >::const_iterator Slic3r::layer_range_next (const std::vector< PrintObjectRegions::LayerRangeRegions > &layer_ranges, std::vector< PrintObjectRegions::LayerRangeRegions >::const_iterator it, double z)
static std::vector< std::vector< ExPolygons > > Slic3r::slices_to_regions (const PrintConfig &print_config, const PrintObject &print_object, ModelVolumePtrs model_volumes, const PrintObjectRegions &print_object_regions, const std::vector< float > &zs, std::vector< VolumeSlices > &&volume_slices, const bool clip_multipart_objects, const std::function< void()> &throw_on_cancel_callback)
static bool Slic3r::doesVolumeIntersect (const VolumeSlices &vs1, const std::vector< BoundingBox > &bboxes1, const VolumeSlices &vs2, const std::vector< BoundingBox > &bboxes2)
bool Slic3r::groupingVolumes (std::vector< VolumeSlices > objSliceByVolume, std::vector< groupedVolumeSlices > &groups, double resolution, int firstLayerReplacedBy)
std::vector< VolumeSlices > Slic3r::findPartVolumes (const std::vector< VolumeSlices > &objSliceByVolume, ModelVolumePtrs model_volumes)
void Slic3r::applyNegtiveVolumes (ModelVolumePtrs model_volumes, const std::vector< VolumeSlices > &objSliceByVolume, std::vector< groupedVolumeSlices > &groups, double resolution)
void Slic3r::reGroupingLayerPolygons (std::vector< groupedVolumeSlices > &gvss, ExPolygons &eps, double resolution)
void Slic3r::groupingVolumesForBrim (PrintObject *object, LayerPtrs &layers, int firstLayerReplacedBy)
template<typename ThrowOnCancel>
static void Slic3r::apply_mm_segmentation (PrintObject &print_object, ThrowOnCancel throw_on_cancel)
template<typename ThrowOnCancel>
void Slic3r::apply_fuzzy_skin_segmentation (PrintObject &print_object, ThrowOnCancel throw_on_cancel)

Macro Definition Documentation

◆ L

#define L ( s)
Value:
std::string translate(const std::string &s)
Definition I18N.hpp:18

macro used to mark string used at localization, return same string

Referenced by Slic3r::PrintObject::slice(), and Slic3r::PrintObject::slice_volumes().