ELEC2645 (2018/19) / Mbed 2 deprecated el17cd

Dependencies:   mbed

Revision:
9:5915fc800824
Parent:
8:a667bc5050c1
Child:
10:07a23afd5088
diff -r a667bc5050c1 -r 5915fc800824 Rasturizer/Rasturizer.cpp
--- a/Rasturizer/Rasturizer.cpp	Tue Feb 26 09:35:03 2019 +0000
+++ b/Rasturizer/Rasturizer.cpp	Tue Mar 19 10:27:37 2019 +0000
@@ -15,40 +15,22 @@
             points[vertex][axis] = face.getVertexValue(vertex, axis);
         }
     }
-    //double avgZ = points[0][2] + points[1][2] + points[2][2] + points[3][2];//not needed if no rotation
     
-    if (points[0][2] > 5 || points[1][2] > 5 || points[2][2] > 5|| points[3][2]>5){
+    if (points[0][2] > 20 || points[1][2] > 20 || points[2][2] > 20|| points[3][2] > 20){
         int diffX1 = points[0][0]-points[1][0];
         int diffY1 = points[0][1]-points[1][1];
         int diffX2 = points[2][0]-points[3][0];
-        int diffY2 = points[2][1]-points[3][1];/*
+        int diffY2 = points[2][1]-points[3][1];
         
-        if (abs(diffX1) > abs(diffX2)){
-            
-            double step = (double)diffY1/(double)diffX1;
-            double stepSmall1 = (double)diffX2/(double)diffX1;
-            double stepSmall2 = (double)diffY2/(double)diffX1;
-            lcd.printString("top",0,0);
-            for(int s = 0; s<= abs(diffX1)-1; s++){
-                lcd.drawLine((rint(points[0][0]+s)/points[0][2])+42, rint((points[0][1]+step*s)/points[0][2]), rint((points[3][0]-stepSmall1*s)/points[3][2])+42, rint((points[3][1]-stepSmall2*s)/points[3][2])+21, 1); 
-                lcd.drawLine((rint(points[0][0]+s+1)/points[0][2])+42, rint((points[0][1]+step*s)/points[0][2]), rint((points[3][0]-stepSmall1*s-1)/points[3][2])+42, rint((points[3][1]-stepSmall2*s)/points[3][2])+21, 1); 
-                
-                //lcd.drawLine(points[0][0]+s, rint(points[0][1]+step*s), rint(points[3][0]-stepSmall1*s), rint(points[3][1]-stepSmall2*s), 0); 
-                //lcd.drawLine(points[0][0]+s+1, rint(points[0][1]+step*s), rint(points[3][0]-stepSmall1*s-1), rint(points[3][1]-stepSmall2*s), 0); 
-                
-            }
+        lcd.printString("bottom",0,0);
+        double step = (double)diffY2/(double)diffX2;
+        double stepSmall1 = (double)diffX1/(double)diffX2;
+        double stepSmall2 = (double)diffY1/(double)diffX2;
+        
+        for(int s = 0; s<= abs(diffX2)-1; s++){
+            lcd.drawLine(rint((points[0][0]-stepSmall1*s)*(40/points[0][2]))+42, rint((points[0][1]-stepSmall2*s)*(40/points[0][2]))+21,rint((points[3][0]+s)*(40/points[3][2]))+42, rint((points[3][1]+step*s)*(40/points[3][2]))+21, 0);
+            lcd.drawLine(rint((points[0][0]-stepSmall1*s-1)*(40/points[0][2])+42), rint((points[0][1]-stepSmall2*s)*(40/points[0][2])+21),rint((points[3][0]+s+1)*(40/points[3][2]))+42, rint((points[3][1]+step*s)*(40/points[3][2]))+21, 0);
         }
-        else{
-            lcd.printString("bottom",0,0);
-            double step = (double)diffY2/(double)diffX2;
-            double stepSmall1 = (double)diffX1/(double)diffX2;
-            double stepSmall2 = (double)diffY1/(double)diffX2;
-            
-            for(int s = 0; s<= abs(diffX2)-1; s++){
-                lcd.drawLine(rint((points[0][0]-stepSmall1*s)*(40/points[0][2]))+42, rint((points[0][1]-stepSmall2*s)*(40/points[0][2]))+21,rint((points[3][0]+s)*(40/points[3][2]))+42, rint((points[3][1]+step*s)*(40/points[3][2]))+21, 1); 
-                lcd.drawLine(rint((points[0][0]-stepSmall1*s-1)*(40/points[0][2])+42), rint((points[0][1]-stepSmall2*s)*(40/points[0][2])+21),rint((points[3][0]+s+1)*(40/points[3][2]))+42, rint((points[3][1]+step*s)*(40/points[3][2]))+21, 1); 
-            }
-        }*/
         
         for (int i = 0; i < 3; i++){
             
@@ -66,6 +48,7 @@
                      1);
     }
 }
+
 void Rasturizer::clear(){
     lcd.clear();
 }