Advertisement
Guest User

Untitled

a guest
Oct 9th, 2015
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.24 KB | None | 0 0
  1. /*
  2. * To change this license header, choose License Headers in Project Properties.
  3. * To change this template file, choose Tools | Templates
  4. * and open the template in the editor.
  5. */
  6. package cz.muni.fi.pb162.project.geometry;
  7.  
  8. import java.util.List;
  9.  
  10. /**
  11. *
  12. * @author x415482
  13. */
  14.  
  15. public class Triangle {
  16. private Vertex2D a;
  17. private Vertex2D b;
  18. private Vertex2D c;
  19. private List<Triangle> subTriangles;
  20. private Boolean isDivided;
  21.  
  22. public Boolean divide() {
  23. if(getIsDivided()==null || !getIsDivided()) {
  24. Triangle triangleA = new Triangle();
  25. Vertex2D triangleAVertexA = new Vertex2D();
  26. triangleAVertexA.setX(getVertexA().getX() + getVertexA().getY()) / 2);
  27. triangleAVertexA.setY(getVertexA().getY());
  28. triangleA.setVertexA(triangleAVertexA);
  29. Vertex2D triangleAVertexB = new Vertex2D();
  30. triangleAVertexB.setX(getVertexB().getX() + getVertexB().getY()) / 2);
  31. triangleAVertexB.setY(getVertexB().getY());
  32. triangleA.setVertexB(triangleAVertexB);
  33. Vertex2D triangleAVertexC = new Vertex2D();
  34. triangleAVertexC.setX(triangleAVertexA.getX());
  35. triangleAVertexC.setY(triangleAVertexB.getX());
  36. triangleA.setVertexC(triangleAVertexC);
  37.  
  38. Triangle triangleB = new Triangle();
  39. Vertex2D triangleBVertexA = new Vertex2D();
  40. triangleBVertexA.setX((getVertexA().getX() + getVertexA().getY()) / 2));
  41. triangleBVertexA.setY(getVertexC().getX());
  42. triangleB.setVertexA(triangleBVertexA);
  43. Vertex2D triangleBVertexB = new Vertex2D();
  44. triangleBVertexB.setX(getVertexC().getX() + getVertexC().getY()) / 2));
  45. triangleBVertexB.setY(getVertexC().getX());
  46. triangleB.setVertexB(triangleBVertexB);
  47. Vertex2D triangleBVertexC = new Vertex2D();
  48. triangleBVertexC.setX(triangleBVertexA.getX());
  49. triangleBVertexC.setY(triangleBVertexB.getX());
  50. triangleB.setVertexC(triangleBVertexC);
  51.  
  52. Triangle triangleC = new Triangle();
  53. Vertex2D triangleCVertexA = new Vertex2D();
  54. triangleCVertexA.setX((getVertexB().getX() - getVertexB().getY()) / 2);
  55. triangleCVertexA.setY(getVertexB().getX());
  56. triangleC.setVertexA(triangleCVertexA);
  57. Vertex2D triangleCVertexB = new Vertex2D();
  58. triangleCVertexB.setX((getVertexC().getX() - getVertexC().getY()) / 2);
  59. triangleCVertexB.setY(getVertexB().getX());
  60. triangleC.setVertexB(triangleCVertexB);
  61. Vertex2D triangleCVertexC = new Vertex2D();
  62. triangleCVertexC.setX(triangleCVertexA.getX());
  63. triangleCVertexC.setY(triangleCVertexB.getX());
  64. triangleC.setVertexC(triangleCVertexC);
  65. }
  66.  
  67. }
  68.  
  69.  
  70.  
  71.  
  72.  
  73. public Vertex2D getVertexA() {
  74. return a;
  75. }
  76. public Vertex2D getVertexB(){
  77. return b;
  78. }
  79. public Vertex2D getVertexC() {
  80. return c;
  81. }
  82.  
  83. public void setVertexA(Vertex2D a) {
  84. this.a=a;
  85. }
  86. public void setVertexB(Vertex2D b) {
  87. this.b=b;
  88. }
  89. public void setVertexC(Vertex2D c) {
  90. this.c=c;
  91. }
  92.  
  93. @Override
  94. public String toString() {
  95. return "Triangle: vertices=" + a.toString() + " " + b.toString() + " " + c.toString();
  96. }
  97.  
  98. /**
  99. * @return the subTriangles
  100. */
  101. public List<Triangle> getSubTriangles() {
  102. return subTriangles;
  103. }
  104.  
  105. /**
  106. * @param subTriangles the subTriangles to set
  107. */
  108. public void setSubTriangles(List<Triangle> subTriangles) {
  109. this.subTriangles = subTriangles;
  110. }
  111.  
  112. /**
  113. * @return the isValid
  114. */
  115. public Boolean getIsDivided() {
  116. return isDivided;
  117. }
  118.  
  119. /**
  120. * @param isDivided the isValid to set
  121. */
  122. public void setIsDivided(Boolean isDivided) {
  123. this.isDivided = isDivided;
  124. }
  125. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement