     func reflect(overXAxis: Bool, overYAxis: Bool)
     
     func translate(deltaX: CGFloat, deltaY: CGFloat)
-
+    
     func rotate(withAngle theta: CGFloat)
 }
 


/*:
 
 # The Graph 
 
 When we draw graphs on paper, we usually draw an x axis and a y axis. Then, we calculate and plot points using a given interval. The graph view works in a similar way. By defining our positive and negative x limits, we can easily draw a square graph that scales to fit the frame of the view, and fits the defined number of calculations in our range.
 

 
 */

func demo()
{
    let graph = GraphView(withSmallerXBound: -15.0, largerXBound: 15.0, andInterval: 0.5)
    let sine = Sine()
    let line = Line(slope: 1.0, offset: 4.0)
    let exponential = Exponential(exponent: 2.0)
    
    //: You can add these yourself.
    
//    let shiftedSine = Sine(period: 1.0, amplitude: 3.0, phaseShift: 1.0, verticalShift: 0.0)
//    shiftedSine.drawingColor = UIColor(red: 0.2, green: 0.2, blue: 0.7, alpha: 1.0)
//    
//    let cosine = Cosine()
//    cosine.drawingColor = UIColor(red: 0.2, green: 0.7, blue: 0.2, alpha: 1.0)
    
    graph.addEquation(sine)
    graph.addEquation(line)
    graph.addEquation(exponential)
    

    
    XCPlaygroundPage.currentPage.liveView = graph
}

demo()

