From fc57f865f2e2b61fbd2ada4d4e09628a1988035e Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Sun, 30 Jul 2017 15:53:10 -0700 Subject: [PATCH] [MetaballsKit] Make Field.size public and filter balls that lie outside the size when it changed --- MetaballsKit/Metaballs.swift | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/MetaballsKit/Metaballs.swift b/MetaballsKit/Metaballs.swift index 1af6d9d..dc638d9 100644 --- a/MetaballsKit/Metaballs.swift +++ b/MetaballsKit/Metaballs.swift @@ -29,7 +29,13 @@ public struct Ball { } public struct Field { - var size: CGSize + public var size: CGSize { + didSet { + // Remove balls that fall outside the new bounds. + balls = balls.filter { bounds.contains($0.bounds) } + } + } + private(set) var balls = [Ball]() internal var bounds: CGRect {