]> git.lizzy.rs Git - BoundingBoxOutlineReloaded.git/blobdiff - src/main/java/com/irtimaled/bbor/client/models/BoundingBoxSphere.java
General performance improvements and serverside fixes
[BoundingBoxOutlineReloaded.git] / src / main / java / com / irtimaled / bbor / client / models / BoundingBoxSphere.java
index 3fb8d0800e6f68507cf2170fa7f9a931ae658325..9198bacf0ea2f9cf523082a2b6053b56e04a03ed 100644 (file)
@@ -1,10 +1,15 @@
 package com.irtimaled.bbor.client.models;
 
+import com.irtimaled.bbor.client.ClientRenderer;
+import com.irtimaled.bbor.client.renderers.AbstractRenderer;
+import com.irtimaled.bbor.client.renderers.SphereRenderer;
 import com.irtimaled.bbor.common.BoundingBoxType;
 import com.irtimaled.bbor.common.models.AbstractBoundingBox;
 import com.irtimaled.bbor.common.models.Coords;
 
 public class BoundingBoxSphere extends AbstractBoundingBox {
+    private static final AbstractRenderer<BoundingBoxSphere> RENDERER = ClientRenderer.registerRenderer(BoundingBoxSphere.class, () -> new SphereRenderer());
+
     private final double radius;
     private final double minX;
     private final double minZ;
@@ -32,6 +37,21 @@ public class BoundingBoxSphere extends AbstractBoundingBox {
                 this.minZ <= maxZ;
     }
 
+    @Override
+    protected double getDistanceX(double x) {
+        return x - point.getX();
+    }
+
+    @Override
+    protected double getDistanceY(double y) {
+        return y - point.getY();
+    }
+
+    @Override
+    protected double getDistanceZ(double z) {
+        return z - point.getZ();
+    }
+
     public double getRadius() {
         return radius;
     }
@@ -39,4 +59,9 @@ public class BoundingBoxSphere extends AbstractBoundingBox {
     public Point getPoint() {
         return point;
     }
+
+    @Override
+    public AbstractRenderer<?> getRenderer() {
+        return RENDERER;
+    }
 }