Tech ENABLE_WORLD_COORDINATE - Fixed sizing of volumes
This commit is contained in:
parent
c0ab834519
commit
0aa88e1dea
@ -1219,6 +1219,14 @@ void ObjectManipulation::change_size_value(int axis, double value)
|
||||
#else
|
||||
if (selection.is_single_volume() || selection.is_single_modifier()) {
|
||||
#endif // ENABLE_WORLD_COORDINATE
|
||||
|
||||
#if ENABLE_WORLD_COORDINATE
|
||||
if (is_world_coordinates()) {
|
||||
size = size.cwiseQuotient(ref_size);
|
||||
ref_size = Vec3d::Ones();
|
||||
}
|
||||
else {
|
||||
#endif // ENABLE_WORLD_COORDINATE
|
||||
const GLVolume* v = selection.get_first_volume();
|
||||
const Vec3d local_size = size.cwiseQuotient(v->get_instance_scaling_factor());
|
||||
const Vec3d local_ref_size = v->bounding_box().size().cwiseProduct(v->get_volume_scaling_factor());
|
||||
@ -1226,6 +1234,9 @@ void ObjectManipulation::change_size_value(int axis, double value)
|
||||
|
||||
size = local_change.cwiseProduct(v->get_volume_scaling_factor());
|
||||
ref_size = Vec3d::Ones();
|
||||
#if ENABLE_WORLD_COORDINATE
|
||||
}
|
||||
#endif // ENABLE_WORLD_COORDINATE
|
||||
}
|
||||
else if (selection.is_single_full_instance())
|
||||
#if ENABLE_WORLD_COORDINATE
|
||||
|
@ -1344,8 +1344,7 @@ void Selection::scale_and_translate(const Vec3d& scale, const Vec3d& translation
|
||||
if (!is_single_volume_or_modifier())
|
||||
original_box = get_bounding_box();
|
||||
else if (transformation_type.world())
|
||||
original_box = v.transformed_convex_hull_bounding_box((volume_data.get_instance_transform() *
|
||||
volume_data.get_volume_transform()).get_matrix_no_scaling_factor());
|
||||
original_box = get_bounding_box();
|
||||
else if (transformation_type.instance())
|
||||
original_box = v.transformed_convex_hull_bounding_box(volume_data.get_volume_transform().get_matrix_no_scaling_factor());
|
||||
else
|
||||
|
Loading…
Reference in New Issue
Block a user