OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
WipeTower2.cpp File Reference
#include "WipeTower2.hpp"
#include <algorithm>
#include <Eigen/Geometry>
#include <cassert>
#include <cmath>
#include <cstdlib>
#include <cstddef>
#include <cstdio>
#include <iostream>
#include <map>
#include <string>
#include <math.h>
#include <limits>
#include <utility>
#include <vector>
#include <numeric>
#include <memory>
#include <sstream>
#include <iomanip>
#include "libslic3r/Circle.hpp"
#include "libslic3r/ArcFitter.hpp"
#include "ClipperUtils.hpp"
#include "libslic3r/ExtrusionEntity.hpp"
#include "libslic3r/GCode/WipeTower.hpp"
#include "libslic3r/ExPolygon.hpp"
#include "libslic3r/Fill/FillBase.hpp"
#include "GCodeProcessor.hpp"
#include "BoundingBox.hpp"
#include "libslic3r/Line.hpp"
#include "LocalesUtils.hpp"
#include "Geometry.hpp"
#include "libslic3r/Polygon.hpp"
#include "libslic3r/Point.hpp"
#include "libslic3r/Polyline.hpp"
#include "PrintConfig.hpp"
#include "Surface.hpp"
#include "libslic3r/libslic3r.h"
#include <boost/algorithm/string/predicate.hpp>
#include "libslic3r/Config.hpp"
Include dependency graph for WipeTower2.cpp:

Go to the source code of this file.

Classes

struct  Slic3r::Segment
class  Slic3r::WipeTowerWriter2

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 SCALED_WIPE_TOWER_RESOLUTION   (WIPE_TOWER_RESOLUTION / SCALING_FACTOR_INTERNAL)

Enumerations

enum class  Slic3r::LimitFlow {
  Slic3r::None , Slic3r::LimitPrintFlow , Slic3r::LimitRammingFlow , Slic3r::LimitRammingFlowNC ,
  Slic3r::None , Slic3r::LimitPrintFlow , Slic3r::LimitRammingFlow
}

Functions

float Slic3r::align_round (float value, float base)
float Slic3r::align_ceil (float value, float base)
float Slic3r::align_floor (float value, float base)
static bool Slic3r::is_valid_gcode (const std::string &gcode)
Polygon Slic3r::chamfer_polygon (Polygon &polygon, double chamfer_dis=2., double angle_tol=30./180. *PI)
static Polygon Slic3r::rounding_polygon (Polygon &polygon, double rounding=2., double angle_tol=30./180. *PI)
Polygon Slic3r::rounding_rectangle (Polygon &polygon, double rounding=2., double angle_tol=30./180. *PI)
Polygon Slic3r::scale_polygon (const std::vector< Vec2f > &points)
std::vector< Vec2f > Slic3r::unscale_polygon (const Polygon &polygon)
Polygon Slic3r::generate_rectange (const Line &line, coord_t offset)
Polygon Slic3r::generate_rectange_polygon (const Vec2f &wt_box_min, const Vec2f &wt_box_max)
static float Slic3r::volume_to_length (float volume, float line_width, float layer_height)
static float Slic3r::length_to_volume (float length, float line_width, float layer_height)
static float Slic3r::get_wipe_depth (float volume, float layer_height, float perimeter_width, float extra_flow, float extra_spacing, float width)
static WipeTower::ToolChangeResult Slic3r::merge_tcr (WipeTower::ToolChangeResult &first, WipeTower::ToolChangeResult &second)

Variables

static const double Slic3r::wipe_tower_wall_infill_overlap = 0.0
static constexpr double Slic3r::WIPE_TOWER_RESOLUTION = 0.1
static constexpr double Slic3r::WT_SIMPLIFY_TOLERANCE_SCALED = 0.001f / SCALING_FACTOR_INTERNAL
static constexpr int Slic3r::arc_fit_size = 20
static const std::map< float, float > Slic3r::nozzle_diameter_to_nozzle_change_width {{0.2f, 0.5f}, {0.4f, 1.0f}, {0.6f, 1.2f}, {0.8f, 1.4f}}

Macro Definition Documentation

◆ SCALED_WIPE_TOWER_RESOLUTION

#define SCALED_WIPE_TOWER_RESOLUTION   (WIPE_TOWER_RESOLUTION / SCALING_FACTOR_INTERNAL)