From 95a71ea6d7d57b67c91f39fa4e275a8283e26b93 Mon Sep 17 00:00:00 2001 From: mfeemster Date: Mon, 2 May 2016 17:49:58 -0700 Subject: [PATCH] --User changes -Add apply all functionality to flatten/unflatten menu items. --- Source/Fractorium/Fractorium.ui | 10 +++++----- Source/Fractorium/FractoriumMenus.cpp | 26 ++++++++++++++++++++++++-- 2 files changed, 29 insertions(+), 7 deletions(-) diff --git a/Source/Fractorium/Fractorium.ui b/Source/Fractorium/Fractorium.ui index 5001c57..70f4cf3 100644 --- a/Source/Fractorium/Fractorium.ui +++ b/Source/Fractorium/Fractorium.ui @@ -143,7 +143,7 @@ - <html><head/><body><p>Apply adjustments to all flames in the file</p></body></html> + <html><head/><body><p>Apply adjustments to all flames in the file. Also applies to flatten/unflatten menu items.</p></body></html> Apply All @@ -3513,8 +3513,8 @@ 0 0 - 263 - 700 + 118 + 618 @@ -5531,8 +5531,8 @@ 0 0 - 259 - 652 + 133 + 52 diff --git a/Source/Fractorium/FractoriumMenus.cpp b/Source/Fractorium/FractoriumMenus.cpp index d0c4554..a3704ca 100644 --- a/Source/Fractorium/FractoriumMenus.cpp +++ b/Source/Fractorium/FractoriumMenus.cpp @@ -753,7 +753,18 @@ void Fractorium::OnActionAddBothSymmetry(bool checked) { m_Controller->AddBothSy /// Resets the rendering process. /// template -void FractoriumEmberController::Flatten() { UpdateXform([&] (Xform* xform) { m_Ember.Flatten(XmlToEmber::m_FlattenNames); FillVariationTreeWithXform(xform); }); } +void FractoriumEmberController::Flatten() +{ + UpdateXform([&] (Xform* xform) + { + m_Ember.Flatten(XmlToEmber::m_FlattenNames); + FillVariationTreeWithXform(xform); + }, eXformUpdate::UPDATE_CURRENT, false);//Don't update render, it'll update below. + UpdateAll([&](Ember& ember) + { + ember.Flatten(XmlToEmber::m_FlattenNames); + }, true, eProcessAction::FULL_RENDER, m_Fractorium->ApplyAll()); +} void Fractorium::OnActionFlatten(bool checked) { m_Controller->Flatten(); } /// @@ -761,7 +772,18 @@ void Fractorium::OnActionFlatten(bool checked) { m_Controller->Flatten(); } /// Resets the rendering process. /// template -void FractoriumEmberController::Unflatten() { UpdateXform([&] (Xform* xform) { m_Ember.Unflatten(); FillVariationTreeWithXform(xform); }); } +void FractoriumEmberController::Unflatten() +{ + UpdateXform([&] (Xform* xform) + { + m_Ember.Unflatten(); + FillVariationTreeWithXform(xform); + }, eXformUpdate::UPDATE_CURRENT, false);//Don't update render, it'll update below. + UpdateAll([&](Ember& ember) + { + ember.Unflatten(); + }, true, eProcessAction::FULL_RENDER, m_Fractorium->ApplyAll()); +} void Fractorium::OnActionUnflatten(bool checked) { m_Controller->Unflatten(); } ///