Updated readability of the code.
[sixth-3d.git] / src / main / java / eu / svjatoslav / sixth / e3d / renderer / octree / raytracer / Ray.java
index b6929cb..b616f2c 100755 (executable)
@@ -1,77 +1,29 @@
 /*
- * Sixth 3D engine. Copyright ©2012-2020, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 3 of the GNU Lesser General Public License
- * or later as published by the Free Software Foundation.
- *
+ * Sixth 3D engine. Author: Svjatoslav Agejenko.
+ * This project is released under Creative Commons Zero (CC0) license.
  */
-
 package eu.svjatoslav.sixth.e3d.renderer.octree.raytracer;
 
+import eu.svjatoslav.sixth.e3d.geometry.Point3D;
+
 public class Ray {
 
-    public double x, y, z;
+    // ray origin
+    public Point3D origin;
 
-    public double xp, yp, zp;
+    // ray direction
+    public Point3D direction;
 
-    public double hitX, hitY, hitZ;
+    // ray hit point
+    public Point3D hitPoint;
 
     public int hitCellSize;
 
     public int hitCellX, hitCellY, hitCellZ;
 
-    /*
-     * public int orientation;
-     *
-     * public static final int ORIENTATION_RIGHT = 0;
-     *
-     * public static final int ORIENTATION_LEFT = 1;
-     *
-     * public static final int ORIENTATION_DOWN = 2;
-     *
-     * public static final int ORIENTATION_UP = 3;
-     *
-     * public static final int ORIENTATION_FORWARD = 4;
-     *
-     * public static final int ORIENTATION_BACK = 5;
-     *
-     * public static final String orientations[] = { "RIGHT", "LEFT", "DOWN",
-     * "UP", "FORWARD", "BACK" };
-     */
-
-    public Ray(final double X, final double Y, final double Z, final double Xp,
-               final double Yp, final double Zp) {
-        x = X;
-        y = Y;
-        z = Z;
-        xp = Xp;
-        yp = Yp;
-        zp = Zp;
-        // calculateOrientation();
+    public Ray(Point3D origin, Point3D direction) {
+        this.origin = origin;
+        this.direction = direction;
     }
 
-    /*
-     * public void calculateOrientation() { float axp = Math.abs(xp); float ayp
-     * = Math.abs(yp); float azp = Math.abs(zp);
-     *
-     * if (axp > ayp) { if (axp > azp) { if (xp > 0) { orientation =
-     * ORIENTATION_RIGHT; } else { orientation = ORIENTATION_LEFT; } } else { if
-     * (zp > 0) { orientation = ORIENTATION_FORWARD; } else { orientation =
-     * ORIENTATION_BACK; } } } else { if (ayp > azp) { if (yp > 0) { orientation
-     * = ORIENTATION_DOWN; } else { orientation = ORIENTATION_UP; } } else { if
-     * (zp > 0) { orientation = ORIENTATION_FORWARD; } else { orientation =
-     * ORIENTATION_BACK; } } }
-     *
-     *
-     * }
-     */
-    @Override
-    public String toString() {
-        return "Ray \n" + "    x " + x + "\n" + "      y " + y + "\n" + "      z " + z
-                + "\n" + "     xp " + xp + "\n" + "    yp " + yp + "\n" + "    zp " + zp
-                + "\n"; /*
-         * + " orientation " + orientations[orientation];
-         */
-    }
 }