VectorProjectorVectorProvider class
Пакет: com.hypixel.hytale.builtin.hytalegenerator.vectorproviders
Файл: com/hypixel/hytale/builtin/hytalegenerator/vectorproviders/VectorProjectorVectorProvider.java
extends: VectorProvider
Поля (2)
| Модификаторы | Тип | Имя |
|---|---|---|
|
double |
var3 |
|
double |
var5 |
Методы (1)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
|
if if(var3 == 0.0) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.hytalegenerator.vectorproviders;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3d;
class="kw">public class VectorProjectorVectorProvider class="kw">extends VectorProvider {
@Nonnull
class="kw">private class="kw">final VectorProvider source;
@Nonnull
class="kw">private class="kw">final VectorProvider target;
@Nonnull
class="kw">private class="kw">final Vector3d rSource;
@Nonnull
class="kw">private class="kw">final Vector3d rTarget;
class="kw">public VectorProjectorVectorProvider(@Nonnull VectorProvider var1, @Nonnull VectorProvider var2) {
this.source = var1;
this.target = var2;
this.rSource = new Vector3d();
this.rTarget = new Vector3d();
}
@Override
class="kw">public void process(@Nonnull VectorProvider.Context var1, @Nonnull Vector3d var2) {
this.source.process(var1, this.rSource);
this.target.process(var1, this.rTarget);
double var3 = this.rTarget.lengthSquared();
if (var3 == 0.0) {
var2.set(0.0, 0.0, 0.0);
} else {
double var5 = this.rSource.dot(this.rTarget) / var3;
var2.set(this.rTarget).mul(var5);
}
}
}