CircleIterator class

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

Файл: com/hypixel/hytale/math/iterator/CircleIterator.java

implements: Iterator<Vector3d>

Поля (2)

МодификаторыТипИмя
final Vector3dc origin
float var1

Методы (1)

МодификаторыВозвратСигнатура
abstract this this(var1, var2, var4, 0.0F)

Исходный код

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

class="kw">import com.hypixel.hytale.math.util.TrigMathUtil;
class="kw">import java.util.Iterator;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3d;
class="kw">import org.joml.Vector3dc;

class="kw">public class CircleIterator class="kw">implements Iterator<Vector3d> {
   class="kw">private class="kw">final Vector3dc origin;
   class="kw">private class="kw">final int pointTotal;
   class="kw">private class="kw">final double radius;
   class="kw">private class="kw">final float angleOffset;
   class="kw">private int pointIndex;

   class="kw">public CircleIterator(Vector3dc var1, double var2, int var4) {
      this(var1, var2, var4, 0.0F);
   }

   class="kw">public CircleIterator(Vector3dc var1, double var2, int var4, float var5) {
      this.origin = var1;
      this.pointTotal = var4;
      this.angleOffset = var5;
      this.pointIndex = 0;
      this.radius = var2;
   }

   @Override
   class="kw">public boolean hasNext() {
      class="kw">return this.pointIndex < this.pointTotal;
   }

   @Nonnull
   class="kw">public Vector3d next() {
      this.pointIndex++;
      float var1 = (float)this.pointIndex / this.pointTotal * (float) (Math.PI * 2) + this.angleOffset;
      class="kw">return new Vector3d(TrigMathUtil.cos(var1) * this.radius + this.origin.x(), this.origin.y(), TrigMathUtil.sin(var1) * this.radius + this.origin.z());
   }
}