Library for googly eyes

Dependents:   Eyes_Demo

Revision:
2:9dd81fc2623f
Parent:
0:06df44729143
diff -r 0791bb5735b4 -r 9dd81fc2623f Eyes.cpp
--- a/Eyes.cpp	Tue Dec 15 00:42:09 2015 +0000
+++ b/Eyes.cpp	Tue Apr 12 02:30:40 2016 +0000
@@ -25,6 +25,16 @@
     }
 }
 
+void Eyes::look_there(int theta, float dist){
+    theta = theta % 361;       // Clamp theta to 0 to 360 degrees
+    if(dist > 1.0) dist = 1.0;  // Clamp dist to 1.0 max
+    if(dist < 0.0) dist = 0.0;  // Clamp dist to 0.0 min
+    
+    int radius(eye_radius - iris_radius);
+    eye_direction_offset.x = (int)(dist*radius*cos(theta*3.14/180.0)); 
+    eye_direction_offset.y = (int)(dist*radius*sin(theta*3.14/180.0));
+}
+
 void Eyes::express(EXPRESSION expression){}
 
 void Eyes::gesture(GESTURE gesture){
@@ -56,13 +66,16 @@
                      LGREY);
             lcd.line(left_eye_center.x - eye_radius, left_eye_center.y,
                      left_eye_center.x + eye_radius, left_eye_center.y,
-                     LGREY); 
+                     LGREY);
+            break;
+            
+        case SHAKE:
+            break; 
     }
 }
 
 void Eyes::draw(){
-    /* TODO: Draw over last eye in black to "erase" before drawing 
-        new eye */
+    //Draw over last eye in black to "erase" before drawing new eye
     lcd.filled_circle(right_eye_center.x,
                       right_eye_center.y,
                       eye_radius, BLACK);