OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
Arrange.hpp File Reference
#include "ExPolygon.hpp"
#include "Point.hpp"
#include "Polygon.hpp"
#include "PrintConfig.hpp"
#include "Print.hpp"
#include <cmath>
#include "libslic3r.h"
#include <vector>
#include <string>
#include <functional>
#include <iostream>
#include <ostream>
Include dependency graph for Arrange.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Slic3r::arrangement::CircleBed
 A geometry abstraction for a circular print bed. Similarly to BoundingBox. More...
struct  Slic3r::arrangement::InfiniteBed
 Representing an unbounded bed. More...
struct  Slic3r::arrangement::ArrangePolygon
 Input/Output structure for the arrange() function. The poly field will not be modified during arrangement. Instead, the translation and rotation fields will mark the needed transformation for the polygon to be in the arranged position. These can also be set to an initial offset and rotation. More...
struct  Slic3r::arrangement::ArrangeParams

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::arrangement

Macros

#define BED_SHRINK_SEQ_PRINT   5

Typedefs

using Slic3r::arrangement::ArrangePolygons = std::vector<ArrangePolygon>

Functions

void Slic3r::arrangement::update_arrange_params (ArrangeParams &params, const DynamicPrintConfig *print_cfg, const ArrangePolygons &selected)
void Slic3r::arrangement::update_selected_items_inflation (ArrangePolygons &selected, const DynamicPrintConfig *print_cfg, ArrangeParams &params)
void Slic3r::arrangement::update_unselected_items_inflation (ArrangePolygons &unselected, const DynamicPrintConfig *print_cfg, const ArrangeParams &params)
void Slic3r::arrangement::update_selected_items_axis_align (ArrangePolygons &selected, const DynamicPrintConfig *print_cfg, const ArrangeParams &params)
bool Slic3r::arrangement::has_bed_exclusion_regions (const ArrangePolygons &polygons)
bool Slic3r::arrangement::bed_exclusion_applies (const ArrangePolygon &item, const ArrangePolygon &fixed_item)
Points Slic3r::arrangement::get_shrink_bedpts (const DynamicPrintConfig *print_cfg, const ArrangeParams &params)
template<class TBed>
void Slic3r::arrangement::arrange (ArrangePolygons &items, const ArrangePolygons &excludes, const TBed &bed, const ArrangeParams &params={})
 Arranges the input polygons.
template<>
void Slic3r::arrangement::arrange (ArrangePolygons &items, const ArrangePolygons &excludes, const Points &bed, const ArrangeParams &params)
template void Slic3r::arrangement::arrange (ArrangePolygons &items, const ArrangePolygons &excludes, const BoundingBox &bed, const ArrangeParams &params)
template void Slic3r::arrangement::arrange (ArrangePolygons &items, const ArrangePolygons &excludes, const CircleBed &bed, const ArrangeParams &params)
template void Slic3r::arrangement::arrange (ArrangePolygons &items, const ArrangePolygons &excludes, const Polygon &bed, const ArrangeParams &params)
template void Slic3r::arrangement::arrange (ArrangePolygons &items, const ArrangePolygons &excludes, const InfiniteBed &bed, const ArrangeParams &params)
void Slic3r::arrangement::arrange (ArrangePolygons &items, const Points &bed, const ArrangeParams &params={})
void Slic3r::arrangement::arrange (ArrangePolygons &items, const BoundingBox &bed, const ArrangeParams &params={})
void Slic3r::arrangement::arrange (ArrangePolygons &items, const CircleBed &bed, const ArrangeParams &params={})
void Slic3r::arrangement::arrange (ArrangePolygons &items, const Polygon &bed, const ArrangeParams &params={})
void Slic3r::arrangement::arrange (ArrangePolygons &items, const InfiniteBed &bed, const ArrangeParams &params={})

Variables

static const constexpr int Slic3r::arrangement::UNARRANGED = -1
 A logical bed representing an object not being arranged. Either the arrange has not yet successfully run on this ArrangePolygon or it could not fit the object due to overly large size or invalid geometry.

Macro Definition Documentation

◆ BED_SHRINK_SEQ_PRINT

#define BED_SHRINK_SEQ_PRINT   5