mirror of
https://bitbucket.org/mfeemster/fractorium.git
synced 2025-07-01 05:46:06 -04:00
06/09/2017
--User changes -dark.qss is now per-OS. -Properly set/reload palette when coming from the palette editor. The latter must be done if they've modified the current palette even if they've clicked cancel. --Bug fixes -Make the following variations safer by using Zeps(): conic, bipolar, edisc, whorl, tan, csc, cot, tanh, sech, csch, coth, auger, bwraps, hypertile3d, hypertile3d1, ortho, poincare, rational3, barycentroid, sschecks, cscq, cschq, scry_3D, splitbrdr, hexcrop, nblur, crob. -Fix bug enabling/disabling overwrite button in palette editor. -Small optimization for gdoffs, use precalcAtanYX. -Properly propagate z through circlesplit, cylinder2 and tile_log variations. -Some values in truchet_fill could've been NaN. --Code changes -Make most installation files read only. -Qualify many calls with std:: to ensure they're not colliding with glm:: -Use auto in more places.
This commit is contained in:
@ -259,21 +259,21 @@ void FractoriumEmberController<T>::AffineSetHelper(double d, int index, bool pre
|
||||
{
|
||||
case 0:
|
||||
case 3:
|
||||
affine.A(cos(spinners[0]->value() * DEG_2_RAD) * spinners[3]->value());
|
||||
affine.D(sin(spinners[0]->value() * DEG_2_RAD) * spinners[3]->value());
|
||||
affine.A(std::cos(spinners[0]->value() * DEG_2_RAD) * spinners[3]->value());
|
||||
affine.D(std::sin(spinners[0]->value() * DEG_2_RAD) * spinners[3]->value());
|
||||
break;
|
||||
|
||||
case 1:
|
||||
case 4:
|
||||
affine.B(cos(spinners[1]->value() * DEG_2_RAD) * spinners[4]->value());
|
||||
affine.E(sin(spinners[1]->value() * DEG_2_RAD) * spinners[4]->value());
|
||||
affine.B(std::cos(spinners[1]->value() * DEG_2_RAD) * spinners[4]->value());
|
||||
affine.E(std::sin(spinners[1]->value() * DEG_2_RAD) * spinners[4]->value());
|
||||
break;
|
||||
|
||||
case 2:
|
||||
case 5:
|
||||
default:
|
||||
affine.C(cos(spinners[2]->value() * DEG_2_RAD) * spinners[5]->value());
|
||||
affine.F(sin(spinners[2]->value() * DEG_2_RAD) * spinners[5]->value());
|
||||
affine.C(std::cos(spinners[2]->value() * DEG_2_RAD) * spinners[5]->value());
|
||||
affine.F(std::sin(spinners[2]->value() * DEG_2_RAD) * spinners[5]->value());
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -623,9 +623,9 @@ void FractoriumEmberController<T>::FillAffineWithXform(Xform<T>* xform, bool pre
|
||||
|
||||
if (m_Fractorium->ui.PolarAffineCheckBox->isChecked())
|
||||
{
|
||||
spinners[0]->SetValueStealth(RAD_2_DEG * atan2(affine.D(), affine.A()));
|
||||
spinners[1]->SetValueStealth(RAD_2_DEG * atan2(affine.E(), affine.B()));
|
||||
spinners[2]->SetValueStealth(RAD_2_DEG * atan2(affine.F(), affine.C()));
|
||||
spinners[0]->SetValueStealth(RAD_2_DEG * std::atan2(affine.D(), affine.A()));
|
||||
spinners[1]->SetValueStealth(RAD_2_DEG * std::atan2(affine.E(), affine.B()));
|
||||
spinners[2]->SetValueStealth(RAD_2_DEG * std::atan2(affine.F(), affine.C()));
|
||||
spinners[3]->SetValueStealth(VarFuncs<T>::Hypot(affine.D(), affine.A()));
|
||||
spinners[4]->SetValueStealth(VarFuncs<T>::Hypot(affine.E(), affine.B()));
|
||||
spinners[5]->SetValueStealth(VarFuncs<T>::Hypot(affine.F(), affine.C()));
|
||||
|
Reference in New Issue
Block a user