mirror of
https://git.mirrors.martin98.com/https://github.com/prusa3d/PrusaSlicer.git
synced 2025-05-22 12:38:08 +08:00
Sidebar matrix field behavior for single full object selection
This commit is contained in:
parent
df9abe7d78
commit
f54f966663
@ -390,12 +390,20 @@ void ObjectManipulation::change_scale_value(const Vec3d& scale)
|
|||||||
|
|
||||||
if (needs_uniform_scale)
|
if (needs_uniform_scale)
|
||||||
{
|
{
|
||||||
double min = scaling_factor.minCoeff();
|
Vec3d abs_scale_diff = (scale - cache_scale).cwiseAbs();
|
||||||
double max = scaling_factor.maxCoeff();
|
double max_diff = abs_scale_diff(X);
|
||||||
if (min != 100.0)
|
Axis max_diff_axis = X;
|
||||||
scaling_factor = Vec3d(min, min, min);
|
if (max_diff < abs_scale_diff(Y))
|
||||||
else if (max != 100.0)
|
{
|
||||||
scaling_factor = Vec3d(max, max, max);
|
max_diff = abs_scale_diff(Y);
|
||||||
|
max_diff_axis = Y;
|
||||||
|
}
|
||||||
|
if (max_diff < abs_scale_diff(Z))
|
||||||
|
{
|
||||||
|
max_diff = abs_scale_diff(Z);
|
||||||
|
max_diff_axis = Z;
|
||||||
|
}
|
||||||
|
scaling_factor = Vec3d(scale(max_diff_axis), scale(max_diff_axis), scale(max_diff_axis));
|
||||||
}
|
}
|
||||||
|
|
||||||
scaling_factor *= 0.01;
|
scaling_factor *= 0.01;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user