Fixed rotation of single volumes inside a rotated instance using rotate gizmo

This commit is contained in:
Enrico Turri 2019-01-15 12:24:32 +01:00
parent 519f5e5ea7
commit 2f48997a22
2 changed files with 12 additions and 11 deletions

View file

@ -1614,8 +1614,7 @@ void GLCanvas3D::Selection::rotate(const Vec3d& rotation, bool local)
else
{
Transform3d m = Geometry::assemble_transform(Vec3d::Zero(), rotation);
const Transform3d& inst_m = m_cache.volumes_data[i].get_instance_rotation_matrix();
Vec3d new_rotation = Geometry::extract_euler_angles(inst_m.inverse() * m * inst_m * m_cache.volumes_data[i].get_volume_rotation_matrix());
Vec3d new_rotation = Geometry::extract_euler_angles(m * m_cache.volumes_data[i].get_volume_rotation_matrix());
(*m_volumes)[i]->set_volume_rotation(new_rotation);
}
}