ViewUtil class

Пакет: com.hypixel.hytale.math.shape

Файл: com/hypixel/hytale/math/shape/ViewUtil.java

Поля (27)

МодификаторыТипИмя
final int INSIDE
break
break
var0
int var13
var13
int var14
var14
boolean var15
var15
double var16
var16
var16
var16
var16
var16
double var18
var18
var18
var18
var18
var18
var2
int var20
int var4
var4
var6

Методы (10)

МодификаторыВозвратСигнатура
static void CohenSutherlandLineClipAndDrawvoid CohenSutherlandLineClipAndDraw(double var0, double var2, double var4, double var6, Graphics2D var8, double var9, double var11)
abstract throw new UnsupportedOperationExceptionthrow new UnsupportedOperationException()
abstract new Vector2dnew Vector2d(var0, var2)
abstract new Vector2dnew Vector2d(var4, var6)
static int computeOutCodeint computeOutCode(double var0, double var2)
if if(var0 < -1.0)
if if(var2 < -1.0)
if if(var20 == var13)
if if(var15)
while while(true)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.math.shape;

class="kw">import java.awt.Graphics2D;
class="kw">import org.joml.Vector2d;

class="kw">public class ViewUtil {
   class="kw">public class="kw">static class="kw">final int INSIDE = 0;
   class="kw">public class="kw">static class="kw">final int LEFT = 1;
   class="kw">public class="kw">static class="kw">final int RIGHT = 2;
   class="kw">public class="kw">static class="kw">final int BOTTOM = 4;
   class="kw">public class="kw">static class="kw">final int TOP = 8;

   class="kw">private ViewUtil() {
      throw new UnsupportedOperationException();
   }

   class="kw">private class="kw">static int computeOutCode(double var0, double var2) {
      int var4 = 0;
      if (var0 < -1.0) {
         var4 |= 1;
      } else if (var0 > 1.0) {
         var4 |= 2;
      }

      if (var2 < -1.0) {
         var4 |= 4;
      } else if (var2 > 1.0) {
         var4 |= 8;
      }

      class="kw">return var4;
   }

   class="kw">private class="kw">static void CohenSutherlandLineClipAndDraw(double var0, double var2, double var4, double var6, Graphics2D var8, double var9, double var11) {
      int var13 = computeOutCode(var0, var2);
      int var14 = computeOutCode(var4, var6);
      boolean var15 = false;

      while (true) {
         if ((var13 | var14) == 0) {
            var15 = true;
            break;
         }

         if ((var13 & var14) != 0) {
            break;
         }

         int var20 = var13 != 0 ? var13 : var14;
         double var16;
         double var18;
         if ((var20 & 8) != 0) {
            var16 = var0 + (var4 - var0) * (1.0 - var2) / (var6 - var2);
            var18 = 1.0;
         } else if ((var20 & 4) != 0) {
            var16 = var0 + (var4 - var0) * (-1.0 - var2) / (var6 - var2);
            var18 = -1.0;
         } else if ((var20 & 2) != 0) {
            var18 = var2 + (var6 - var2) * (1.0 - var0) / (var4 - var0);
            var16 = 1.0;
         } else if ((var20 & 1) != 0) {
            var18 = var2 + (var6 - var2) * (-1.0 - var0) / (var4 - var0);
            var16 = -1.0;
         } else {
            var16 = 0.0;
            var18 = 0.0;
         }

         if (var20 == var13) {
            var0 = var16;
            var2 = var18;
            var13 = computeOutCode(var0, var2);
         } else {
            var4 = var16;
            var6 = var18;
            var14 = computeOutCode(var4, var6);
         }
      }

      if (var15) {
         new Vector2d(var0, var2);
         new Vector2d(var4, var6);
      }
   }
}