OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
PartPlate.cpp File Reference
#include <array>
#include <cassert>
#include <cmath>
#include <boost/algorithm/string/erase.hpp>
#include <boost/algorithm/string/split.hpp>
#include <boost/algorithm/string/classification.hpp>
#include <cstddef>
#include <algorithm>
#include "libslic3r/Color.hpp"
#include "libslic3r/Point.hpp"
#include "libslic3r/Config.hpp"
#include "libslic3r/PrintConfig.hpp"
#include "libslic3r/Line.hpp"
#include "libslic3r/Polyline.hpp"
#include "libslic3r/ExPolygon.hpp"
#include <functional>
#include <iterator>
#include "libslic3r/BuildVolume.hpp"
#include "libslic3r/GCode/WipeTower.hpp"
#include "libslic3r/CustomGCode.hpp"
#include "libslic3r/GCode/GCodeProcessor.hpp"
#include "libslic3r/GCode/GCodeStatistics.hpp"
#include <ios>
#include <iomanip>
#include "libslic3r/Arrange.hpp"
#include "libslic3r/PrintBase.hpp"
#include "libslic3r/Model.hpp"
#include "libslic3r/format.hpp"
#include <cstring>
#include <exception>
#include "libslic3r/ParameterUtils.hpp"
#include <imgui.h>
#include "libslic3r/Format/bbs_3mf.hpp"
#include "libslic3r/Print.hpp"
#include "libslic3r/LocalesUtils.hpp"
#include <cstdlib>
#include <limits>
#include <memory>
#include <map>
#include <mutex>
#include <numeric>
#include "slic3r/GUI/ImGuiWrapper.hpp"
#include <optional>
#include <tuple>
#include <utility>
#include "slic3r/GUI/MeshUtils.hpp"
#include "slic3r/GUI/GLTexture.hpp"
#include "slic3r/GUI/GLShader.hpp"
#include "slic3r/GUI/OpenGLManager.hpp"
#include "slic3r/GUI/SceneRaycaster.hpp"
#include <set>
#include <unordered_map>
#include <unordered_set>
#include "slic3r/GUI/3DScene.hpp"
#include "slic3r/GUI/Plater.hpp"
#include "slic3r/GUI/GUI_ObjectLayers.hpp"
#include <vector>
#include <string>
#include <sstream>
#include <regex>
#include "libslic3r/MultiNozzleUtils.hpp"
#include "libslic3r/FilamentMixer.hpp"
#include <future>
#include <glad/gl.h>
#include <boost/algorithm/string.hpp>
#include <boost/filesystem/path.hpp>
#include <boost/filesystem/operations.hpp>
#include <boost/log/trivial.hpp>
#include <boost/nowide/convert.hpp>
#include <boost/nowide/cstdio.hpp>
#include <boost/nowide/fstream.hpp>
#include <boost/algorithm/string/predicate.hpp>
#include "libslic3r/libslic3r.h"
#include "libslic3r/Polygon.hpp"
#include "libslic3r/GCode/WipeTowerEstimate.hpp"
#include "libslic3r/ClipperUtils.hpp"
#include "libslic3r/BoundingBox.hpp"
#include "libslic3r/ExclusionVolumeGeometry.hpp"
#include "libslic3r/Tesselate.hpp"
#include "libslic3r/Geometry.hpp"
#include "libslic3r/GCode/ThumbnailData.hpp"
#include "libslic3r/IMEXHelpers.hpp"
#include "libslic3r/IMEXZones.hpp"
#include "libslic3r/Utils.hpp"
#include "libslic3r/LifecycleEvents.hpp"
#include "I18N.hpp"
#include "GUI_App.hpp"
#include "libslic3r/AppConfig.hpp"
#include "libslic3r/PresetBundle.hpp"
#include "BackgroundSlicingProcess.hpp"
#include "Widgets/Label.hpp"
#include "2DBed.hpp"
#include "3DBed.hpp"
#include "PartPlate.hpp"
#include "Camera.hpp"
#include "GUI_Colors.hpp"
#include "GUI_ObjectList.hpp"
#include "Tab.hpp"
#include "format.hpp"
#include "slic3r/GUI/GUI.hpp"
#include "slic3r/Utils/FileHelp.hpp"
#include <imgui/imgui_internal.h>
#include <wx/colour.h>
#include <wx/dcgraph.h>
#include <wx/string.h>
#include <wx/types.h>
#include <wx/dcmemory.h>
#include <wx/intl.h>
#include <wx/event.h>
#include <wx/image.h>
#include <wx/gdicmn.h>
#include "libslic3r/ObjectID.hpp"
#include "libslic3r/Preset.hpp"
#include "libslic3r/SLA/Pad.hpp"
#include "libslic3r/TriangleMesh.hpp"
#include "slic3r/GUI/GLCanvas3D.hpp"
#include "slic3r/GUI/GLModel.hpp"
#include <nlohmann/json.hpp>

Go to the source code of this file.

Classes

struct  Slic3r::GUI::ExclusionVolumePrismPreview

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

Functions

