Advertisement
Guest User

Triangle class

a guest
Oct 10th, 2015
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.22 KB | None | 0 0
  1. package cz.muni.fi.pb162.project.geometry;
  2.  
  3. /**
  4.  * Created by xmlynar1 on 6.10.15.
  5.  */
  6. public class Triangle {
  7.     private Vertex2D VertexA, VertexB, VertexC; //Vrcholy trojuholnika
  8.     private Triangle TriA, TriB, TriC; //Trojuholniky pri vrcholoch po rozdeleni
  9.  
  10.  
  11.     public Vertex2D getVertexA() {
  12.         return VertexA;
  13.     }
  14.  
  15.     public void setVertexA(Vertex2D vertexA) {
  16.         VertexA = vertexA;
  17.     }
  18.  
  19.     public Vertex2D getVertexB() {
  20.         return VertexB;
  21.     }
  22.  
  23.     public void setVertexB(Vertex2D vertexB) {
  24.         VertexB = vertexB;
  25.     }
  26.  
  27.     public Vertex2D getVertexC() {
  28.         return VertexC;
  29.     }
  30.  
  31.     public void setVertexC(Vertex2D vertexC) {
  32.         VertexC = vertexC;
  33.     }
  34.  
  35.     @Override
  36.     public String toString() {
  37.         return "Triangle: vertices="+VertexA+" "+VertexB+" "+VertexC;
  38.     }
  39.  
  40.     public boolean isDivided(){
  41.  
  42.         return (TriA != null);
  43.  
  44.     }
  45.  
  46.     public Triangle getSubTriangle(int i){
  47.  
  48.         switch (i){
  49.  
  50.             case 0:
  51.                 return TriA;
  52.  
  53.             case 1:
  54.                 return TriB;
  55.  
  56.             case 2:
  57.                 return TriC;
  58.  
  59.             default:
  60.                 return null;
  61.  
  62.         }
  63.  
  64.     }
  65.  
  66.     private Vertex2D countSplitPoint(Vertex2D a, Vertex2D b){
  67.         Vertex2D result = new Vertex2D();
  68.         result.setX((a.getX() + b.getX()) / 2.0);
  69.         result.setY((a.getY() + b.getY()) / 2.0);
  70.         return result;
  71.     }
  72.  
  73.     public boolean divide() {
  74.  
  75.         if(isDivided()){
  76.             return false;
  77.         }
  78.         else {
  79.             TriA = new Triangle();
  80.             TriB = new Triangle();
  81.             TriC = new Triangle();
  82.             Vertex2D s1 = countSplitPoint(VertexA, VertexB);
  83.             Vertex2D s2 = countSplitPoint(VertexB, VertexC);
  84.             Vertex2D s3 = countSplitPoint(VertexC, VertexA);
  85.             TriA.setVertexA(s1);
  86.             TriA.setVertexB(VertexA);
  87.             TriA.setVertexC(s3);
  88.             TriB.setVertexA(s1);
  89.             TriB.setVertexB(VertexB);
  90.             TriB.setVertexC(s2);
  91.             TriC.setVertexA(s2);
  92.             TriC.setVertexB(VertexC);
  93.             TriC.setVertexC(s3);
  94.             return true;
  95.         }
  96.  
  97.     }
  98.  
  99. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement