Fixed cut gizmo and SLA shift
This commit is contained in:
parent
73eba8c930
commit
fe39af7d7b
@ -85,6 +85,12 @@ void GLGizmoHollow::on_render()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (m_state == On) {
|
||||||
|
// This gizmo is showing the object elevated. Tell the common
|
||||||
|
// SelectionInfo object to lie about the actual shift.
|
||||||
|
m_c->selection_info()->set_use_shift(true);
|
||||||
|
}
|
||||||
|
|
||||||
glsafe(::glEnable(GL_BLEND));
|
glsafe(::glEnable(GL_BLEND));
|
||||||
glsafe(::glEnable(GL_DEPTH_TEST));
|
glsafe(::glEnable(GL_DEPTH_TEST));
|
||||||
|
|
||||||
@ -828,6 +834,7 @@ void GLGizmoHollow::on_set_state()
|
|||||||
// the gizmo was just turned Off
|
// the gizmo was just turned Off
|
||||||
m_parent.post_event(SimpleEvent(EVT_GLCANVAS_FORCE_UPDATE));
|
m_parent.post_event(SimpleEvent(EVT_GLCANVAS_FORCE_UPDATE));
|
||||||
m_c->instances_hider()->set_hide_full_scene(false);
|
m_c->instances_hider()->set_hide_full_scene(false);
|
||||||
|
m_c->selection_info()->set_use_shift(false); // see top of on_render for details
|
||||||
}
|
}
|
||||||
|
|
||||||
m_old_state = m_state;
|
m_old_state = m_state;
|
||||||
|
@ -87,6 +87,12 @@ void GLGizmoSlaSupports::data_changed()
|
|||||||
|
|
||||||
void GLGizmoSlaSupports::on_render()
|
void GLGizmoSlaSupports::on_render()
|
||||||
{
|
{
|
||||||
|
if (m_state == On) {
|
||||||
|
// This gizmo is showing the object elevated. Tell the common
|
||||||
|
// SelectionInfo object to lie about the actual shift.
|
||||||
|
m_c->selection_info()->set_use_shift(true);
|
||||||
|
}
|
||||||
|
|
||||||
if (!m_sphere.model.is_initialized()) {
|
if (!m_sphere.model.is_initialized()) {
|
||||||
indexed_triangle_set its = its_make_sphere(1.0, double(PI) / 12.0);
|
indexed_triangle_set its = its_make_sphere(1.0, double(PI) / 12.0);
|
||||||
m_sphere.model.init_from(its);
|
m_sphere.model.init_from(its);
|
||||||
@ -836,8 +842,10 @@ void GLGizmoSlaSupports::on_set_state()
|
|||||||
m_old_mo_id = -1;
|
m_old_mo_id = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_state == Off)
|
if (m_state == Off) {
|
||||||
m_c->instances_hider()->set_hide_full_scene(false);
|
m_c->instances_hider()->set_hide_full_scene(false);
|
||||||
|
m_c->selection_info()->set_use_shift(true); // see top of on_render for details
|
||||||
|
}
|
||||||
}
|
}
|
||||||
m_old_state = m_state;
|
m_old_state = m_state;
|
||||||
}
|
}
|
||||||
|
@ -163,7 +163,8 @@ public:
|
|||||||
ModelVolume* model_volume() const { return m_model_volume; }
|
ModelVolume* model_volume() const { return m_model_volume; }
|
||||||
ModelInstance *model_instance() const;
|
ModelInstance *model_instance() const;
|
||||||
int get_active_instance() const;
|
int get_active_instance() const;
|
||||||
float get_sla_shift() const { return m_z_shift; }
|
float get_sla_shift() const { return m_use_shift ? m_z_shift : 0.f; }
|
||||||
|
void set_use_shift(bool use) { m_use_shift = use; }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void on_update() override;
|
void on_update() override;
|
||||||
@ -175,6 +176,7 @@ private:
|
|||||||
ModelVolume* m_model_volume = nullptr;
|
ModelVolume* m_model_volume = nullptr;
|
||||||
// int m_active_inst = -1;
|
// int m_active_inst = -1;
|
||||||
float m_z_shift = 0.f;
|
float m_z_shift = 0.f;
|
||||||
|
bool m_use_shift = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user