Beispiel #1
0
 /**
  * Überprüft, ob ein Strahl die Box schneidet und liefert den Schnittpunkt in Form eines Skalars
  * t, so dass <code>ray.getPoint(t)}</code> den Vektor ergibt.
  *
  * @param ray Der Strahl
  * @param nearBound Der nähste, gültige Punkt
  * @param farBound Der weiteste, gültige Punkt
  * @return <code>null</code>, wenn der Strahl die Box nicht innerhalb der Range schneidet,
  *     ansonsten der Punkt
  */
 @Nullable
 @ReturnsCachedValue
 public final Vector3 getIntersectionV(
     @NotNull final Ray3 ray, final float nearBound, final float farBound) {
   final float t = getIntersectionF(ray, nearBound, farBound);
   return Float.isNaN(t) ? null : ray.getPoint(t);
 }
Beispiel #2
0
 /**
  * Bezieht einen Strahl, der in die entgegengesetzte Richtung zeigt
  *
  * @return Der Strahl
  */
 @NotNull
 @ReturnsCachedValue
 public Ray3 getInverted() {
   Vector3 inverted = direction.getInverted();
   Ray3 ray = Ray3.createNew(origin, inverted);
   inverted.recycle();
   return ray;
 }