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:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user