OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
libslic3r.h File Reference
#include "libslic3r_version.h"
#include <deque>
#include <iterator>
#include <functional>
#include <initializer_list>
#include <limits>
#include <utility>
#include <memory>
#include <array>
#include <algorithm>
#include <ostream>
#include <iostream>
#include <math.h>
#include <queue>
#include <sstream>
#include <cstdio>
#include <stdint.h>
#include <stdarg.h>
#include <vector>
#include <cassert>
#include <cmath>
#include <type_traits>
#include <optional>
#include "Semver.hpp"
Include dependency graph for libslic3r.h:

Go to the source code of this file.

Classes

struct  Slic3r::is_scaled_coord< I >
class  Slic3r::Range< It >

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 SLIC3R_APP_FULL_NAME   "Orca Slicer"
#define GCODEVIEWER_APP_NAME   "OrcaSlicer G-code Viewer"
#define GCODEVIEWER_APP_KEY   "OrcaSlicerGcodeViewer"
#define GCODEVIEWER_BUILD_ID   std::string("OrcaSlicer G-code Viewer-") + std::string(SLIC3R_VERSION) + std::string("-RC")
#define POLY_SIDE_COUNT   24
#define SCALED_RESOLUTION   (RESOLUTION / SCALING_FACTOR)
#define SCALED_SPARSE_INFILL_RESOLUTION   (SPARSE_INFILL_RESOLUTION / SCALING_FACTOR)
#define SCALED_SUPPORT_RESOLUTION   (SUPPORT_RESOLUTION / SCALING_FACTOR)
#define SMALL_PERIMETER_LENGTH(LENGTH)
#define scale_(val)
#define unscale_(val)
#define SCALED_EPSILON   scale_(EPSILON)
#define UNUSED(x)

Typedefs

using coord_t = int64_t
using coordf_t = double
template<class T, class Allocator = std::allocator<T>>
using Slic3r::deque
template<class T, class O = T>
using Slic3r::FloatingOnly = std::enable_if_t<std::is_floating_point<T>::value, O>
template<class T, class O = T>
using Slic3r::ScaledCoordOnly = std::enable_if_t<is_scaled_coord<T>::value, O>
template<class T, class O = T>
using Slic3r::IntegerOnly = std::enable_if_t<std::is_integral<T>::value, O>
template<class T, class O = T>
using Slic3r::ArithmeticOnly = std::enable_if_t<std::is_arithmetic<T>::value, O>
template<class T, class O = T>
using Slic3r::IteratorOnly
template<class T>
using Slic3r::remove_cvref_t = std::remove_cv_t<std::remove_reference_t<T>>

Enumerations

enum  Slic3r::Axis {
  Slic3r::X =0 , Slic3r::Y , Slic3r::Z , Slic3r::E ,
  Slic3r::F , Slic3r::I , Slic3r::J , Slic3r::P ,
  Slic3r::NUM_AXES , Slic3r::UNKNOWN_AXIS = NUM_AXES , Slic3r::NUM_AXES_WITH_UNKNOWN
}

Functions

template<typename T, typename Q>
T Slic3r::unscale (Q v)
template<typename T, typename Alloc, typename Alloc2>
void Slic3r::append (std::vector< T, Alloc > &dest, const std::vector< T, Alloc2 > &src)
template<typename T, typename Alloc>
void Slic3r::append (std::vector< T, Alloc > &dest, std::vector< T, Alloc > &&src)
template<class T, class... Args>
void Slic3r::clear_and_shrink (std::vector< T, Args... > &vec)
template<typename T>
void Slic3r::append_reversed (std::vector< T > &dest, const std::vector< T > &src)
template<typename T>
void Slic3r::append_reversed (std::vector< T > &dest, std::vector< T > &&src)
template<typename T_TO, typename T_FROM>
std::vector< T_TO > Slic3r::cast (const std::vector< T_FROM > &src)
template<typename T>
void Slic3r::remove_nulls (std::vector< T * > &vec)
template<typename T>
void Slic3r::sort_remove_duplicates (std::vector< T > &vec)
template<typename T, typename... Args>
std::unique_ptr< T > Slic3r::make_unique (Args &&... args)
template<class ForwardIt, class LowerThanKeyPredicate>
ForwardIt Slic3r::lower_bound_by_predicate (ForwardIt first, ForwardIt last, LowerThanKeyPredicate lower_than_key)
template<class ForwardIt, class T, class Compare = std::less<>>
ForwardIt Slic3r::binary_find (ForwardIt first, ForwardIt last, const T &value, Compare comp={})
template<class ForwardIt, class LowerThanKeyPredicate, class EqualToKeyPredicate>
ForwardIt Slic3r::binary_find_by_predicate (ForwardIt first, ForwardIt last, LowerThanKeyPredicate lower_thank_key, EqualToKeyPredicate equal_to_key)
template<typename ContainerType, typename ValueType>
bool Slic3r::contains (const ContainerType &c, const ValueType &v)
template<typename T>
bool Slic3r::contains (const std::initializer_list< T > &il, const T &v)
template<typename ContainerType, typename ValueType>
bool Slic3r::one_of (const ValueType &v, const ContainerType &c)
template<typename T>
bool Slic3r::one_of (const T &v, const std::initializer_list< T > &il)
template<typename T>
constexpr T Slic3r::sqr (T x)
template<typename Number>
constexpr bool Slic3r::is_zero (Number value)
template<typename T, typename Number>
constexpr T Slic3r::lerp (const T &a, const T &b, Number t)
template<typename Number>
constexpr bool Slic3r::is_approx (Number value, Number test_value, Number precision=EPSILON)
template<typename Number>
constexpr bool Slic3r::is_approx (const std::optional< Number > &value, const std::optional< Number > &test_value)
template<class T, class I, class... Args>
IntegerOnly< I, std::vector< T, Args... > > Slic3r::reserve_vector (I capacity)
template<class Cont>
auto Slic3r::range (Cont &&cont)
template<typename I>
IntegerOnly< I, I > Slic3r::fast_round_up (double a)

