Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- package cz.muni.fi.pb162.project.geometry;
- import java.util.List;
- /**
- *
- * @author x415482
- */
- public class Triangle {
- private Vertex2D a;
- private Vertex2D b;
- private Vertex2D c;
- private List<Triangle> subTriangles;
- private Boolean isDivided;
- public Boolean divide() {
- if(getIsDivided()==null || !getIsDivided()) {
- Triangle triangleA = new Triangle();
- Vertex2D triangleAVertexA = new Vertex2D();
- triangleAVertexA.setX(getVertexA().getX() + getVertexA().getY()) / 2);
- triangleAVertexA.setY(getVertexA().getY());
- triangleA.setVertexA(triangleAVertexA);
- Vertex2D triangleAVertexB = new Vertex2D();
- triangleAVertexB.setX(getVertexB().getX() + getVertexB().getY()) / 2);
- triangleAVertexB.setY(getVertexB().getY());
- triangleA.setVertexB(triangleAVertexB);
- Vertex2D triangleAVertexC = new Vertex2D();
- triangleAVertexC.setX(triangleAVertexA.getX());
- triangleAVertexC.setY(triangleAVertexB.getX());
- triangleA.setVertexC(triangleAVertexC);
- Triangle triangleB = new Triangle();
- Vertex2D triangleBVertexA = new Vertex2D();
- triangleBVertexA.setX((getVertexA().getX() + getVertexA().getY()) / 2));
- triangleBVertexA.setY(getVertexC().getX());
- triangleB.setVertexA(triangleBVertexA);
- Vertex2D triangleBVertexB = new Vertex2D();
- triangleBVertexB.setX(getVertexC().getX() + getVertexC().getY()) / 2));
- triangleBVertexB.setY(getVertexC().getX());
- triangleB.setVertexB(triangleBVertexB);
- Vertex2D triangleBVertexC = new Vertex2D();
- triangleBVertexC.setX(triangleBVertexA.getX());
- triangleBVertexC.setY(triangleBVertexB.getX());
- triangleB.setVertexC(triangleBVertexC);
- Triangle triangleC = new Triangle();
- Vertex2D triangleCVertexA = new Vertex2D();
- triangleCVertexA.setX((getVertexB().getX() - getVertexB().getY()) / 2);
- triangleCVertexA.setY(getVertexB().getX());
- triangleC.setVertexA(triangleCVertexA);
- Vertex2D triangleCVertexB = new Vertex2D();
- triangleCVertexB.setX((getVertexC().getX() - getVertexC().getY()) / 2);
- triangleCVertexB.setY(getVertexB().getX());
- triangleC.setVertexB(triangleCVertexB);
- Vertex2D triangleCVertexC = new Vertex2D();
- triangleCVertexC.setX(triangleCVertexA.getX());
- triangleCVertexC.setY(triangleCVertexB.getX());
- triangleC.setVertexC(triangleCVertexC);
- }
- }
- public Vertex2D getVertexA() {
- return a;
- }
- public Vertex2D getVertexB(){
- return b;
- }
- public Vertex2D getVertexC() {
- return c;
- }
- public void setVertexA(Vertex2D a) {
- this.a=a;
- }
- public void setVertexB(Vertex2D b) {
- this.b=b;
- }
- public void setVertexC(Vertex2D c) {
- this.c=c;
- }
- @Override
- public String toString() {
- return "Triangle: vertices=" + a.toString() + " " + b.toString() + " " + c.toString();
- }
- /**
- * @return the subTriangles
- */
- public List<Triangle> getSubTriangles() {
- return subTriangles;
- }
- /**
- * @param subTriangles the subTriangles to set
- */
- public void setSubTriangles(List<Triangle> subTriangles) {
- this.subTriangles = subTriangles;
- }
- /**
- * @return the isValid
- */
- public Boolean getIsDivided() {
- return isDivided;
- }
- /**
- * @param isDivided the isValid to set
- */
- public void setIsDivided(Boolean isDivided) {
- this.isDivided = isDivided;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement