1 package com.irtimaled.bbor.common.models;
3 import com.irtimaled.bbor.common.BoundingBoxType;
5 public abstract class AbstractBoundingBox {
6 private final BoundingBoxType type;
8 protected AbstractBoundingBox(BoundingBoxType type) {
12 public abstract Boolean intersectsBounds(int minX, int minZ, int maxX, int maxZ);
14 public BoundingBoxType getType() {
18 public double getDistance(double x, double y, double z) {
19 double dX = getDistanceX(x);
20 double dY = getDistanceY(y);
21 double dZ = getDistanceZ(z);
22 return Math.cbrt(dX * dX + dY * dY + dZ * dZ);
25 protected abstract double getDistanceX(double x);
27 protected abstract double getDistanceY(double y);
29 protected abstract double getDistanceZ(double z);