Removed 3DScene volumes from perl
This commit is contained in:
parent
efe6a29032
commit
085110c4d9
@ -34,9 +34,6 @@ use Wx::GLCanvas qw(:all);
|
|||||||
|
|
||||||
# volumes: reference to vector of Slic3r::GUI::3DScene::Volume.
|
# volumes: reference to vector of Slic3r::GUI::3DScene::Volume.
|
||||||
#==============================================================================================================================
|
#==============================================================================================================================
|
||||||
__PACKAGE__->mk_accessors( qw(
|
|
||||||
volumes
|
|
||||||
) );
|
|
||||||
#__PACKAGE__->mk_accessors( qw(_quat _dirty init
|
#__PACKAGE__->mk_accessors( qw(_quat _dirty init
|
||||||
# enable_picking
|
# enable_picking
|
||||||
# enable_moving
|
# enable_moving
|
||||||
@ -165,17 +162,11 @@ sub new {
|
|||||||
# $self->use_plain_shader(0);
|
# $self->use_plain_shader(0);
|
||||||
# $self->_apply_zoom_to_volumes_filter(0);
|
# $self->_apply_zoom_to_volumes_filter(0);
|
||||||
# $self->_mouse_dragging(0);
|
# $self->_mouse_dragging(0);
|
||||||
#==============================================================================================================================
|
#
|
||||||
|
# # Collection of GLVolume objects
|
||||||
# Collection of GLVolume objects
|
# $self->volumes(Slic3r::GUI::_3DScene::GLVolume::Collection->new);
|
||||||
$self->volumes(Slic3r::GUI::_3DScene::GLVolume::Collection->new);
|
#
|
||||||
#==============================================================================================================================
|
# # 3D point in model space
|
||||||
Slic3r::GUI::_3DScene::set_volumes($self, $self->volumes);
|
|
||||||
Slic3r::GUI::_3DScene::reset_volumes($self);
|
|
||||||
#==============================================================================================================================
|
|
||||||
|
|
||||||
# 3D point in model space
|
|
||||||
#==============================================================================================================================
|
|
||||||
# $self->_camera_type('ortho');
|
# $self->_camera_type('ortho');
|
||||||
## $self->_camera_type('perspective');
|
## $self->_camera_type('perspective');
|
||||||
# $self->_camera_target(Slic3r::Pointf3->new(0,0,0));
|
# $self->_camera_target(Slic3r::Pointf3->new(0,0,0));
|
||||||
|
@ -2109,7 +2109,10 @@ sub object_list_changed {
|
|||||||
}
|
}
|
||||||
|
|
||||||
my $export_in_progress = $self->{export_gcode_output_file} || $self->{send_gcode_file};
|
my $export_in_progress = $self->{export_gcode_output_file} || $self->{send_gcode_file};
|
||||||
my $model_fits = $self->{canvas3D} ? $self->{canvas3D}->volumes->check_outside_state($self->{config}) : 1;
|
#==============================================================================================================================
|
||||||
|
my $model_fits = $self->{canvas3D} ? Slic3r::GUI::_3DScene::check_volumes_outside_state($self->{canvas3D}, $self->{config}) : 1;
|
||||||
|
# my $model_fits = $self->{canvas3D} ? $self->{canvas3D}->volumes->check_outside_state($self->{config}) : 1;
|
||||||
|
#==============================================================================================================================
|
||||||
my $method = ($have_objects && ! $export_in_progress && $model_fits) ? 'Enable' : 'Disable';
|
my $method = ($have_objects && ! $export_in_progress && $model_fits) ? 'Enable' : 'Disable';
|
||||||
$self->{"btn_$_"}->$method
|
$self->{"btn_$_"}->$method
|
||||||
for grep $self->{"btn_$_"}, qw(reslice export_gcode print send_gcode);
|
for grep $self->{"btn_$_"}, qw(reslice export_gcode print send_gcode);
|
||||||
|
@ -398,10 +398,11 @@ sub load_print {
|
|||||||
# $self->canvas->reset_legend_texture();
|
# $self->canvas->reset_legend_texture();
|
||||||
#==============================================================================================================================
|
#==============================================================================================================================
|
||||||
} else {
|
} else {
|
||||||
$self->{force_sliders_full_range} = (scalar(@{$self->canvas->volumes}) == 0);
|
|
||||||
#==============================================================================================================================
|
#==============================================================================================================================
|
||||||
|
$self->{force_sliders_full_range} = (Slic3r::GUI::_3DScene::get_volumes_count($self->canvas) == 0);
|
||||||
Slic3r::GUI::_3DScene::set_print($self->canvas, $self->print);
|
Slic3r::GUI::_3DScene::set_print($self->canvas, $self->print);
|
||||||
Slic3r::GUI::_3DScene::load_gcode_preview($self->canvas, $self->gcode_preview_data, \@colors);
|
Slic3r::GUI::_3DScene::load_gcode_preview($self->canvas, $self->gcode_preview_data, \@colors);
|
||||||
|
# $self->{force_sliders_full_range} = (scalar(@{$self->canvas->volumes}) == 0);
|
||||||
# $self->canvas->load_gcode_preview($self->print, $self->gcode_preview_data, \@colors);
|
# $self->canvas->load_gcode_preview($self->print, $self->gcode_preview_data, \@colors);
|
||||||
#==============================================================================================================================
|
#==============================================================================================================================
|
||||||
$self->show_hide_ui_elements('full');
|
$self->show_hide_ui_elements('full');
|
||||||
|
@ -280,7 +280,10 @@ sub selection_changed {
|
|||||||
|
|
||||||
# deselect all meshes
|
# deselect all meshes
|
||||||
if ($self->{canvas}) {
|
if ($self->{canvas}) {
|
||||||
$_->set_selected(0) for @{$self->{canvas}->volumes};
|
#==============================================================================================================================
|
||||||
|
Slic3r::GUI::_3DScene::deselect_volumes($self->{canvas});
|
||||||
|
# $_->set_selected(0) for @{$self->{canvas}->volumes};
|
||||||
|
#==============================================================================================================================
|
||||||
}
|
}
|
||||||
|
|
||||||
# disable things as if nothing is selected
|
# disable things as if nothing is selected
|
||||||
@ -308,7 +311,10 @@ sub selection_changed {
|
|||||||
if ($itemData->{type} eq 'volume') {
|
if ($itemData->{type} eq 'volume') {
|
||||||
# select volume in 3D preview
|
# select volume in 3D preview
|
||||||
if ($self->{canvas}) {
|
if ($self->{canvas}) {
|
||||||
$self->{canvas}->volumes->[ $itemData->{volume_id} ]->set_selected(1);
|
#==============================================================================================================================
|
||||||
|
Slic3r::GUI::_3DScene::select_volume($self->{canvas}, $itemData->{volume_id});
|
||||||
|
# $self->{canvas}->volumes->[ $itemData->{volume_id} ]->set_selected(1);
|
||||||
|
#==============================================================================================================================
|
||||||
}
|
}
|
||||||
$self->{btn_delete}->Enable;
|
$self->{btn_delete}->Enable;
|
||||||
$self->{btn_split}->Enable;
|
$self->{btn_split}->Enable;
|
||||||
@ -450,7 +456,10 @@ sub on_btn_move_up {
|
|||||||
if ($itemData && $itemData->{type} eq 'volume') {
|
if ($itemData && $itemData->{type} eq 'volume') {
|
||||||
my $volume_id = $itemData->{volume_id};
|
my $volume_id = $itemData->{volume_id};
|
||||||
if ($self->{model_object}->move_volume_up($volume_id)) {
|
if ($self->{model_object}->move_volume_up($volume_id)) {
|
||||||
$self->{canvas}->volumes->move_volume_up($volume_id);
|
#==============================================================================================================================
|
||||||
|
Slic3r::GUI::_3DScene::move_volume_up($self->{canvas}, $volume_id);
|
||||||
|
# $self->{canvas}->volumes->move_volume_up($volume_id);
|
||||||
|
#==============================================================================================================================
|
||||||
$self->{parts_changed} = 1;
|
$self->{parts_changed} = 1;
|
||||||
$self->reload_tree($volume_id - 1);
|
$self->reload_tree($volume_id - 1);
|
||||||
}
|
}
|
||||||
@ -463,7 +472,10 @@ sub on_btn_move_down {
|
|||||||
if ($itemData && $itemData->{type} eq 'volume') {
|
if ($itemData && $itemData->{type} eq 'volume') {
|
||||||
my $volume_id = $itemData->{volume_id};
|
my $volume_id = $itemData->{volume_id};
|
||||||
if ($self->{model_object}->move_volume_down($volume_id)) {
|
if ($self->{model_object}->move_volume_down($volume_id)) {
|
||||||
$self->{canvas}->volumes->move_volume_down($volume_id);
|
#==============================================================================================================================
|
||||||
|
Slic3r::GUI::_3DScene::move_volume_down($self->{canvas}, $volume_id);
|
||||||
|
# $self->{canvas}->volumes->move_volume_down($volume_id);
|
||||||
|
#==============================================================================================================================
|
||||||
$self->{parts_changed} = 1;
|
$self->{parts_changed} = 1;
|
||||||
$self->reload_tree($volume_id + 1);
|
$self->reload_tree($volume_id + 1);
|
||||||
}
|
}
|
||||||
@ -570,7 +582,10 @@ sub _update_canvas {
|
|||||||
# restore selection, if any
|
# restore selection, if any
|
||||||
if (my $itemData = $self->get_selection) {
|
if (my $itemData = $self->get_selection) {
|
||||||
if ($itemData->{type} eq 'volume') {
|
if ($itemData->{type} eq 'volume') {
|
||||||
$self->{canvas}->volumes->[ $itemData->{volume_id} ]->set_selected(1);
|
#==============================================================================================================================
|
||||||
|
Slic3r::GUI::_3DScene::select_volume($self->{canvas}, $itemData->{volume_id});
|
||||||
|
# $self->{canvas}->volumes->[ $itemData->{volume_id} ]->set_selected(1);
|
||||||
|
#==============================================================================================================================
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1802,9 +1802,9 @@ bool _3DScene::is_shown_on_screen(wxGLCanvas* canvas)
|
|||||||
return s_canvas_mgr.is_shown_on_screen(canvas);
|
return s_canvas_mgr.is_shown_on_screen(canvas);
|
||||||
}
|
}
|
||||||
|
|
||||||
void _3DScene::set_volumes(wxGLCanvas* canvas, GLVolumeCollection* volumes)
|
unsigned int _3DScene::get_volumes_count(wxGLCanvas* canvas)
|
||||||
{
|
{
|
||||||
s_canvas_mgr.set_volumes(canvas, volumes);
|
return s_canvas_mgr.get_volumes_count(canvas);
|
||||||
}
|
}
|
||||||
|
|
||||||
void _3DScene::reset_volumes(wxGLCanvas* canvas)
|
void _3DScene::reset_volumes(wxGLCanvas* canvas)
|
||||||
@ -1827,6 +1827,21 @@ void _3DScene::update_volumes_selection(wxGLCanvas* canvas, const std::vector<in
|
|||||||
s_canvas_mgr.update_volumes_selection(canvas, selections);
|
s_canvas_mgr.update_volumes_selection(canvas, selections);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool _3DScene::check_volumes_outside_state(wxGLCanvas* canvas, const DynamicPrintConfig* config)
|
||||||
|
{
|
||||||
|
return s_canvas_mgr.check_volumes_outside_state(canvas, config);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool _3DScene::move_volume_up(wxGLCanvas* canvas, unsigned int id)
|
||||||
|
{
|
||||||
|
return s_canvas_mgr.move_volume_up(canvas, id);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool _3DScene::move_volume_down(wxGLCanvas* canvas, unsigned int id)
|
||||||
|
{
|
||||||
|
return s_canvas_mgr.move_volume_down(canvas, id);
|
||||||
|
}
|
||||||
|
|
||||||
void _3DScene::set_objects_selections(wxGLCanvas* canvas, const std::vector<int>& selections)
|
void _3DScene::set_objects_selections(wxGLCanvas* canvas, const std::vector<int>& selections)
|
||||||
{
|
{
|
||||||
s_canvas_mgr.set_objects_selections(canvas, selections);
|
s_canvas_mgr.set_objects_selections(canvas, selections);
|
||||||
|
@ -558,11 +558,14 @@ public:
|
|||||||
|
|
||||||
static bool is_shown_on_screen(wxGLCanvas* canvas);
|
static bool is_shown_on_screen(wxGLCanvas* canvas);
|
||||||
|
|
||||||
static void set_volumes(wxGLCanvas* canvas, GLVolumeCollection* volumes);
|
static unsigned int get_volumes_count(wxGLCanvas* canvas);
|
||||||
static void reset_volumes(wxGLCanvas* canvas);
|
static void reset_volumes(wxGLCanvas* canvas);
|
||||||
static void deselect_volumes(wxGLCanvas* canvas);
|
static void deselect_volumes(wxGLCanvas* canvas);
|
||||||
static void select_volume(wxGLCanvas* canvas, unsigned int id);
|
static void select_volume(wxGLCanvas* canvas, unsigned int id);
|
||||||
static void update_volumes_selection(wxGLCanvas* canvas, const std::vector<int>& selections);
|
static void update_volumes_selection(wxGLCanvas* canvas, const std::vector<int>& selections);
|
||||||
|
static bool check_volumes_outside_state(wxGLCanvas* canvas, const DynamicPrintConfig* config);
|
||||||
|
static bool move_volume_up(wxGLCanvas* canvas, unsigned int id);
|
||||||
|
static bool move_volume_down(wxGLCanvas* canvas, unsigned int id);
|
||||||
|
|
||||||
static void set_objects_selections(wxGLCanvas* canvas, const std::vector<int>& selections);
|
static void set_objects_selections(wxGLCanvas* canvas, const std::vector<int>& selections);
|
||||||
|
|
||||||
|
@ -24,10 +24,6 @@
|
|||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <float.h>
|
#include <float.h>
|
||||||
|
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
#include "SVG.hpp"
|
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
|
|
||||||
static const float TRACKBALLSIZE = 0.8f;
|
static const float TRACKBALLSIZE = 0.8f;
|
||||||
static const float GIMBALL_LOCK_THETA_MAX = 180.0f;
|
static const float GIMBALL_LOCK_THETA_MAX = 180.0f;
|
||||||
static const float GROUND_Z = -0.02f;
|
static const float GROUND_Z = -0.02f;
|
||||||
@ -661,7 +657,6 @@ bool GLCanvas3D::Bed::_are_equal(const Pointfs& bed_1, const Pointfs& bed_2)
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
||||||
|
|
||||||
GLCanvas3D::Axes::Axes()
|
GLCanvas3D::Axes::Axes()
|
||||||
: length(0.0f)
|
: length(0.0f)
|
||||||
@ -1212,15 +1207,18 @@ GLCanvas3D::GLCanvas3D(wxGLCanvas* canvas, wxGLContext* context)
|
|||||||
, m_reload_delayed(false)
|
, m_reload_delayed(false)
|
||||||
{
|
{
|
||||||
if (m_canvas != nullptr)
|
if (m_canvas != nullptr)
|
||||||
|
{
|
||||||
m_timer = new wxTimer(m_canvas);
|
m_timer = new wxTimer(m_canvas);
|
||||||
|
m_volumes = new GLVolumeCollection;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
GLCanvas3D::~GLCanvas3D()
|
GLCanvas3D::~GLCanvas3D()
|
||||||
{
|
{
|
||||||
if (m_volumes != nullptr)
|
if (m_volumes != nullptr)
|
||||||
{
|
{
|
||||||
set_current();
|
reset_volumes();
|
||||||
m_volumes->release_geometry();
|
delete m_volumes;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_timer != nullptr)
|
if (m_timer != nullptr)
|
||||||
@ -1317,9 +1315,9 @@ bool GLCanvas3D::is_shown_on_screen() const
|
|||||||
return (m_canvas != nullptr) ? m_canvas->IsShownOnScreen() : false;
|
return (m_canvas != nullptr) ? m_canvas->IsShownOnScreen() : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void GLCanvas3D::set_volumes(GLVolumeCollection* volumes)
|
unsigned int GLCanvas3D::get_volumes_count() const
|
||||||
{
|
{
|
||||||
m_volumes = volumes;
|
return (m_volumes != nullptr) ? (unsigned int)m_volumes->volumes.size() : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void GLCanvas3D::reset_volumes()
|
void GLCanvas3D::reset_volumes()
|
||||||
@ -1372,6 +1370,45 @@ void GLCanvas3D::update_volumes_selection(const std::vector<int>& selections)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool GLCanvas3D::check_volumes_outside_state(const DynamicPrintConfig* config) const
|
||||||
|
{
|
||||||
|
return (m_volumes != nullptr) ? m_volumes->check_outside_state(config) : false;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool GLCanvas3D::move_volume_up(unsigned int id)
|
||||||
|
{
|
||||||
|
if (m_volumes != nullptr)
|
||||||
|
{
|
||||||
|
if ((id > 0) && (id < (unsigned int)m_volumes->volumes.size()))
|
||||||
|
{
|
||||||
|
std::swap(m_volumes->volumes[id - 1], m_volumes->volumes[id]);
|
||||||
|
std::swap(m_volumes->volumes[id - 1]->composite_id, m_volumes->volumes[id]->composite_id);
|
||||||
|
std::swap(m_volumes->volumes[id - 1]->select_group_id, m_volumes->volumes[id]->select_group_id);
|
||||||
|
std::swap(m_volumes->volumes[id - 1]->drag_group_id, m_volumes->volumes[id]->drag_group_id);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool GLCanvas3D::move_volume_down(unsigned int id)
|
||||||
|
{
|
||||||
|
if (m_volumes != nullptr)
|
||||||
|
{
|
||||||
|
if ((id >= 0) && (id + 1 < (unsigned int)m_volumes->volumes.size()))
|
||||||
|
{
|
||||||
|
std::swap(m_volumes->volumes[id + 1], m_volumes->volumes[id]);
|
||||||
|
std::swap(m_volumes->volumes[id + 1]->composite_id, m_volumes->volumes[id]->composite_id);
|
||||||
|
std::swap(m_volumes->volumes[id + 1]->select_group_id, m_volumes->volumes[id]->select_group_id);
|
||||||
|
std::swap(m_volumes->volumes[id + 1]->drag_group_id, m_volumes->volumes[id]->drag_group_id);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
void GLCanvas3D::set_objects_selections(const std::vector<int>& selections)
|
void GLCanvas3D::set_objects_selections(const std::vector<int>& selections)
|
||||||
{
|
{
|
||||||
m_objects_selections = selections;
|
m_objects_selections = selections;
|
||||||
|
@ -419,11 +419,14 @@ public:
|
|||||||
|
|
||||||
bool is_shown_on_screen() const;
|
bool is_shown_on_screen() const;
|
||||||
|
|
||||||
void set_volumes(GLVolumeCollection* volumes);
|
unsigned int get_volumes_count() const;
|
||||||
void reset_volumes();
|
void reset_volumes();
|
||||||
void deselect_volumes();
|
void deselect_volumes();
|
||||||
void select_volume(unsigned int id);
|
void select_volume(unsigned int id);
|
||||||
void update_volumes_selection(const std::vector<int>& selections);
|
void update_volumes_selection(const std::vector<int>& selections);
|
||||||
|
bool check_volumes_outside_state(const DynamicPrintConfig* config) const;
|
||||||
|
bool move_volume_up(unsigned int id);
|
||||||
|
bool move_volume_down(unsigned int id);
|
||||||
|
|
||||||
void set_objects_selections(const std::vector<int>& selections);
|
void set_objects_selections(const std::vector<int>& selections);
|
||||||
|
|
||||||
|
@ -226,11 +226,10 @@ bool GLCanvas3DManager::is_shown_on_screen(wxGLCanvas* canvas) const
|
|||||||
return (it != m_canvases.end()) ? it->second->is_shown_on_screen() : false;
|
return (it != m_canvases.end()) ? it->second->is_shown_on_screen() : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void GLCanvas3DManager::set_volumes(wxGLCanvas* canvas, GLVolumeCollection* volumes)
|
unsigned int GLCanvas3DManager::get_volumes_count(wxGLCanvas* canvas) const
|
||||||
{
|
{
|
||||||
CanvasesMap::iterator it = _get_canvas(canvas);
|
CanvasesMap::const_iterator it = _get_canvas(canvas);
|
||||||
if (it != m_canvases.end())
|
return (it != m_canvases.end()) ? it->second->get_volumes_count() : 0;
|
||||||
it->second->set_volumes(volumes);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void GLCanvas3DManager::reset_volumes(wxGLCanvas* canvas)
|
void GLCanvas3DManager::reset_volumes(wxGLCanvas* canvas)
|
||||||
@ -261,6 +260,24 @@ void GLCanvas3DManager::update_volumes_selection(wxGLCanvas* canvas, const std::
|
|||||||
it->second->update_volumes_selection(selections);
|
it->second->update_volumes_selection(selections);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool GLCanvas3DManager::check_volumes_outside_state(wxGLCanvas* canvas, const DynamicPrintConfig* config) const
|
||||||
|
{
|
||||||
|
CanvasesMap::const_iterator it = _get_canvas(canvas);
|
||||||
|
return (it != m_canvases.end()) ? it->second->check_volumes_outside_state(config) : false;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool GLCanvas3DManager::move_volume_up(wxGLCanvas* canvas, unsigned int id)
|
||||||
|
{
|
||||||
|
CanvasesMap::const_iterator it = _get_canvas(canvas);
|
||||||
|
return (it != m_canvases.end()) ? it->second->move_volume_up(id) : false;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool GLCanvas3DManager::move_volume_down(wxGLCanvas* canvas, unsigned int id)
|
||||||
|
{
|
||||||
|
CanvasesMap::const_iterator it = _get_canvas(canvas);
|
||||||
|
return (it != m_canvases.end()) ? it->second->move_volume_down(id) : false;
|
||||||
|
}
|
||||||
|
|
||||||
void GLCanvas3DManager::set_objects_selections(wxGLCanvas* canvas, const std::vector<int>& selections)
|
void GLCanvas3DManager::set_objects_selections(wxGLCanvas* canvas, const std::vector<int>& selections)
|
||||||
{
|
{
|
||||||
CanvasesMap::iterator it = _get_canvas(canvas);
|
CanvasesMap::iterator it = _get_canvas(canvas);
|
||||||
|
@ -53,11 +53,14 @@ public:
|
|||||||
|
|
||||||
bool is_shown_on_screen(wxGLCanvas* canvas) const;
|
bool is_shown_on_screen(wxGLCanvas* canvas) const;
|
||||||
|
|
||||||
void set_volumes(wxGLCanvas* canvas, GLVolumeCollection* volumes);
|
unsigned int get_volumes_count(wxGLCanvas* canvas) const;
|
||||||
void reset_volumes(wxGLCanvas* canvas);
|
void reset_volumes(wxGLCanvas* canvas);
|
||||||
void deselect_volumes(wxGLCanvas* canvas);
|
void deselect_volumes(wxGLCanvas* canvas);
|
||||||
void select_volume(wxGLCanvas* canvas, unsigned int id);
|
void select_volume(wxGLCanvas* canvas, unsigned int id);
|
||||||
void update_volumes_selection(wxGLCanvas* canvas, const std::vector<int>& selections);
|
void update_volumes_selection(wxGLCanvas* canvas, const std::vector<int>& selections);
|
||||||
|
bool check_volumes_outside_state(wxGLCanvas* canvas, const DynamicPrintConfig* config) const;
|
||||||
|
bool move_volume_up(wxGLCanvas* canvas, unsigned int id);
|
||||||
|
bool move_volume_down(wxGLCanvas* canvas, unsigned int id);
|
||||||
|
|
||||||
void set_objects_selections(wxGLCanvas* canvas, const std::vector<int>& selections);
|
void set_objects_selections(wxGLCanvas* canvas, const std::vector<int>& selections);
|
||||||
|
|
||||||
|
@ -199,12 +199,13 @@ is_shown_on_screen(canvas)
|
|||||||
OUTPUT:
|
OUTPUT:
|
||||||
RETVAL
|
RETVAL
|
||||||
|
|
||||||
void
|
unsigned int
|
||||||
set_volumes(canvas, volumes)
|
get_volumes_count(canvas)
|
||||||
SV *canvas;
|
SV *canvas;
|
||||||
GLVolumeCollection *volumes;
|
|
||||||
CODE:
|
CODE:
|
||||||
_3DScene::set_volumes((wxGLCanvas*)wxPli_sv_2_object(aTHX_ canvas, "Wx::GLCanvas"), volumes);
|
RETVAL = _3DScene::get_volumes_count((wxGLCanvas*)wxPli_sv_2_object(aTHX_ canvas, "Wx::GLCanvas"));
|
||||||
|
OUTPUT:
|
||||||
|
RETVAL
|
||||||
|
|
||||||
void
|
void
|
||||||
reset_volumes(canvas)
|
reset_volumes(canvas)
|
||||||
@ -232,6 +233,33 @@ update_volumes_selection(canvas, selections)
|
|||||||
CODE:
|
CODE:
|
||||||
_3DScene::update_volumes_selection((wxGLCanvas*)wxPli_sv_2_object(aTHX_ canvas, "Wx::GLCanvas"), selections);
|
_3DScene::update_volumes_selection((wxGLCanvas*)wxPli_sv_2_object(aTHX_ canvas, "Wx::GLCanvas"), selections);
|
||||||
|
|
||||||
|
bool
|
||||||
|
check_volumes_outside_state(canvas, config)
|
||||||
|
SV *canvas;
|
||||||
|
DynamicPrintConfig *config;
|
||||||
|
CODE:
|
||||||
|
RETVAL = _3DScene::check_volumes_outside_state((wxGLCanvas*)wxPli_sv_2_object(aTHX_ canvas, "Wx::GLCanvas"), config);
|
||||||
|
OUTPUT:
|
||||||
|
RETVAL
|
||||||
|
|
||||||
|
bool
|
||||||
|
move_volume_up(canvas, id)
|
||||||
|
SV *canvas;
|
||||||
|
unsigned int id;
|
||||||
|
CODE:
|
||||||
|
RETVAL = _3DScene::move_volume_up((wxGLCanvas*)wxPli_sv_2_object(aTHX_ canvas, "Wx::GLCanvas"), id);
|
||||||
|
OUTPUT:
|
||||||
|
RETVAL
|
||||||
|
|
||||||
|
bool
|
||||||
|
move_volume_down(canvas, id)
|
||||||
|
SV *canvas;
|
||||||
|
unsigned int id;
|
||||||
|
CODE:
|
||||||
|
RETVAL = _3DScene::move_volume_down((wxGLCanvas*)wxPli_sv_2_object(aTHX_ canvas, "Wx::GLCanvas"), id);
|
||||||
|
OUTPUT:
|
||||||
|
RETVAL
|
||||||
|
|
||||||
void
|
void
|
||||||
set_objects_selections(canvas, selections)
|
set_objects_selections(canvas, selections)
|
||||||
SV *canvas;
|
SV *canvas;
|
||||||
|
Loading…
Reference in New Issue
Block a user