Variables

static constexpr double EPSILON = 1e-4
static constexpr double SCALING_FACTOR_INTERNAL = 0.000001
static constexpr double SCALING_FACTOR_INTERNAL_LARGE_PRINTER = 0.00001
static constexpr double LARGE_BED_THRESHOLD = 2147
static constexpr size_t MAXIMUM_EXTRUDER_NUMBER = 64
static constexpr size_t MAXIMUM_AMS_SYNC_FILAMENT_NUMBER = 16
static constexpr float MAX_LINE_WIDTH_MULTIPLIER = 5
double SCALING_FACTOR
static constexpr double PI = 3.141592653589793238
static constexpr double RESOLUTION = 0.0125
static constexpr double SPARSE_INFILL_RESOLUTION = 0.04
static constexpr double SUPPORT_RESOLUTION = 0.0375
static constexpr double INSET_OVERLAP_TOLERANCE = 0.4
static constexpr double EXTERNAL_INFILL_MARGIN = 3
static constexpr double BRIDGE_INFILL_MARGIN = 1
static constexpr double WIPE_TOWER_MARGIN = 1.
static constexpr double WIPE_TOWER_AUTO_MARGIN = 15.
static constexpr bool g_config_support_sharp_tails = true
static constexpr bool g_config_remove_small_overhangs = true
static constexpr float g_config_tree_support_collision_resolution = 0.2
Semver Slic3r::SEMVER { SLIC3R_VERSION }
template<class T, class = FloatingOnly<T>>
constexpr T Slic3r::NaN = std::numeric_limits<T>::quiet_NaN()
constexpr float Slic3r::NaNf = NaN<float>
constexpr double Slic3r::NaNd = NaN<double>

Macro Definition Documentation

◆ GCODEVIEWER_APP_KEY

#define GCODEVIEWER_APP_KEY   "OrcaSlicerGcodeViewer"

◆ GCODEVIEWER_APP_NAME

◆ GCODEVIEWER_BUILD_ID

#define GCODEVIEWER_BUILD_ID   std::string("OrcaSlicer G-code Viewer-") + std::string(SLIC3R_VERSION) + std::string("-RC")

◆ POLY_SIDE_COUNT

◆ scale_

#define scale_ ( val)
Value:
((val) / SCALING_FACTOR)
double SCALING_FACTOR
Definition libslic3r.cpp:3

