Prusa Slicer 2.6.0
Loading...
Searching...
No Matches
Slic3r::SLAArchiveWriter Class Referenceabstract

#include <src/libslic3r/Format/SLAArchiveWriter.hpp>

+ Inheritance diagram for Slic3r::SLAArchiveWriter:
+ Collaboration diagram for Slic3r::SLAArchiveWriter:

Public Member Functions

virtual ~SLAArchiveWriter ()=default
 
template<class Fn , class CancelFn , class EP = ExecutionTBB>
void draw_layers (size_t layer_num, Fn &&drawfn, CancelFn cancelfn=[]() { return false;}, const EP &ep={})
 
virtual void export_print (const std::string fname, const SLAPrint &print, const ThumbnailsList &thumbnails, const std::string &projectname="")=0
 

Static Public Member Functions

static std::unique_ptr< SLAArchiveWritercreate (const std::string &archtype, const SLAPrinterConfig &)
 

Protected Member Functions

virtual std::unique_ptr< sla::RasterBasecreate_raster () const =0
 
virtual sla::RasterEncoder get_encoder () const =0
 

Protected Attributes

std::vector< sla::EncodedRasterm_layers
 

Detailed Description

Constructor & Destructor Documentation

◆ ~SLAArchiveWriter()

virtual Slic3r::SLAArchiveWriter::~SLAArchiveWriter ( )
virtualdefault

Member Function Documentation

◆ create()

std::unique_ptr< SLAArchiveWriter > Slic3r::SLAArchiveWriter::create ( const std::string &  archtype,
const SLAPrinterConfig cfg 
)
static
8{
9 std::unique_ptr<SLAArchiveWriter> ret;
10 auto factory = get_writer_factory(archtype.c_str());
11
12 if (factory)
13 ret = factory(cfg);
14
15 return ret;
16}
ArchiveWriterFactory get_writer_factory(const char *formatid)
Definition SLAArchiveFormatRegistry.cpp:111

References Slic3r::get_writer_factory().

Referenced by Slic3r::SLAPrint::apply().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ create_raster()

virtual std::unique_ptr< sla::RasterBase > Slic3r::SLAArchiveWriter::create_raster ( ) const
protectedpure virtual

◆ draw_layers()

template<class Fn , class CancelFn , class EP = ExecutionTBB>
void Slic3r::SLAArchiveWriter::draw_layers ( size_t  layer_num,
Fn &&  drawfn,
CancelFn  cancelfn = []() { return false; },
const EP &  ep = {} 
)
inline
30 { return false; },
31 const EP & ep = {})
32 {
33 m_layers.resize(layer_num);
35 ep, size_t(0), m_layers.size(),
36 [this, &drawfn, &cancelfn](size_t idx) {
37 if (cancelfn()) return;
38
39 sla::EncodedRaster &enc = m_layers[idx];
40 auto rst = create_raster();
41 drawfn(*rst, idx);
42 enc = rst->encode(get_encoder());
43 },
45 }
std::vector< sla::EncodedRaster > m_layers
Definition SLAArchiveWriter.hpp:17
void for_each(const EP &ep, It from, It to, Fn &&fn, size_t granularity=1)
Definition Execution.hpp:46
size_t max_concurrency(const EP &ep)
Definition Execution.hpp:38

◆ export_print()

virtual void Slic3r::SLAArchiveWriter::export_print ( const std::string  fname,
const SLAPrint print,
const ThumbnailsList thumbnails,
const std::string &  projectname = "" 
)
pure virtual

◆ get_encoder()

virtual sla::RasterEncoder Slic3r::SLAArchiveWriter::get_encoder ( ) const
protectedpure virtual

Member Data Documentation

◆ m_layers

std::vector<sla::EncodedRaster> Slic3r::SLAArchiveWriter::m_layers
protected

The documentation for this class was generated from the following files: