OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
Fill.cpp File Reference
#include <algorithm>
#include <assert.h>
#include <regex>
#include <cstdlib>
#include <cmath>
#include <iterator>
#include <math.h>
#include <set>
#include <map>
#include <stdio.h>
#include <memory>
#include <string>
#include <vector>
#include <queue>
#include <unordered_set>
#include <utility>
#include "../ClipperUtils.hpp"
#include "../Geometry.hpp"
#include "../Layer.hpp"
#include "../Print.hpp"
#include "../PrintConfig.hpp"
#include "../Surface.hpp"
#include <tbb/parallel_for.h>
#include "AABBTreeLines.hpp"
#include "libslic3r/Config.hpp"
#include "libslic3r/ExPolygon.hpp"
#include "libslic3r/BoundingBox.hpp"
#include "ExtrusionEntity.hpp"
#include "Fill.hpp"
#include "libslic3r/Fill/FillBase.hpp"
#include "FillAdaptive.hpp"
#include "FillRectilinear.hpp"
#include "FillLightning.hpp"
#include "FillConcentricInternal.hpp"
#include "FillTpmsD.hpp"
#include "FillTpmsFK.hpp"
#include "FillConcentric.hpp"
#include "libslic3r/Flow.hpp"
#include "libslic3r/Point.hpp"
#include "libslic3r/Line.hpp"
#include "libslic3r/Polygon.hpp"
#include "libslic3r/Polyline.hpp"
#include "libslic3r.h"
#include "libslic3r/ExtrusionEntityCollection.hpp"
#include "libslic3r/MultiMaterialSegmentation.hpp"
#include "libslic3r/Slicing.hpp"
#include "libslic3r/SurfaceCollection.hpp"
Include dependency graph for Fill.cpp:

Go to the source code of this file.

Classes

struct  Slic3r::SurfaceFillParams
struct  Slic3r::SurfaceFill
struct  Slic3r::LineNode
struct  Slic3r::LineNode::State

Namespaces

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

Macros

#define RETURN_COMPARE_NON_EQUAL(KEY)
#define RETURN_COMPARE_NON_EQUAL_TYPED(TYPE, KEY)

Typedefs

using Slic3r::LineNodes = std::vector<LineNode>

Functions

double Slic3r::calculate_infill_rotation_angle (const PrintObject *object, size_t layer_id, const double &fixed_infill_angle, const std::string &template_string)
static coord_t Slic3r::_MAX_LINE_LENGTH_TO_FILTER ()
bool Slic3r::are_lines_overlapping_in_y_axes (const Line &first_line, const Line &second_line)
bool Slic3r::can_line_note_be_removed (const LineNode &line_node)
void Slic3r::propagate_line_node_remove (const LineNode &line_node)
static std::vector< Lines > Slic3r::filter_vibrating_extrusions (const std::vector< Lines > &lines_sections)
void Slic3r::split_solid_surface (size_t layer_id, const SurfaceFill &fill, ExPolygons &normal_infill, ExPolygons &narrow_infill)
std::vector< SurfaceFill > Slic3r::group_fills (const Layer &layer, LockRegionParam &lock_param)
static int Slic3r::infill_body (const Layer &layer, const SurfaceFill &fill, const ExPolygon &expoly)

Variables

const constexpr size_t Slic3r::MAX_SKIPS_ALLOWED = 2
const constexpr size_t Slic3r::MIN_DEPTH_FOR_LINE_REMOVING = 5

Macro Definition Documentation

◆ RETURN_COMPARE_NON_EQUAL

#define RETURN_COMPARE_NON_EQUAL ( KEY)
Value:
if (this->KEY < rhs.KEY) return true; if (this->KEY > rhs.KEY) return false;

Referenced by Slic3r::Layer::make_ironing(), and Slic3r::SurfaceFillParams::operator<().

◆ RETURN_COMPARE_NON_EQUAL_TYPED

#define RETURN_COMPARE_NON_EQUAL_TYPED ( TYPE,
KEY )
Value:
if (TYPE(this->KEY) < TYPE(rhs.KEY)) return true; if (TYPE(this->KEY) > TYPE(rhs.KEY)) return false;

Referenced by Slic3r::SurfaceFillParams::operator<().