]> git.lizzy.rs Git - BoundingBoxOutlineReloaded.git/blob - src/main/java/com/irtimaled/bbor/common/models/BoundingBoxSphere.java
5c550f666f8e88da087e9e896d76902e501070dc
[BoundingBoxOutlineReloaded.git] / src / main / java / com / irtimaled / bbor / common / models / BoundingBoxSphere.java
1 package com.irtimaled.bbor.common.models;
2
3 import com.irtimaled.bbor.common.BoundingBoxType;
4
5 public class BoundingBoxSphere extends AbstractBoundingBox {
6     private final double radius;
7     private final double minX;
8     private final double minZ;
9     private final double maxX;
10     private final double maxZ;
11     private final Point point;
12
13     public BoundingBoxSphere(Point point, double radius, BoundingBoxType type) {
14         super(type);
15         this.radius = radius;
16         this.point = point;
17
18         Coords center = point.getCoords();
19         this.minX = center.getX() - radius;
20         this.minZ = center.getZ() - radius;
21         this.maxX = center.getX() + radius;
22         this.maxZ = center.getZ() + radius;
23     }
24
25     @Override
26     public Boolean intersectsBounds(int minX, int minZ, int maxX, int maxZ) {
27         return this.maxX >= minX &&
28                 this.maxZ >= minZ &&
29                 this.minX <= maxX &&
30                 this.minZ <= maxZ;
31     }
32
33     public double getRadius() {
34         return radius;
35     }
36
37     public Point getPoint() {
38         return point;
39     }
40 }