Referenced by Slic3r::ExtrusionLoopSloped::ExtrusionLoopSloped(), Slic3r::SupportGridPattern::SupportGridPattern(), Slic3r::TreeSupport::TreeSupport(), Slic3r::TreeSupportData::TreeSupportData(), Slic3r::GCode::_do_export(), Slic3r::MultiPoint3::_douglas_peucker(), Slic3r::MultiPoint::_douglas_peucker(), Slic3r::Fill3DHoneycomb::_fill_surface_single(), Slic3r::FillConcentric::_fill_surface_single(), Slic3r::FillCrossHatch::_fill_surface_single(), Slic3r::FillGyroid::_fill_surface_single(), Slic3r::FillHoneycomb::_fill_surface_single(), Slic3r::FillLine::_fill_surface_single(), Slic3r::FillPlanePath::_fill_surface_single(), Slic3r::FillSpiralInset::_fill_surface_single(), Slic3r::FillTpmsD::_fill_surface_single(), Slic3r::FillTpmsFK::_fill_surface_single(), Slic3r::Print::_make_skirt(), Slic3r::Print::_make_wipe_tower(), Slic3r::PerimeterGenerator::add_infill_contour_for_arachne(), Slic3r::anonymous_namespace{PrintConfig.cpp}::append_legacy_bed_exclude_regions(), Slic3r::PrintObject::apply_conical_overhang(), Slic3r::Feature::FuzzySkin::apply_fuzzy_skin(), Slic3r::Feature::FuzzySkin::apply_fuzzy_skin(), Slic3r::GCodeWriter::apply_print_config(), Slic3r::band_box(), Slic3r::base_support_extend_infill_lines(), Slic3r::belt_brim_band_paths(), Slic3r::belt_brim_clip_leading_edge(), Slic3r::anonymous_namespace{ExclusionVolumeTravelAvoidance.cpp}::boundary_epsilon(), Slic3r::BuildVolume::bounding_mesh(), Slic3r::PrintObject::bridge_over_infill(), Slic3r::build_graph(), Slic3r::PrintObjectSupportMaterial::buildplate_covered(), Slic3r::GUI::PartPlate::calc_gridlines(), Slic3r::GUI::PartPlate::calc_height_limit(), Slic3r::GUI::PartPlate::calc_imex_zones(), Slic3r::GUI::PartPlate::calc_vertex_for_icons(), Slic3r::GUI::PartPlate::calc_vertex_for_imex_warn_badge(), Slic3r::GUI::PartPlate::calc_vertex_for_number(), Slic3r::GUI::PartPlate::calc_vertex_for_plate_name_edit_icon(), Slic3r::TreeSupportData::calculate_avoidance(), Slic3r::TreeSupportData::calculate_collision(), Slic3r::ModelVolume::calculate_convex_hull_2d(), Slic3r::calculate_layer_edge_grid(), Slic3r::Wipe::calculateWipeRetractionLengths(), Slic3r::chain_open_polylines_close_gaps(), Slic3r::GCodeProcessor::check_multi_extruder_gcode_valid(), Slic3r::GUI::PartPlate::check_outside(), Slic3r::GLVolumeCollection::check_outside_state(), Slic3r::ExtrusionLoopSloped::clip_front(), Slic3r::SupportMaterialInternal::collect_bridging_perimeter_areas(), Slic3r::TimelapsePosPicker::collect_limit_areas_for_rod(), Slic3r::TimelapsePosPicker::collect_object_slices_data(), Slic3r::colorize_line(), Slic3r::compacted_wipe_tower_clearance(), Slic3r::compacted_wipe_tower_offender_outline(), Slic3r::compacted_wipe_tower_zone(), Slic3r::Fill::connect_base_support(), Slic3r::connect_brim_lines(), Slic3r::Fill::connect_infill(), Slic3r::FillAdaptive::connect_lines_using_hooks(), Slic3r::TimelapsePosPicker::construct_printable_area_by_printer(), Slic3r::contour_distance(), Slic3r::contour_distance2(), Slic3r::contour_extrusion_path(), Slic3r::create_boundary_infill_graph(), anonymous_namespace{EmbossJob.cpp}::create_mesh_per_glyph(), Slic3r::cut_mesh(), anonymous_namespace{EmbossJob.cpp}::cut_per_glyph_surface(), Slic3r::detect_bridge_directions(), Slic3r::detect_contacts(), Slic3r::PrintObject::detect_extruder_geometric_unprintables(), Slic3r::detect_overhangs(), Slic3r::TreeSupport::detect_overhangs(), Slic3r::PrintObject::detect_overhangs_for_lift(), Slic3r::detect_steep_overhang(), Slic3r::PrintObject::discover_vertical_shells(), Slic3r::Algorithm::do_split_line(), Slic3r::TreeSupport::draw_circles(), Slic3r::elephant_foot_compensation(), Slic3r::estimated_wipe_tower_footprint(), Slic3r::TimelapsePosPicker::expand_object_projection(), Slic3r::SVG::export_expolygons(), Slic3r::export_intersections_to_svg(), Slic3r::LayerRegion::export_region_fill_surfaces_to_svg(), Slic3r::export_surface_type_legend_to_svg(), Slic3r::export_surface_type_legend_to_svg_box_size(), Slic3r::SupportGridPattern::extract_support(), Slic3r::GCode::extrude_loop(), Slic3r::GCode::extrude_path(), Slic3r::GCode::extrude_perimeters(), Slic3r::ExtrusionSimulator::extrude_to_accumulator(), Slic3r::extrusionentity_extents(), Slic3r::extrusionentity_extents(), Slic3r::extrusionentity_extents(), Slic3r::fill_adaptive_infill_shells(), Slic3r::Fill::fill_surface(), Slic3r::FillQuarterCubic::fill_surface(), Slic3r::FillSupportBase::fill_surface(), Slic3r::Fill::fill_surface_arachne(), Slic3r::FillRectilinear::fill_surface_by_lines(), Slic3r::FillRectilinear::fill_surface_by_multilines(), Slic3r::Fill::fill_surface_extrusion(), Slic3r::FillRectilinear::fill_surface_trapezoidal(), Slic3r::filter_colorized_polygon(), Slic3r::filter_painted_lines(), Slic3r::TreeSupport3D::finalize_raft_contact(), Slic3r::WipeTower2::finish_layer(), Slic3r::Print::first_layer_wipe_tower_corners(), Slic3r::Feature::FuzzySkin::fuzzy_extrusion_line_ripple(), Slic3r::Feature::FuzzySkin::fuzzy_polyline_ripple(), Slic3r::LoopInterfaceProcessor::generate(), Slic3r::TreeSupport::generate_contact_points(), Slic3r::GUI::PartPlate::generate_exclude_polygon(), Slic3r::generate_extra_perimeters_over_overhangs(), Slic3r::ToolOrdering::generate_first_layer_tool_order(), Slic3r::ToolOrdering::generate_first_layer_tool_order(), Slic3r::TreeSupport3D::generate_initial_areas(), Slic3r::GUI::PartPlate::generate_logo_polygon(), Slic3r::PerimeterGenerator::generate_lower_polygons_series(), Slic3r::GUI::PartPlate::generate_plate_name_texture(), Slic3r::GUI::PartPlate::generate_print_polygon(), Slic3r::generate_raft_base(), Slic3r::Layer::generate_sparse_infill_polylines_for_anchoring(), Slic3r::TreeSupport3D::generate_support_areas(), Slic3r::WipeTower2::generate_support_cone_wall(), Slic3r::generate_support_toolpaths(), Slic3r::TreeSupport::generate_toolpaths(), Slic3r::ModelVolume::get_convex_hull_2d(), Slic3r::PrintInstance::get_convex_hull_2d(), Slic3r::get_default_perimeter_spacing(), Slic3r::GUI::GLCanvas3D::get_empty_cells(), Slic3r::TimelapsePosPicker::get_is_clear_to_x0(), Slic3r::TimelapsePosPicker::get_limit_area_for_camera(), Slic3r::TimelapsePosPicker::get_object_center(), Slic3r::TimelapsePosPicker::get_objects_center(), Slic3r::GUI::GLGizmoPainterBase::get_projected_mouse_positions(), Slic3r::TreeSupport::get_trim_support_regions(), Slic3r::FakeWipeTower::getFakeExtrusionPathsFromWipeTower(), Slic3r::FakeWipeTower::getFakeExtrusionPathsFromWipeTower2(), Slic3r::FakeWipeTower::getTrueExtrusionLayersFromWipeTower(), Slic3r::group_fills(), Slic3r::BeltFloorContext::half_plane(), Slic3r::ExclusionVolumeTravelAvoidance::init(), Slic3r::init_boundary(), Slic3r::init_boundary(), Slic3r::AvoidCrossingPerimeters::init_layer(), Slic3r::inner_offset(), Slic3r::Print::is_all_objects_are_short(), Slic3r::is_printable_filament_changed(), Slic3r::PrintObject::is_support_necessary(), Slic3r::layered_print_cleareance_valid(), Slic3r::make_belt_brim(), Slic3r::make_brim_ears(), Slic3r::make_expolygons(), Slic3r::Layer::make_fills(), Slic3r::make_gyroid_waves(), Slic3r::Layer::make_ironing(), Slic3r::make_perimeter_and_infill(), Slic3r::GUI::GLGizmoBrimEars::make_polygon(), Slic3r::make_waves(), Slic3r::mark_boundary_segments_touching_infill(), Slic3r::Algorithm::merge_expansions_into_expolygons(), Slic3r::GUI::min_delta_area(), Slic3r::GUI::miscalculation(), Slic3r::modulate_extrusion_by_overlapping_layers(), Slic3r::move_inside_expoly(), Slic3r::move_inside_expolys(), Slic3r::move_out_expolys(), Slic3r::multiline_fill(), Slic3r::FillAdaptive::multiline_paths(), Slic3r::GCode::needs_retraction(), Slic3r::Point3::new_scale(), Slic3r::Point3::new_scale(), Slic3r::Point3::new_scale(), Slic3r::Point::new_scale(), Slic3r::Point::new_scale(), Slic3r::normal(), Slic3r::Voronoi::offset(), Slic3r::outer_inner_brim_area(), Slic3r::anonymous_namespace{PrintConfig.cpp}::parse_exclude_polygon_points(), Slic3r::TimelapsePosPicker::pick_pos_for_all_layer(), Slic3r::TimelapsePosPicker::pick_pos_for_curr_layer(), Slic3r::pick_pos_internal(), Slic3r::ExtrusionPath::polygons_covered_by_width(), Slic3r::GUI::FillBedJob::prepare(), Slic3r::PreciseSeam::prepare_weak_modifier_segments(), Slic3r::GUI::PartPlateList::preprocess_exclude_areas(), Slic3r::PerimeterGenerator::printable_slices(), Slic3r::GUI::ArrangeJob::process(), Slic3r::PerimeterGenerator::process_arachne(), Slic3r::PerimeterGenerator::process_classic(), Slic3r::LayerRegion::process_external_surfaces(), Slic3r::PrintObject::process_external_surfaces(), Slic3r::GCode::process_layer(), Slic3r::PerimeterGenerator::process_no_bridge(), Slic3r::anonymous_namespace{PrintConfig.cpp}::project_bed_material_keepouts(), Slic3r::GUI::MeshClipper::recalculate_triangles(), Slic3r::PrintObject::remove_bridges_from_contacts(), Slic3r::SupportMaterialInternal::remove_bridges_from_contacts(), Slic3r::remove_points_from_polygon(), Slic3r::GUI::PartPlate::render(), Slic3r::anonymous_namespace{PrintConfig.cpp}::resolve_bed_excluded_regions(), Slic3r::GCode::retract(), Slic3r::CLI::run(), Slic3r::sla::sample_expolygon_boundary(), Slic3r::Emboss::sample_slice(), Slic3r::anonymous_namespace{ExclusionVolumePathCheck.cpp}::scaled_point(), Slic3r::Flow::scaled_spacing(), Slic3r::Flow::scaled_width(), Slic3r::segmentation_by_painting(), Slic3r::segmentation_top_and_bottom_layers(), Slic3r::Print::sequential_print_clearance_valid(), Slic3r::GCode::set_origin(), Slic3r::Model::setPrintSpeedTable(), Slic3r::slice_region_by_vertical_lines(), Slic3r::PrintObject::slice_volumes(), Slic3r::GCodeWriter::spiral_lift_fits_printable_area(), Slic3r::split_at_slope_end(), Slic3r::PerimeterGenerator::split_top_surfaces(), Slic3r::GCode::timelapse_gcode_config(), Slic3r::to_points(), Slic3r::PrintObjectSupportMaterial::top_contact_layers(), Slic3r::translated_bed_exclusion_volumes(), Slic3r::translated_bed_exclusion_volumes_by_extruder(), Slic3r::AvoidCrossingPerimeters::travel_to(), Slic3r::GCode::travel_to(), Slic3r::PrintObjectSupportMaterial::trim_support_layers_by_object(), Slic3r::Circle::try_create_circle(), Slic3r::sla::SupportPointGenerator::uniformly_cover(), Slic3r::GLVolume::SinkingContours::update(), Slic3r::GUI::PartPlateList::BedTextureInfo::TexturePart::update_buffer(), Slic3r::GUI::GLCanvas3D::update_compacted_wipe_tower_clearance(), Slic3r::GUI::PartPlate::update_exclusion_volume_preview_models(), Slic3r::GUI::GLCanvas3D::update_sequential_clearance(), Slic3r::Print::validate_compacted_wipe_tower_clearance(), Slic3r::variable_width(), Slic3r::Wipe::wipe(), and Slic3r::wipe_tower_point_to_object_point().

