+++ /dev/null
-/*
- * 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.
- *
- */
-
-package eu.svjatoslav.sixth.e3d.geometry;
-
-import eu.svjatoslav.sixth.e3d.gui.RenderingContext;
-
-public class GeometryCoordinate {
-
- public Point3D coordinate;
- public Point3D transformedCoordinate;
- public Point2D onScreenCoordinate;
-
- int lastTransformedFrame;
-
- public GeometryCoordinate() {
- coordinate = new Point3D();
- transformedCoordinate = new Point3D();
- onScreenCoordinate = new Point2D();
- }
-
- public GeometryCoordinate(final Point3D location) {
- coordinate = location;
- transformedCoordinate = new Point3D();
- onScreenCoordinate = new Point2D();
- }
-
- public void transform(final TransformPipe transforms,
- final RenderingContext renderContext) {
-
- if (lastTransformedFrame == renderContext.frameNumber)
- return;
-
- lastTransformedFrame = renderContext.frameNumber;
-
- transforms.transform(coordinate, transformedCoordinate);
-
- onScreenCoordinate.x = ((transformedCoordinate.x / transformedCoordinate.z) * renderContext.zoom)
- + renderContext.xCenter;
- onScreenCoordinate.y = ((transformedCoordinate.y / transformedCoordinate.z) * renderContext.zoom)
- + renderContext.yCenter;
- }
-}