From 1c1171df59395748a24db0ea10fe97a255713cf8 Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Sat, 13 Oct 2018 12:41:40 -0700 Subject: [PATCH] Make some public things internal; scale balls by x and y depending on what's larger --- MetaballsKit/Metaballs.swift | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/MetaballsKit/Metaballs.swift b/MetaballsKit/Metaballs.swift index 128ced6..3690da6 100644 --- a/MetaballsKit/Metaballs.swift +++ b/MetaballsKit/Metaballs.swift @@ -96,7 +96,9 @@ public class Field { NSLog("Updating size of field: old:\(parameters.size), new:\(newValue)") if parameters.size != newValue { // Scale balls to new position and size. - let scale = parameters.size.x != 0 ? Float(newValue.x / parameters.size.x) : 1 + let scaleX = parameters.size.x != 0 ? Float(newValue.x / parameters.size.x) : 1 + let scaleY = parameters.size.y != 0 ? Float(newValue.y / parameters.size.y) : 1 + let scale = max(scaleX, scaleY) balls = balls.map { let r = $0.radius * scale let p = randomPoint(forBallWithRadius: r) @@ -131,7 +133,7 @@ public class Field { NotificationCenter.default.removeObserver(self, name: PreferencesDidChange_Color, object: nil) } - public func update() { + func update() { let selfBounds = bounds for i in 0..