◆ SCALED_EPSILON

#define SCALED_EPSILON   scale_(EPSILON)

Referenced by Slic3r::AABBTreeIndirect::BoundingBoxWrapper::BoundingBoxWrapper(), Slic3r::BuildVolume::BuildVolume(), Slic3r::SupportAnnotations::SupportAnnotations(), Slic3r::FillLine::_can_connect(), Slic3r::FillLine::_fill_surface_single(), Slic3r::FillPlanePath::_fill_surface_single(), Slic3r::Print::_make_skirt(), Slic3r::GUI::GLCanvas3D::_render_sla_slices(), Slic3r::FillAdaptive::add_hook(), Slic3r::MMU_Graph::append_voronoi_vertices(), Slic3r::PrintObject::apply_conical_overhang(), Slic3r::avoid_perimeters_inner(), Slic3r::belt_brim_band_paths(), Slic3r::PrintObjectSupportMaterial::bottom_contact_layers_and_layer_support_areas(), Slic3r::anonymous_namespace{ExclusionVolumeTravelAvoidance.cpp}::boundary_epsilon(), Slic3r::PrintObject::bridge_over_infill(), Slic3r::brim_exclusion_clearance(), Slic3r::Geometry::MedialAxis::build(), Slic3r::build_offset_polyline(), Slic3r::GUI::PartPlate::calc_gridlines(), Slic3r::chain_extrusion_entities_impl(), Slic3r::chain_segments_greedy_constrained_reversals2_(), Slic3r::chain_segments_greedy_constrained_reversals_(), Slic3r::ExclusionVolumeTravelAvoidance::clear(), Slic3r::clip_extrusion(), Slic3r::clip_inner_walls_over_top(), Slic3r::clip_narrow_corner(), Slic3r::Arachne::colinear_vertex_tolerance(), Slic3r::ExclusionVolumePathChecker::configure(), Slic3r::Fill::connect_base_support(), Slic3r::connect_brim_lines(), Slic3r::Fill::connect_infill(), Slic3r::FillAdaptive::connect_lines_using_hooks(), Slic3r::contour_distance(), Slic3r::contour_distance(), Slic3r::contour_distance2(), Slic3r::ContourIntersectionPoint::could_take_next(), Slic3r::ContourIntersectionPoint::could_take_prev(), Slic3r::create_boundary_infill_graph(), Slic3r::cyclic_interval_inside_interval(), Slic3r::detect_belt_floor_bottom_contacts(), Slic3r::detect_bridge_directions(), Slic3r::detect_bridging_direction(), Slic3r::diff_clipped(), Slic3r::diff_clipped(), Slic3r::diff_clipped(), Slic3r::PrintObject::discover_vertical_shells(), Slic3r::ArcFitter::do_arc_fitting_and_simplify(), Slic3r::Algorithm::do_split_line(), Slic3r::Voronoi::edge_offset_contour_intersections(), Slic3r::elephant_foot_compensation(), Slic3r::emit_loops_in_band(), Slic3r::evaluate_support_arches(), Slic3r::GCode::extrude_loop(), Slic3r::GCode::extrude_perimeters(), Slic3r::extrusion_paths_append(), Slic3r::extrusion_paths_append(), Slic3r::fill_expolygons_with_sheath_generate_paths(), Slic3r::FillRectilinear::fill_surface_by_lines(), Slic3r::FillRectilinear::fill_surface_by_multilines(), Slic3r::TreeSupport3D::finalize_raft_contact(), Slic3r::Voronoi::detail::first_circle_segment_intersection_parameter(), Slic3r::Print::first_layer_islands(), Slic3r::LoopInterfaceProcessor::generate(), Slic3r::generate_extra_perimeters_over_overhangs(), Slic3r::generate_raft_base(), Slic3r::TreeSupport3D::generate_support_infill_lines(), Slic3r::FillLightning::Generator::generateTrees(), Slic3r::FillLightning::Generator::generateTreesforSupport(), marchsq::get_gyroid_polylines(), marchsq::get_polylines(), Slic3r::get_print_object_bottom_layer_expolygons(), Slic3r::MultiPoint::has_boundary_point(), Slic3r::improve_chain_by_local_search(), Slic3r::improve_cycle_by_or_opt(), Slic3r::ExclusionVolumeTravelAvoidance::init(), Slic3r::init_boundary(), Slic3r::AvoidCrossingPerimeters::init_layer(), Slic3r::SLAPrint::Steps::initialize_printer_input(), Slic3r::inner_offset(), Slic3r::intersection_clipped(), Slic3r::is_approx(), Slic3r::join_close_ends(), Slic3r::anonymous_namespace{ExclusionVolumePathCheck.cpp}::line_bbox(), Slic3r::line_intersection_with_epsilon(), Slic3r::Voronoi::detail::line_point_equal_distance_points(), Slic3r::line_rounded_thick_segment_collision(), Slic3r::Layer::make_fills(), Slic3r::mark_boundary_segments_overlapping_infill(), Slic3r::mark_boundary_segments_touching_infill(), Slic3r::material_side_support_lines(), Slic3r::ExPolygon::medial_axis(), Slic3r::merge_segmented_layers(), Slic3r::minimum_crossover_cost(), Slic3r::mittered_offset_path_scaled(), Slic3r::WipeTower::move_box_inside_polygon(), Slic3r::nearest_clear_wipe_tower_anchor(), Slic3r::RasterizationImpl::nearly_equal(), Slic3r::normal(), Slic3r::Voronoi::offset(), Slic3r::offset_wipe_path(), Slic3r::offset_wipe_path_toward_support(), Slic3r::Voronoi::detail::point_point_equal_distance_points(), Slic3r::TreeSupport3D::polyline_sample_next_point_at_distance(), Slic3r::polylines_from_paths(), Slic3r::PerimeterGenerator::process_classic(), Slic3r::LayerRegion::process_external_surfaces(), Slic3r::project_support_to_grid(), Slic3r::Geometry::ray_circle_intersections(), Slic3r::ArcSegment::ray_intersects_segment(), Slic3r::remove_collinear(), Slic3r::GCode::retract(), Slic3r::TreeSupport3D::safe_offset_inc(), Slic3r::sample_path_at_distance(), Slic3r::sample_polyline_at_distance(), Slic3r::segment_is_supported(), Slic3r::segmentation_by_painting(), Slic3r::segmentation_top_and_bottom_layers(), Slic3r::TreeSupport3D::SupportElementMerging::set_bbox(), Slic3r::Geometry::smallest_enclosing_circle_welzl(), Slic3r::smooth_outward(), Slic3r::Polyline3::split_at_length(), Slic3r::Polyline::split_at_length(), Slic3r::PerimeterGenerator::split_top_surfaces(), Slic3r::starts_by_backtracking(), Slic3r::store_wipe_path(), Slic3r::support_exclusion_areas_for_layers(), Slic3r::support_offset_at_start(), Slic3r::take_ccw_limited(), Slic3r::take_cw_limited(), Slic3r::take_limited(), Slic3r::thick_polyline_to_extrusion_paths_2(), Slic3r::thick_polyline_to_multi_path(), Slic3r::arrangement::to_circle(), Slic3r::translated_wipe_path(), Slic3r::RetractWhenCrossingPerimeters::travel_inside_internal_regions(), Slic3r::WipeTowerIntegration::travel_to_tower_gap(), Slic3r::traverse_extrusions(), Slic3r::traverse_graph_generate_polylines(), Slic3r::traverse_loops(), Slic3r::traverse_pt_outside_in(), Slic3r::tree_supports_generate_paths(), Slic3r::Circle::try_create_circle(), Slic3r::Geometry::MedialAxis::validate_edge(), Slic3r::FillAdaptive::validate_intersection_t_joint(), Slic3r::Voronoi::debug::verify_offset_intersection_points(), Slic3r::Voronoi::debug::verify_signed_distances(), Slic3r::wipe_path_stays_on_material_side(), Slic3r::wipe_path_support_score(), and Slic3r::wipe_tolerance().

