-
Notifications
You must be signed in to change notification settings - Fork 25
Open
Description
so this class looks re-usable - by adding a uislider - they are usually added on the right hand side of screen / by sliding finger up and down - the universe would spin accordingly.
gavineadie/Geometries@b9fea34
/*╔══════════════════════════════════════════════════════════════════════════════════════════════════╗
║ FakeClock.swift Satellites ║
║ Created by Gavin Eadie on Aug26/17 .. Copyright © 2017 Ramsay Consulting. All rights reserved. ║
╚══════════════════════════════════════════════════════════════════════════════════════════════════╝*/
import Foundation
import SatKit
class FakeClock {
typealias JulianDays = Double
static let shared = FakeClock()
public var dateOffset: Double = 0.0
public var dateFactor: Double = 0.0
var dateOrigin: Date = Date()
public func date() -> Date {
let now = Date()
return now + dateOffset + now.timeIntervalSince(dateOrigin) * dateFactor
}
public func reset() {
self.dateOffset = 0.0
dateFactor = 0.0
dateOrigin = Date()
}
public func julianDaysNow() -> JulianDays {
return JD.appleZero + self.date().timeIntervalSinceReferenceDate * TimeConstants.sec2day
}
public func ep1950DaysNow() -> Double {
return julianDaysNow() - JD.noradZero
}
}
let slider = UISlider(frame: CGRectZero)
slider.transform = CGAffineTransformRotate(rotateTransform, CGFloat(-90.0 * M_PI / 180.0));
slider.addTarget(self, action: #selector(ToneCurveEditor.sliderChangeHandler(_:)), forControlEvents: .ValueChanged)
addSubview(slider)
// TODO - tweak this logic.
func sliderChangeHandler(slider : UISlider)
{
FakeClock.shared.dateOffset += slider.value
}Metadata
Metadata
Assignees
Labels
No labels