X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fsixth%2Fe3d%2Frenderer%2Foctree%2Fraytracer%2FRay.java;h=b616f2c0326cd9a2f889db09a9d6bd8543a3e612;hb=a3ff3683bd0a025061667b26b6fcf56fe20f0afc;hp=d2d180935427f137474cd8f12959cb1829566d41;hpb=dcdff57f0bab42387b2e4e215778d9e8efc60221;p=sixth-3d.git diff --git a/src/main/java/eu/svjatoslav/sixth/e3d/renderer/octree/raytracer/Ray.java b/src/main/java/eu/svjatoslav/sixth/e3d/renderer/octree/raytracer/Ray.java index d2d1809..b616f2c 100755 --- a/src/main/java/eu/svjatoslav/sixth/e3d/renderer/octree/raytracer/Ray.java +++ b/src/main/java/eu/svjatoslav/sixth/e3d/renderer/octree/raytracer/Ray.java @@ -1,77 +1,29 @@ /* - * Sixth 3D engine. Copyright ©2012-2018, 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]; - */ - } }