Fix of instance rotations from the side panel

in regard to instance synchronization.
This commit is contained in:
bubnikv 2019-03-01 15:35:48 +01:00
parent d009be7609
commit 0ec450f3d7
2 changed files with 3 additions and 1 deletions

View File

@ -1271,6 +1271,7 @@ void GLCanvas3D::Selection::rotate(const Vec3d& rotation, GLCanvas3D::Transforma
assert(! transformation_type.world() || transformation_type.relative());
int rot_axis_max;
//FIXME this does not work for absolute rotations (transformation_type.absolute() is true)
rotation.cwiseAbs().maxCoeff(&rot_axis_max);
// For generic rotation, we want to rotate the first volume in selection, and then to synchronize the other volumes with it.

View File

@ -365,7 +365,8 @@ void ObjectManipulation::change_rotation_value(const Vec3d& rotation)
if (selection.is_single_full_instance() || selection.requires_local_axes())
transformation_type.set_independent();
if (selection.is_single_full_instance()) {
transformation_type.set_absolute();
//FIXME GLCanvas3D::Selection::rotate() does not process absoulte rotations correctly: It does not recognize the axis index, which was changed.
// transformation_type.set_absolute();
transformation_type.set_local();
}