◆ SCALED_RESOLUTION

◆ SCALED_SPARSE_INFILL_RESOLUTION

◆ SCALED_SUPPORT_RESOLUTION

◆ SLIC3R_APP_FULL_NAME

#define SLIC3R_APP_FULL_NAME   "Orca Slicer"

Referenced by Slic3r::GUI::AboutDialog::AboutDialog(), Slic3r::GUI::CopyrightsDialog::CopyrightsDialog(), Slic3r::GUI::ErrorDialog::ErrorDialog(), Slic3r::GUI::FilamentWarningDialog::FilamentWarningDialog(), Slic3r::GUI::InfoDialog::InfoDialog(), Slic3r::GUI::MessageDialog::MessageDialog(), Slic3r::GUI::MsgUpdateForced::MsgUpdateForced(), Slic3r::GUI::MsgUpdateSlic3r::MsgUpdateSlic3r(), Slic3r::GUI::Newer3mfVersionDialog::Newer3mfVersionDialog(), Slic3r::GUI::RichMessageDialog::RichMessageDialog(), Slic3r::GUI::SendSystemInfoDialog::SendSystemInfoDialog(), Slic3r::GUI::WarningDialog::WarningDialog(), Slic3r::GUI::Plater::close_with_confirm(), Slic3r::GUI::CreateFilamentPresetDialog::create_dialog_buttons(), Slic3r::GUI::CreatePresetForPrinterDialog::create_dialog_buttons(), Slic3r::GUI::ExportConfigsDialog::create_dialog_buttons(), Slic3r::GUI::PreferencesDialog::create_item_language_combobox(), Slic3r::GUI::CreatePrinterPresetDialog::create_page2_dialog_buttons(), Slic3r::GUI::CreatePrinterPresetDialog::create_printer_item(), Slic3r::GUI::ExportConfigsDialog::data_init(), Slic3r::GUI::Tab::delete_preset(), Slic3r::GUI::TroubleshootDialog::ExportAsJson(), Slic3r::GUI::TroubleshootDialog::ExportAsZip(), Slic3r::GUI::MainFrame::generate_help_menu(), Slic3r::GUI::ScoreDialog::get_button_sizer(), Slic3r::GUI::MainFrame::init_menubar_as_editor(), Slic3r::GUI::ExportPresetBundleDialog::InitExportData(), Slic3r::GUI::ExportConfigsDialog::initial_file_name(), Slic3r::GUI::Plater::priv::load_files(), Slic3r::ConfigBase::load_from_gcode_file(), Slic3r::GUI::CreatePrinterPresetDialog::load_system_and_user_presets_with_curr_model(), Slic3r::GUI::CreatePrinterPresetDialog::on_select_printer_model(), Slic3r::GUI::TroubleshootDialog::PackAll(), Slic3r::GUI::TroubleshootDialog::RebuildSystemProfiles(), Slic3r::GUI::Plater::reset_with_confirm(), Slic3r::GUI::TroubleshootDialog::RestartApplication(), Slic3r::CLI::run(), Slic3r::GUI::Plater::priv::save_project_if_dirty(), Slic3r::GUI::ExportConfigsDialog::show_export_result(), Slic3r::GUI::ExportPresetBundleDialog::show_export_result(), Slic3r::GUI::show_info(), and Slic3r::GUI::CreatePrinterPresetDialog::validate_input_valid().

