mirror of
https://github.com/QIDITECH/QIDISlicer.git
synced 2026-02-04 01:48:44 +03:00
QIDISlicer1.0.0
This commit is contained in:
66
src/libslic3r/Format/AnycubicSLA.hpp
Normal file
66
src/libslic3r/Format/AnycubicSLA.hpp
Normal file
@@ -0,0 +1,66 @@
|
||||
#ifndef _SLIC3R_FORMAT_PWMX_HPP_
|
||||
#define _SLIC3R_FORMAT_PWMX_HPP_
|
||||
|
||||
#include <string>
|
||||
|
||||
#include "SLAArchiveWriter.hpp"
|
||||
#include "SLAArchiveFormatRegistry.hpp"
|
||||
|
||||
#include "libslic3r/PrintConfig.hpp"
|
||||
|
||||
constexpr uint16_t ANYCUBIC_SLA_FORMAT_VERSION_1 = 1;
|
||||
constexpr uint16_t ANYCUBIC_SLA_FORMAT_VERSION_515 = 515;
|
||||
constexpr uint16_t ANYCUBIC_SLA_FORMAT_VERSION_516 = 516;
|
||||
constexpr uint16_t ANYCUBIC_SLA_FORMAT_VERSION_517 = 517;
|
||||
|
||||
namespace Slic3r {
|
||||
|
||||
class AnycubicSLAArchive: public SLAArchiveWriter {
|
||||
SLAPrinterConfig m_cfg;
|
||||
uint16_t m_version;
|
||||
|
||||
protected:
|
||||
std::unique_ptr<sla::RasterBase> create_raster() const override;
|
||||
sla::RasterEncoder get_encoder() const override;
|
||||
|
||||
SLAPrinterConfig & cfg() { return m_cfg; }
|
||||
const SLAPrinterConfig & cfg() const { return m_cfg; }
|
||||
|
||||
public:
|
||||
|
||||
AnycubicSLAArchive() = default;
|
||||
explicit AnycubicSLAArchive(const SLAPrinterConfig &cfg):
|
||||
m_cfg(cfg), m_version(ANYCUBIC_SLA_FORMAT_VERSION_1) {}
|
||||
explicit AnycubicSLAArchive(SLAPrinterConfig &&cfg):
|
||||
m_cfg(std::move(cfg)), m_version(ANYCUBIC_SLA_FORMAT_VERSION_1) {}
|
||||
|
||||
explicit AnycubicSLAArchive(const SLAPrinterConfig &cfg, uint16_t version):
|
||||
m_cfg(cfg), m_version(version) {}
|
||||
explicit AnycubicSLAArchive(SLAPrinterConfig &&cfg, uint16_t version):
|
||||
m_cfg(std::move(cfg)), m_version(version) {}
|
||||
|
||||
void export_print(const std::string fname,
|
||||
const SLAPrint &print,
|
||||
const ThumbnailsList &thumbnails,
|
||||
const std::string &projectname = "") override;
|
||||
};
|
||||
|
||||
inline Slic3r::ArchiveEntry anycubic_sla_format_versioned(const char *fileformat, const char *desc, uint16_t version)
|
||||
{
|
||||
Slic3r::ArchiveEntry entry(fileformat);
|
||||
|
||||
entry.desc = desc;
|
||||
entry.ext = fileformat;
|
||||
entry.wrfactoryfn = [version] (const auto &cfg) { return std::make_unique<AnycubicSLAArchive>(cfg, version); };
|
||||
|
||||
return entry;
|
||||
}
|
||||
|
||||
inline Slic3r::ArchiveEntry anycubic_sla_format(const char *fileformat, const char *desc)
|
||||
{
|
||||
return anycubic_sla_format_versioned(fileformat, desc, ANYCUBIC_SLA_FORMAT_VERSION_1);
|
||||
}
|
||||
|
||||
} // namespace Slic3r::sla
|
||||
|
||||
#endif // _SLIC3R_FORMAT_PWMX_HPP_
|
||||
Reference in New Issue
Block a user