OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
GLCanvas3D.hpp File Reference
#include "libslic3r/Point.hpp"
#include "libslic3r/ConnectedBodies.hpp"
#include "libslic3r/GCode/GCodeProcessor.hpp"
#include "libslic3r/TriangleMesh.hpp"
#include "slic3r/GUI/3DScene.hpp"
#include <cstdlib>
#include <imgui.h>
#include <map>
#include <cmath>
#include "libslic3r/Geometry.hpp"
#include "libslic3r/BoundingBox.hpp"
#include <array>
#include "libslic3r/Config.hpp"
#include "libslic3r/Polygon.hpp"
#include "libslic3r/Technologies.hpp"
#include "libslic3r/Model.hpp"
#include "libvgcode/include/Types.hpp"
#include "libslic3r/libslic3r.h"
#include "libslic3r/Line.hpp"
#include <stddef.h>
#include <functional>
#include <memory>
#include <chrono>
#include <cstdint>
#include <optional>
#include "GLToolbar.hpp"
#include "Event.hpp"
#include "Selection.hpp"
#include "Gizmos/GLGizmosManager.hpp"
#include "GUI_ObjectLayers.hpp"
#include "GLSelectionRectangle.hpp"
#include "GLModel.hpp"
#include "MeshUtils.hpp"
#include "GCodeViewer.hpp"
#include "Camera.hpp"
#include "SceneRaycaster.hpp"
#include "SceneCache.hpp"
#include "FrameProfiler.hpp"
#include "IMToolbar.hpp"
#include "slic3r/GUI/3DBed.hpp"
#include "libslic3r/Slicing.hpp"
#include <float.h>
#include <wx/setup.h>
#include <wx/event.h>
#include <utility>
#include <vector>
#include <string>
#include <wx/string.h>
#include <wx/colour.h>
#include <wx/time.h>
#include <wx/timer.h>

Go to the source code of this file.

Classes

class  Slic3r::GUI::Size
class  Slic3r::GUI::RenderTimerEvent
class  Slic3r::GUI::ToolbarHighlighterTimerEvent
class  Slic3r::GUI::GizmoHighlighterTimerEvent
class  Slic3r::GUI::GLCanvas3D
class  Slic3r::GUI::GLCanvas3D::LayersEditing
struct  Slic3r::GUI::GLCanvas3D::LayersEditing::LayersTexture
struct  Slic3r::GUI::GLCanvas3D::LayersEditing::Profile
struct  Slic3r::GUI::GLCanvas3D::Mouse
struct  Slic3r::GUI::GLCanvas3D::Mouse::Drag
struct  Slic3r::GUI::GLCanvas3D::SlaCap
struct  Slic3r::GUI::GLCanvas3D::SlaCap::Triangles
class  Slic3r::GUI::GLCanvas3D::RenderStats
class  Slic3r::GUI::GLCanvas3D::Labels
class  Slic3r::GUI::GLCanvas3D::CenterOfMass
struct  Slic3r::GUI::GLCanvas3D::CenterOfMass::Marker
struct  Slic3r::GUI::GLCanvas3D::CenterOfMass::Bodies
struct  Slic3r::GUI::GLCanvas3D::CenterOfMass::Bodies::Volume
struct  Slic3r::GUI::GLCanvas3D::CenterOfMass::Pick
class  Slic3r::GUI::GLCanvas3D::Tooltip
class  Slic3r::GUI::GLCanvas3D::Slope
class  Slic3r::GUI::GLCanvas3D::RenderTimer
class  Slic3r::GUI::GLCanvas3D::ToolbarHighlighterTimer
class  Slic3r::GUI::GLCanvas3D::GizmoHighlighterTimer
struct  Slic3r::GUI::GLCanvas3D::ArrangeSettings
struct  Slic3r::GUI::GLCanvas3D::OrientSettings
struct  Slic3r::GUI::GLCanvas3D::SectionView
struct  Slic3r::GUI::GLCanvas3D::KeyDown
struct  Slic3r::GUI::GLCanvas3D::SelectionEdit
class  Slic3r::GUI::GLCanvas3D::SequentialPrintClearance
struct  Slic3r::GUI::GLCanvas3D::ToolbarHighlighter
struct  Slic3r::GUI::GLCanvas3D::GizmoHighlighter
class  Slic3r::GUI::GLCanvas3D::WipeTowerInfo

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
namespace  libvgcode
 |/ Copyright (c) Prusa Research 2023 Enrico Turri @enricoturri1966, Pavel Mikuš @Godrak |/ |/ libvgcode is released under the terms of the AGPLv3 or higher |/
namespace  Slic3r::CustomGCode

Macros

#define ENABLE_RETINA_GL   (__APPLE__ || __WXGTK3__)

Typedefs

using Slic3r::GUI::RBtnEvent = Event<std::pair<Vec2d, bool>>
using Slic3r::GUI::RBtnPlateEvent = Event<std::pair<Vec2d, int>>
template<size_t N>
using Slic3r::GUI::Vec3dsEvent = ArrayEvent<Vec3d, N>
using Slic3r::GUI::HeightProfileSmoothEvent = Event<HeightProfileSmoothingParams>

Functions

 Slic3r::GUI::wxDECLARE_EVENT (EVT_GLCANVAS_OBJECT_SELECT, SimpleEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_GLCANVAS_PLATE_NAME_CHANGE, SimpleEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_GLCANVAS_PLATE_SELECT, SimpleEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_GLCANVAS_SCHEDULE_BACKGROUND_PROCESS, SimpleEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_GLCANVAS_RIGHT_CLICK, RBtnEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_GLCANVAS_PLATE_RIGHT_CLICK, RBtnPlateEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_GLCANVAS_REMOVE_OBJECT, SimpleEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_GLCANVAS_ARRANGE, SimpleEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_GLCANVAS_ARRANGE_PARTPLATE, SimpleEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_GLCANVAS_ORIENT, SimpleEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_GLCANVAS_ORIENT_PARTPLATE, SimpleEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_GLCANVAS_SELECT_CURR_PLATE_ALL, SimpleEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_GLCANVAS_SELECT_ALL, SimpleEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_GLCANVAS_QUESTION_MARK, SimpleEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_GLCANVAS_INCREASE_INSTANCES, Event< int >)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_GLCANVAS_INSTANCE_MOVED, SimpleEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_GLCANVAS_FORCE_UPDATE, SimpleEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_GLCANVAS_INSTANCE_ROTATED, SimpleEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_GLCANVAS_INSTANCE_SCALED, SimpleEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_GLCANVAS_ENABLE_ACTION_BUTTONS, Event< bool >)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_GLCANVAS_UPDATE_GEOMETRY, Vec3dsEvent< 2 >)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_GLCANVAS_MOUSE_DRAGGING_STARTED, SimpleEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_GLCANVAS_MOUSE_DRAGGING_FINISHED, SimpleEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_GLCANVAS_UPDATE_BED_SHAPE, SimpleEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_GLCANVAS_TAB, SimpleEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_GLCANVAS_RESETGIZMOS, SimpleEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_GLCANVAS_UNDO, SimpleEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_GLCANVAS_REDO, SimpleEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_GLCANVAS_SWITCH_TO_OBJECT, SimpleEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_GLCANVAS_SWITCH_TO_GLOBAL, SimpleEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_GLCANVAS_COLLAPSE_SIDEBAR, SimpleEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_GLCANVAS_RELOAD_FROM_DISK, SimpleEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_GLCANVAS_RENDER_TIMER, wxTimerEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_GLCANVAS_TOOLBAR_HIGHLIGHTER_TIMER, wxTimerEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_GLCANVAS_GIZMO_HIGHLIGHTER_TIMER, wxTimerEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_GLCANVAS_UPDATE, SimpleEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_CUSTOMEVT_TICKSCHANGED, wxCommandEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_GLCANVAS_RESET_LAYER_HEIGHT_PROFILE, SimpleEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_GLCANVAS_ADAPTIVE_LAYER_HEIGHT_PROFILE, Event< float >)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_GLCANVAS_SMOOTH_LAYER_HEIGHT_PROFILE, HeightProfileSmoothEvent)
 Slic3r::GUI::wxDECLARE_EVENT (EVT_GLCANVAS_PRINTABLE, SimpleEvent)
const ModelVolume * Slic3r::GUI::get_model_volume (const GLVolume &v, const Model &model)
ModelVolume * Slic3r::GUI::get_model_volume (const ObjectID &volume_id, const ModelObjectPtrs &objects)
ModelVolume * Slic3r::GUI::get_model_volume (const GLVolume &v, const ModelObjectPtrs &objects)
ModelVolume * Slic3r::GUI::get_model_volume (const GLVolume &v, const ModelObject &object)
GLVolume * Slic3r::GUI::get_first_hovered_gl_volume (const GLCanvas3D &canvas)
GLVolume * Slic3r::GUI::get_selected_gl_volume (const GLCanvas3D &canvas)
ModelObject * Slic3r::GUI::get_model_object (const GLVolume &gl_volume, const Model &model)
ModelObject * Slic3r::GUI::get_model_object (const GLVolume &gl_volume, const ModelObjectPtrs &objects)
ModelInstance * Slic3r::GUI::get_model_instance (const GLVolume &gl_volume, const Model &model)
ModelInstance * Slic3r::GUI::get_model_instance (const GLVolume &gl_volume, const ModelObjectPtrs &objects)
ModelInstance * Slic3r::GUI::get_model_instance (const GLVolume &gl_volume, const ModelObject &object)

Class Documentation

◆ Slic3r::GUI::GLCanvas3D::LayersEditing::LayersTexture

struct Slic3r::GUI::GLCanvas3D::LayersEditing::LayersTexture
Collaboration diagram for Slic3r::GUI::GLCanvas3D::LayersEditing::LayersTexture:
Class Members
size_t cells { 0 }
vector< char > data
size_t height { 0 }
size_t levels { 0 }
bool valid { false }
size_t width { 0 }

◆ Slic3r::GUI::GLCanvas3D::LayersEditing::Profile

struct Slic3r::GUI::GLCanvas3D::LayersEditing::Profile
Collaboration diagram for Slic3r::GUI::GLCanvas3D::LayersEditing::Profile:
Class Members
GLModel background
GLModel baseline
float old_canvas_width { 0.0f }
vector< double > old_layer_height_profile
GLModel profile

◆ Slic3r::GUI::GLCanvas3D::SlaCap::Triangles

struct Slic3r::GUI::GLCanvas3D::SlaCap::Triangles
Collaboration diagram for Slic3r::GUI::GLCanvas3D::SlaCap::Triangles:
Class Members
GLModel object
GLModel supports

◆ Slic3r::GUI::GLCanvas3D::CenterOfMass::Bodies

struct Slic3r::GUI::GLCanvas3D::CenterOfMass::Bodies
Collaboration diagram for Slic3r::GUI::GLCanvas3D::CenterOfMass::Bodies:
Class Members
vector< SolidBody > bodies
size_t slabs { 0 }
vector< Volume > volumes

◆ Slic3r::GUI::GLCanvas3D::CenterOfMass::Pick

struct Slic3r::GUI::GLCanvas3D::CenterOfMass::Pick
Class Members
size_t count
size_t index
size_t kind
size_t set

◆ Slic3r::GUI::GLCanvas3D::ArrangeSettings

struct Slic3r::GUI::GLCanvas3D::ArrangeSettings
Class Members
float accuracy = 0.65f
bool align_to_y_axis = false
bool allow_multi_materials_on_same_plate = true
bool avoid_extrusion_cali_region = true
float distance = 0.f
bool enable_rotation = false
bool is_seq_print = false

◆ Slic3r::GUI::GLCanvas3D::OrientSettings

struct Slic3r::GUI::GLCanvas3D::OrientSettings
Class Members
bool enable_rotation = false
bool min_area = true
float overhang_angle = 60.f

◆ Slic3r::GUI::GLCanvas3D::KeyDown

struct Slic3r::GUI::GLCanvas3D::KeyDown
Class Members
int code = WXK_NONE
bool repeat = false

Macro Definition Documentation

◆ ENABLE_RETINA_GL

#define ENABLE_RETINA_GL   (__APPLE__ || __WXGTK3__)