save camera settings on selection to avoid different result when re-projecting the selection 2d screen points transformation (does not compile because of canvas.h cyclic dependency)

This commit is contained in:
2018-11-27 14:21:56 +01:00
parent 5c39e07434
commit f34ffa825d
5 changed files with 73 additions and 6 deletions

View File

@@ -493,7 +493,7 @@ void CanvasModeMaskFree::on_MouseEvent(MouseEvent* me, glm::vec2& loc)
{
if (!m_points.empty())
{
m_selection_cam = canvas->get_camera();
//m_points2d = poly_intersect(poly_remove_duplicate(m_points2d), canvas->face_to_shape2D(0));
auto drawer = [this](const glm::mat4& camera, const glm::mat4& proj) {
//glEnable(GL_BLEND);
@@ -910,6 +910,9 @@ void CanvasModeTransform::enter()
canvas->m_smask_active = false;
auto points = m->m_points2d;
canvas->push_camera();
canvas->set_camera(m->m_selection_cam);
glm::vec2 bb_min(FLT_MAX);
glm::vec2 bb_max(-FLT_MAX);
for (auto p2d : points)
@@ -1079,6 +1082,8 @@ void CanvasModeTransform::enter()
m_source_image.destroy();
}
canvas->pop_camera();
}
void CanvasModeTransform::leave()