git.iko.soy/metal-metaballs
on master help sign in
Replaced metaball array for graph.
commita46f437163d9743def32935b2796d9b86a7abd0c authorvinivendra <vinivendra@gmail.com> dateThu 11 Feb 2016, 16:50 (11 years ago) parenta6e2aeb
2 files changed+15−4
PixelImage/MetaballDataSource.swift+9−1 PixelImage/ViewController.swift+6−3
PixelImage/MetaballDataSource.swift+9−1
@@ -2,5 +2,13 @@
22import Metal
33
44protocol MetaballDataSource {
5− var metaballs: [Metaball] { get }
5+ var metaballGraph: Graph<Metaball>! { get }
66}
7+
8+extension MetaballDataSource {
9+ var metaballs: [Metaball]! {
10+ get {
11+ return metaballGraph.vertices
12+ }
13+ }
14+}
PixelImage/ViewController.swift+6−3
@@ -9,9 +9,7 @@ class ViewController: UIViewController, MetaballDataSource {
99 let width = 350
1010 let height = 600
1111
12− var metaballs = [CGPoint(x: 70, y: 70), CGPoint(x: 270, y: 470), CGPoint(x: 270, y: 70), CGPoint(x: 70, y: 470)].map {
13− Metaball(position: $0)
14− }
12+ var metaballGraph: Graph<Metaball>!
1513 var previousLocation: CGPoint!
1614
1715 var selectedMetaball: Metaball?
@@ -22,6 +20,11 @@ class ViewController: UIViewController, MetaballDataSource {
2220 let recognizer = UIPanGestureRecognizer(target: self, action: "handlePan:")
2321 view.addGestureRecognizer(recognizer)
2422
23+ let metaballs = [CGPoint(x: 70, y: 70), CGPoint(x: 270, y: 470), CGPoint(x: 270, y: 70), CGPoint(x: 70, y: 470)].map {
24+ Metaball(position: $0)
25+ }
26+ metaballGraph = Graph(vertices: metaballs)
27+
2528 let border = 20
2629 let metaballViewFrame = CGRect(x: border/2, y: border/2, width: width, height: height)
2730 renderer = MetalMetaballRenderer(dataSource: self, frame: metaballViewFrame)