◆ SMALL_PERIMETER_LENGTH

#define SMALL_PERIMETER_LENGTH ( LENGTH)
Value:
(((LENGTH) / SCALING_FACTOR) * 2 * PI)
static constexpr double PI
Definition libslic3r.h:81

Referenced by Slic3r::GCode::extrude_loop(), and Slic3r::GCode::extrude_support().

◆ unscale_

◆ UNUSED

Typedef Documentation

◆ coord_t

using coord_t = int64_t

◆ coordf_t

using coordf_t = double

Variable Documentation

◆ BRIDGE_INFILL_MARGIN

double BRIDGE_INFILL_MARGIN = 1
staticconstexpr

◆ EPSILON

double EPSILON = 1e-4
staticconstexpr

◆ EXTERNAL_INFILL_MARGIN

double EXTERNAL_INFILL_MARGIN = 3
staticconstexpr

◆ g_config_remove_small_overhangs

bool g_config_remove_small_overhangs = true
staticconstexpr

◆ g_config_support_sharp_tails

bool g_config_support_sharp_tails = true
staticconstexpr

◆ g_config_tree_support_collision_resolution

float g_config_tree_support_collision_resolution = 0.2
staticconstexpr

◆ INSET_OVERLAP_TOLERANCE

double INSET_OVERLAP_TOLERANCE = 0.4
staticconstexpr

