-
Louis Jimenez-Hernandez authoredLouis Jimenez-Hernandez authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
Obstacle.java 1.95 KiB
package Shape;
import javafx.geometry.Bounds;
import javafx.scene.Group;
import javafx.scene.Node;
import javafx.scene.paint.Color;
import javafx.scene.paint.PhongMaterial;
import javafx.scene.shape.Box;
import javafx.scene.shape.Cylinder;
import javafx.scene.shape.Sphere;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Random;
import java.util.Set;
public class Obstacle {
public Obstacle(int WindowSize, double xTranslation, double yTranslation,
double zTranslation, int obSize, String shape, Color color){
this.obSize = obSize/2;
this.WindowSize = WindowSize;
this.xTranslation = xTranslation + (double) obSize/2;
this.yTranslation = yTranslation + (double) obSize/2;
this.zTranslation = zTranslation + (double) obSize/2;
this.shape = makeNode(shape, color);
this.shape.setTranslateX(xTranslation);
this.shape.setTranslateY(yTranslation);
this.shape.setTranslateZ(zTranslation);
shapeBound = this.shape.getBoundsInParent();
}
public Node makeNode(String shape, Color color){
if(shape.equals("Box")){
Box b = new Box(obSize,obSize,obSize);
b.setMaterial(new PhongMaterial(color));
return b;
} else if (shape.equals("Sphere")){
Sphere s = new Sphere(obSize);
s.setMaterial(new PhongMaterial(color));
return s;
} else {
Cylinder c = new Cylinder(obSize,obSize);
c.setMaterial(new PhongMaterial(color));
return c;
}
}
public Node getShape(){
return shape;
}
public void addToGroup(Group group){
group.getChildren().add(shape);
}
public boolean checkCollision(Bounds otherBounds) {
return shapeBound.intersects(otherBounds);
}
int WindowSize = 0;
double xTranslation, yTranslation, zTranslation;
Node shape;
Bounds shapeBound;
int obSize = 10;
}