OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
Slic3r::GUI::AssembleView Class Reference

#include </home/runner/work/OrcaSlicer/OrcaSlicer/src/slic3r/GUI/GUI_Preview.hpp>

Inheritance diagram for Slic3r::GUI::AssembleView:
Collaboration diagram for Slic3r::GUI::AssembleView:

Public Member Functions

 AssembleView (wxWindow *parent, Bed3D &bed, Model *model, DynamicPrintConfig *config, BackgroundSlicingProcess *process)
 ~AssembleView ()
wxGLCanvas * get_wxglcanvas ()
GLCanvas3D * get_canvas3d ()
void set_as_dirty ()
void render ()
bool is_reload_delayed () const
void reload_scene (bool refresh_immediately, bool force_full_scene_refresh=false)
void select_view (const std::string &direction)

Private Member Functions

bool init (wxWindow *parent, Bed3D &bed, Model *model, DynamicPrintConfig *config, BackgroundSlicingProcess *process)

Private Attributes

wxGLCanvas * m_canvas_widget { nullptr }
GLCanvas3D * m_canvas { nullptr }

Detailed Description

Constructor & Destructor Documentation

◆ AssembleView()

Slic3r::GUI::AssembleView::AssembleView ( wxWindow * parent,
Bed3D & bed,
Model * model,
DynamicPrintConfig * config,
BackgroundSlicingProcess * process )
764 : m_canvas_widget(nullptr)
765 , m_canvas(nullptr)
766{
767 init(parent, bed, model, config, process);
768}
GLCanvas3D * m_canvas
Definition GUI_Preview.hpp:191
bool init(wxWindow *parent, Bed3D &bed, Model *model, DynamicPrintConfig *config, BackgroundSlicingProcess *process)
Definition GUI_Preview.cpp:776
wxGLCanvas * m_canvas_widget
Definition GUI_Preview.hpp:190

References init(), m_canvas, and m_canvas_widget.

Here is the call graph for this function:

◆ ~AssembleView()

Slic3r::GUI::AssembleView::~AssembleView ( )
771{
772 delete m_canvas;
773 delete m_canvas_widget;
774}

References m_canvas, and m_canvas_widget.

Member Function Documentation

◆ get_canvas3d()

GLCanvas3D * Slic3r::GUI::AssembleView::get_canvas3d ( )
inline
197{ return m_canvas; }

References m_canvas.

◆ get_wxglcanvas()

wxGLCanvas * Slic3r::GUI::AssembleView::get_wxglcanvas ( )
inline
196{ return m_canvas_widget; }

References m_canvas_widget.

◆ init()

bool Slic3r::GUI::AssembleView::init ( wxWindow * parent,
Bed3D & bed,
Model * model,
DynamicPrintConfig * config,
BackgroundSlicingProcess * process )
private
777{
778 if (!Create(parent, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 /* disable wxTAB_TRAVERSAL */))
779 return false;
780
781#if ENABLE_OPENGL_AUTO_AA_SAMPLES
782 const GUI_InitParams* const init_params = wxGetApp().init_params;
783 m_canvas_widget = OpenGLManager::create_wxglcanvas(*this, (init_params != nullptr) ? init_params->opengl_aa : false);
784#else
786#endif // ENABLE_OPENGL_AUTO_AA_SAMPLES
787 if (m_canvas_widget == nullptr)
788 return false;
789
790 m_canvas = new GLCanvas3D(m_canvas_widget, bed);
791 m_canvas->set_context(wxGetApp().init_glcontext(*m_canvas_widget));
792
793 m_canvas->allow_multisample(OpenGLManager::can_multisample());
794 // XXX: If have OpenGL
795 m_canvas->enable_picking(true);
796 m_canvas->enable_moving(true);
797 // XXX: more config from 3D.pm
798 m_canvas->set_model(model);
799 m_canvas->set_process(process);
801 m_canvas->set_config(config);
802 m_canvas->enable_gizmos(true);
803 m_canvas->enable_selection(true);
804 m_canvas->enable_main_toolbar(false);
805 m_canvas->enable_labels(false);
806 m_canvas->enable_slope(false);
807 //BBS: GUI refactor: GLToolbar
808 m_canvas->enable_assemble_view_toolbar(false);
809 m_canvas->enable_return_toolbar(true);
810 m_canvas->enable_separator_toolbar(false);
811 //m_canvas->set_show_world_axes(true);//wait for GitHub users to see if they have this requirement
812 // BBS: set volume_selection_mode to Volume
813 //same to 3d //m_canvas->get_selection().set_volume_selection_mode(Selection::Instance);
814 //m_canvas->get_selection().lock_volume_selection_mode();
815
816 wxBoxSizer* main_sizer = new wxBoxSizer(wxVERTICAL);
817 main_sizer->Add(m_canvas_widget, 1, wxALL | wxEXPAND, 0);
818
819 SetSizer(main_sizer);
820 SetMinSize(GetSize());
821 GetSizer()->SetSizeHints(this);
822
823 return true;
824}
@ CanvasAssembleView
Definition GLCanvas3D.hpp:628
static bool can_multisample()
Definition OpenGLManager.hpp:100
static wxGLCanvas * create_wxglcanvas(wxWindow &parent)
Definition OpenGLManager.cpp:432

References Slic3r::GUI::OpenGLManager::can_multisample(), Slic3r::GUI::GLCanvas3D::CanvasAssembleView, Slic3r::GUI::OpenGLManager::create_wxglcanvas(), m_canvas, and m_canvas_widget.

Referenced by AssembleView().

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

◆ is_reload_delayed()

bool Slic3r::GUI::AssembleView::is_reload_delayed ( ) const
839{
840 return (m_canvas != nullptr) ? m_canvas->is_reload_delayed() : false;
841}

References m_canvas.

◆ reload_scene()

void Slic3r::GUI::AssembleView::reload_scene ( bool refresh_immediately,
bool force_full_scene_refresh = false )
844{
845 if (m_canvas != nullptr) {
846 if (!m_canvas->is_initialized()) {
847 m_canvas->render(true);
848 }
849 m_canvas->reload_scene(refresh_immediately, force_full_scene_refresh);
850 }
851}

References m_canvas.

Referenced by Slic3r::GUI::Plater::priv::update().

Here is the caller graph for this function:

◆ render()

void Slic3r::GUI::AssembleView::render ( )
833{
834 if (m_canvas != nullptr)
835 m_canvas->set_as_dirty();
836}

References m_canvas.

◆ select_view()

void Slic3r::GUI::AssembleView::select_view ( const std::string & direction)
854{
855 if (m_canvas != nullptr)
856 m_canvas->select_view(direction);
857}

References m_canvas.

◆ set_as_dirty()

void Slic3r::GUI::AssembleView::set_as_dirty ( )
827{
828 if (m_canvas != nullptr)
829 m_canvas->set_as_dirty();
830}

References m_canvas.

Member Data Documentation

◆ m_canvas

GLCanvas3D* Slic3r::GUI::AssembleView::m_canvas { nullptr }
private

◆ m_canvas_widget

wxGLCanvas* Slic3r::GUI::AssembleView::m_canvas_widget { nullptr }
private
190{ nullptr };

Referenced by AssembleView(), ~AssembleView(), get_wxglcanvas(), and init().


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