◆ LARGE_BED_THRESHOLD

double LARGE_BED_THRESHOLD = 2147
staticconstexpr

◆ MAX_LINE_WIDTH_MULTIPLIER

float MAX_LINE_WIDTH_MULTIPLIER = 5
staticconstexpr

◆ MAXIMUM_AMS_SYNC_FILAMENT_NUMBER

size_t MAXIMUM_AMS_SYNC_FILAMENT_NUMBER = 16
staticconstexpr

◆ MAXIMUM_EXTRUDER_NUMBER

◆ PI

double PI = 3.141592653589793238
staticconstexpr

Referenced by Slic3r::orientation::AutoOrienter::AutoOrienter(), marchsq::GyroidField::GyroidField(), Slic3r::sla::PointRing< N >::PointRing(), marchsq::ScalarField::ScalarField(), Slic3r::GUI::SceneRaycaster::SceneRaycaster(), Slic3r::FillTpmsFK::_fill_surface_single(), Slic3r::GUI::GLCanvas3D::_render_3d_navigator(), Slic3r::GUI::GLCanvas3D::_render_shadows(), Slic3r::Measure::angle_edge_plane(), Slic3r::Geometry::angle_to_0_2PI(), Slic3r::MinAreaBoundigBox::angle_to_X(), Slic3r::GUI::Mouse3DController::State::apply(), Slic3r::BridgeDetector::bridge_direction_candidates(), Slic3r::calc_total_edge_length(), Slic3r::calculate_infill_rotation_angle(), Slic3r::chamfer_polygon(), Slic3r::GUI::circular_arrow(), Slic3r::compacted_wipe_tower_zone(), Slic3r::compute_edge_length(), Slic3r::SeamPlacerImpl::compute_global_occlusion(), Slic3r::FillAdaptive::connect_lines_using_hooks(), Slic3r::sla::SupportTreeBuildsteps::connect_to_ground(), Slic3r::sla::SupportTreeBuildsteps::connect_to_model_body(), Slic3r::Preset::convert_filament_diameter_to_pellet_flow(), Slic3r::Preset::convert_pellet_flow_to_filament_diameter(), Slic3r::BridgeDetector::coverage(), Slic3r::sla::SupportTreeBuildsteps::create_ground_pillar(), Slic3r::GUI::create_mesh(), Slic3r::create_polyholes(), Slic3r::sla::cylinder(), Slic3r::Geometry::deg2rad(), Slic3r::BridgeDetector::detect_angle(), Slic3r::GUI::diamond(), Slic3r::Line::direction(), Slic3r::Geometry::directions_parallel(), Slic3r::Geometry::directions_perpendicular(), Slic3r::GUI::GLGizmoCut3D::dragging_grabber_rotation(), Slic3r::GUI::dragging_rotate_gizmo(), Slic3r::GCodeWriter::eager_lift(), Slic3r::estimate_wipe_tower_footprint(), Slic3r::GCodeWriter::extrude_arc_as_polyline(), Slic3r::WipeTowerWriter2::extrude_arc_explicit(), Slic3r::WipeTowerWriter::extrude_arc_explicit(), Slic3r::Extruder::filament_crossection(), Slic3r::arrangement::fill_config(), Slic3r::sla::SupportTreeBuildsteps::filter(), Slic3r::GUI::RotoptimizeJob::finalize(), Slic3r::sla::find_best_misalignment_rotation(), Slic3r::orientation::AutoOrienter::find_cooling_direction2(), Slic3r::sla::find_least_supports_rotation(), Slic3r::Skirt::find_start_point(), Slic3r::GUI::GLGizmoCut3D::flip_cut_plane(), Slic3r::GUI::PartPlate::generate_exclude_polygon(), Slic3r::GUI::GLGizmoBrimEars::generate_points(), Slic3r::TreeSupport::generate_toolpaths(), Slic3r::GUI::GLGizmoCut3D::get_connector_mesh(), Slic3r::BoundingBoxBase< Point, Points >::get_extents, Slic3r::sla::get_mesh(), Slic3r::GUI::get_min_flush_volumes(), Slic3r::get_next_arc(), Slic3r::Circle::get_polar_radians(), Slic3r::sla::anonymous_namespace{Rotfinder.cpp}::get_supportedness_score(), Slic3r::get_trapezoids2(), Slic3r::sla::halfcone(), Slic3r::GUI::Selection::init(), Slic3r::GUI::init_from_snap_radii(), Slic3r::GUI::GLGizmoCut3D::init_picking_models(), Slic3r::BridgeDetector::initialize(), Slic3r::sla::SupportTreeBuildsteps::interconnect_pillars(), Slic3r::GUI::GLGizmoCut3D::is_outside_of_cut_contour(), Slic3r::Geometry::is_rotation_ninety_degrees(), anonymous_namespace{TextLines.cpp}::its_create_torus(), Slic3r::its_make_cone(), Slic3r::its_make_cylinder(), Slic3r::its_make_frustum(), Slic3r::its_make_snap(), Slic3r::its_make_torus(), Slic3r::its_smooth_corner_normals(), Slic3r::lay_on_face_planes(), Slic3r::lay_on_face_rotation(), Slic3r::GUI::GLGizmoRotate::local_transform(), Slic3r::make_adaptive_tpms(), Slic3r::make_brim_ears(), Slic3r::make_brim_ears_auto(), Slic3r::make_cone(), Slic3r::make_cylinder(), Slic3r::make_pad_cfg(), Slic3r::GUI::GLGizmoBrimEars::make_polygon(), Slic3r::make_sphere(), Slic3r::make_support_cfg(), Slic3r::make_torus(), Slic3r::Flow::mm3_per_mm(), Slic3r::GUI::GLGizmoCut3D::mouse_position_in_local_plane(), Slic3r::GUI::GLGizmoRotate::mouse_position_in_local_plane(), Slic3r::Model::obj_import_vertex_color_deal(), Slic3r::GUI::GLGizmoRotate::on_dragging(), Slic3r::GUI::GLGizmoEmboss::on_init(), Slic3r::GUI::GLGizmoMove3D::on_init(), Slic3r::GUI::GLGizmoScale3D::on_init(), Slic3r::GUI::GLGizmoSVG::on_init(), Slic3r::GUI::GLCanvas3D::on_mouse(), Slic3r::GUI::GLGizmoEmboss::on_stop_dragging(), Slic3r::GUI::GLGizmoSVG::on_stop_dragging(), Slic3r::orientation::orient_for_cooling(), Slic3r::Line::orientation(), Slic3r::PlateData::parse_filament_info(), Slic3r::sla::pinhead(), Slic3r::process_connector_cut(), Slic3r::GCodeProcessor::process_G2_G3(), Slic3r::GCodeProcessor::UsedFilaments::process_role_cache(), Slic3r::Geometry::rad2deg(), Slic3r::Geometry::rad2deg_dir(), Slic3r::AdaptiveInfillField::radial(), AxisCtrlButton::render(), Slic3r::GUI::GLGizmoBase::Grabber::render(), Slic3r::GUI::GCodeViewer::render_all_plates_stats(), Slic3r::GUI::GLGizmoPainterBase::render_cursor_circle(), Slic3r::GUI::GLGizmoPainterBase::render_cursor_sphere(), Slic3r::GUI::GLGizmoCut3D::render_cut_plane_grabbers(), Slic3r::GUI::GLGizmoMeasure::render_dimensioning(), Slic3r::GUI::GLGizmoCut3D::render_rotation_snapping(), Slic3r::GUI::Selection::render_sidebar_position_hints(), Slic3r::GUI::Selection::render_sidebar_rotation_hints(), Slic3r::GUI::Selection::render_sidebar_scale_hints(), Slic3r::GUI::GLGizmoRotate::render_snap_radii(), Slic3r::reset_instance_transformation(), Slic3r::Flow::rounded_rectangle_extrusion_spacing(), Slic3r::Flow::rounded_rectangle_extrusion_width_from_spacing(), Slic3r::rounding_polygon(), Slic3r::WipeTower::rounding_polygon(), Slic3r::rounding_rectangle(), Slic3r::SeamPlacerImpl::sample_hemisphere_uniform(), Slic3r::SeamPlacerImpl::sample_power_cosine_hemisphere(), Slic3r::SeamPlacerImpl::sample_sphere_uniform(), Slic3r::sla::SupportTreeBuildsteps::search_widening_path(), Slic3r::segmentation_by_painting(), Slic3r::GUI::GLGizmoRotate::set_angle(), Slic3r::GUI::anonymous_namespace{SceneBenchmark.cpp}::SceneBenchmarkDialog::set_camera(), Slic3r::Geometry::Transformation::set_rotation(), Slic3r::GUI::GLGizmoMeasure::set_to_reverse_rotation(), Slic3r::sla::sphere(), Slic3r::GUI::stilized_arrow(), Slic3r::thick_polyline_to_extrusion_paths_2(), Slic3r::thick_polyline_to_multi_path(), Slic3r::Geometry::to_range_pi_pi(), Slic3r::Extruder::travel_slope(), Slic3r::GCodeWriter::travel_to_xyz(), Slic3r::ArcSegment::try_create_arc(), Slic3r::Geometry::VoronoiDiagram::try_to_repair_degenerated_voronoi_diagram(), Slic3r::GUI::GLGizmoCut3D::update_bb(), Slic3r::DoExport::update_print_estimated_stats(), Slic3r::GUI::GLGizmoCut3D::update_raycasters_for_picking_transform(), Slic3r::arrangement::update_selected_items_axis_align(), Slic3r::GUI::BedShapePanel::update_shape(), Slic3r::GUI::GLGizmoCut3D::validate_connector_settings(), Slic3r::Geometry::MedialAxis::validate_edge(), and Slic3r::wipe_on_loops_destination().

◆ RESOLUTION

double RESOLUTION = 0.0125
staticconstexpr

◆ SCALING_FACTOR

◆ SCALING_FACTOR_INTERNAL

double SCALING_FACTOR_INTERNAL = 0.000001
staticconstexpr

◆ SCALING_FACTOR_INTERNAL_LARGE_PRINTER

double SCALING_FACTOR_INTERNAL_LARGE_PRINTER = 0.00001
staticconstexpr

◆ SPARSE_INFILL_RESOLUTION

double SPARSE_INFILL_RESOLUTION = 0.04
staticconstexpr

◆ SUPPORT_RESOLUTION

double SUPPORT_RESOLUTION = 0.0375
staticconstexpr

◆ WIPE_TOWER_AUTO_MARGIN

◆ WIPE_TOWER_MARGIN