void Slic3r::GUI::get_text_extent (const wxString &msg, wxCoord &w, wxCoord &h, wxFont *font)
wxFont * Slic3r::GUI::find_font (const std::string &text_str, int max_size=32)
static bool Slic3r::GUI::init_model_from_lines (GLModel &model, const Lines &lines, float z)
static void Slic3r::GUI::register_model_for_picking (GLCanvas3D &canvas, PickingModel &model, int id)
static bool Slic3r::GUI::init_model_from_lines (GLModel &model, const Lines3 &lines)
static ExPolygon Slic3r::GUI::expolygon_from_polygon (const Polygon &polygon)
static void Slic3r::GUI::append_expolygon_triangles (GLModel::Geometry &init_data, const ExPolygon &expolygon, float z)
static bool Slic3r::GUI::init_model_from_polygons (GLModel &model, const Polygons &polygons, float z)
static bool Slic3r::GUI::init_model_from_expolygons (GLModel &model, const ExPolygons &expolygons, float z)
static bool Slic3r::GUI::init_exclusion_volume_prism_model (GLModel &model, const std::vector< ExclusionVolumePrismPreview > &prisms)
static void Slic3r::GUI::init_raycaster_from_model (PickingModel &model)
static GLint Slic3r::GUI::logo_texture_size ()
static bool Slic3r::GUI::load_next_part_texture (PartPlateList::BedTextureInfo *infos, size_t count, size_t &next, bool compress_and_filter)

Variables

static const float GROUND_Z = -0.03f
static const float GROUND_Z_GRIDLINE = -0.26f
static const float GRABBER_X_FACTOR = 0.20f
static const float GRABBER_Y_FACTOR = 0.03f
static const float GRABBER_Z_VALUE = 0.5f
static unsigned int GLOBAL_PLATE_INDEX = 0
static const double LOGICAL_PART_PLATE_GAP = 1. / 5.
static const int PARTPLATE_ICON_SIZE = 16
static const int PARTPLATE_EDIT_PLATE_NAME_ICON_SIZE = 9
static const int PARTPLATE_ICON_GAP_TOP = 3
static const int PARTPLATE_ICON_GAP_LEFT = 3
static const int PARTPLATE_ICON_GAP_Y = 5
static const int PARTPLATE_TEXT_OFFSET_X1 = 3
static const int PARTPLATE_TEXT_OFFSET_X2 = 1
static const int PARTPLATE_TEXT_OFFSET_Y = 1
static const int PARTPLATE_PLATENAME_OFFSET_Y = 10
const float WIPE_TOWER_DEFAULT_X_POS = 165.
const float WIPE_TOWER_DEFAULT_Y_POS = 250.
const float N9_WIPE_TOWER_DEFAULT_Y_POS = 160.
const float I3_WIPE_TOWER_DEFAULT_X_POS = 0.
const float I3_WIPE_TOWER_DEFAULT_Y_POS = 250.
std::array< unsigned char, 4 > PlateTextureForeground = {0x0, 0xae, 0x42, 0xff}
static constexpr float Slic3r::GUI::IMEX_GHOST_ALPHA = 0.55f

Class Documentation

◆ Slic3r::GUI::ExclusionVolumePrismPreview

struct Slic3r::GUI::ExclusionVolumePrismPreview
Collaboration diagram for Slic3r::GUI::ExclusionVolumePrismPreview:
Class Members
Polygon footprint
double z_max { 0.0 }
double z_min { 0.0 }

Variable Documentation

◆ GLOBAL_PLATE_INDEX

unsigned int GLOBAL_PLATE_INDEX = 0
static

◆ GRABBER_X_FACTOR

const float GRABBER_X_FACTOR = 0.20f
static

◆ GRABBER_Y_FACTOR

const float GRABBER_Y_FACTOR = 0.03f
static

◆ GRABBER_Z_VALUE

const float GRABBER_Z_VALUE = 0.5f
static

◆ GROUND_Z

const float GROUND_Z = -0.03f
static

◆ GROUND_Z_GRIDLINE

const float GROUND_Z_GRIDLINE = -0.26f
static

◆ I3_WIPE_TOWER_DEFAULT_X_POS

const float I3_WIPE_TOWER_DEFAULT_X_POS = 0.

◆ I3_WIPE_TOWER_DEFAULT_Y_POS

const float I3_WIPE_TOWER_DEFAULT_Y_POS = 250.

◆ LOGICAL_PART_PLATE_GAP

◆ N9_WIPE_TOWER_DEFAULT_Y_POS

const float N9_WIPE_TOWER_DEFAULT_Y_POS = 160.

◆ PARTPLATE_EDIT_PLATE_NAME_ICON_SIZE

const int PARTPLATE_EDIT_PLATE_NAME_ICON_SIZE = 9
static

◆ PARTPLATE_ICON_GAP_LEFT

◆ PARTPLATE_ICON_GAP_TOP

◆ PARTPLATE_ICON_GAP_Y

◆ PARTPLATE_ICON_SIZE

◆ PARTPLATE_PLATENAME_OFFSET_Y

const int PARTPLATE_PLATENAME_OFFSET_Y = 10
static

◆ PARTPLATE_TEXT_OFFSET_X1

const int PARTPLATE_TEXT_OFFSET_X1 = 3
static

◆ PARTPLATE_TEXT_OFFSET_X2

const int PARTPLATE_TEXT_OFFSET_X2 = 1
static

◆ PARTPLATE_TEXT_OFFSET_Y

◆ PlateTextureForeground

std::array<unsigned char, 4> PlateTextureForeground = {0x0, 0xae, 0x42, 0xff}
150{0x0, 0xae, 0x42, 0xff};

◆ WIPE_TOWER_DEFAULT_X_POS

const float WIPE_TOWER_DEFAULT_X_POS = 165.

◆ WIPE_TOWER_DEFAULT_Y_POS

const float WIPE_TOWER_DEFAULT_Y_POS = 250.