OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
ModelArrange.hpp File Reference
#include <functional>
#include <cstddef>
#include <libslic3r/Arrange.hpp>
#include <vector>
#include "Exception.hpp"
#include <string>
#include "Point.hpp"
#include "libslic3r/PrintConfig.hpp"
#include "libslic3r/Model.hpp"
Include dependency graph for ModelArrange.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Slic3r::PtrWrapper< T >
struct  Slic3r::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::ArrangeParams
struct  Slic3r::InfiniteBed
 Representing an unbounded bed. More...
class  Slic3r::CircleBed
 A geometry abstraction for a circular print bed. Similarly to BoundingBox. More...

Namespaces

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

Typedefs

using Slic3r::VirtualBedFn = std::function<void(arrangement::ArrangePolygon&)>
using Slic3r::ArrangePolygons

Functions

void Slic3r::throw_if_out_of_bed (arrangement::ArrangePolygon &ap)
arrangement::ArrangePolygons Slic3r::get_arrange_polys (const Model &model, ModelInstancePtrs &instances)
Slic3r::arrangement::ArrangePolygon Slic3r::get_arrange_poly (const Model &model)
bool Slic3r::apply_arrange_polys (ArrangePolygons &input, ModelInstancePtrs &instances, VirtualBedFn vfn)
void Slic3r::duplicate (Model &model, Slic3r::arrangement::ArrangePolygons &copies, VirtualBedFn vfn)
void Slic3r::duplicate_objects (Model &model, size_t copies_num)
template<class TBed>
bool Slic3r::arrange_objects (Model &model, const TBed &bed, const ArrangeParams &params, VirtualBedFn vfn=throw_if_out_of_bed)
template<class TBed>
void Slic3r::duplicate (Model &model, size_t copies_num, const TBed &bed, const ArrangeParams &params, VirtualBedFn vfn=throw_if_out_of_bed)
template<class TBed>
void Slic3r::duplicate_objects (Model &model, size_t copies_num, const TBed &bed, const ArrangeParams &params, VirtualBedFn vfn=throw_if_out_of_bed)
template<class T>
arrangement::ArrangePolygon Slic3r::get_arrange_poly (T obj, const Slic3r::DynamicPrintConfig &config)
template<>
arrangement::ArrangePolygon Slic3r::get_arrange_poly (ModelInstance *inst, const DynamicPrintConfig &config)
ArrangePolygon Slic3r::get_instance_arrange_poly (ModelInstance *instance, const Slic3r::DynamicPrintConfig &config)