/*
- * Sixth - System for data storage, computation, exploration and interaction.
- * Copyright ©2012-2016, 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.gui;
-import eu.svjatoslav.sixth.e3d.geometry.GeometryCoordinate;
import eu.svjatoslav.sixth.e3d.geometry.Point3D;
-import eu.svjatoslav.sixth.e3d.geometry.TransformPipe;
+import eu.svjatoslav.sixth.e3d.math.TransformsStack;
+import eu.svjatoslav.sixth.e3d.math.Vertex;
public class UserRelativityTracker {
- public final static int minimalSliceFactor = 5;
- public GeometryCoordinate center = new GeometryCoordinate();
- public GeometryCoordinate right;
- public GeometryCoordinate down;
+ private final static int minimalSliceFactor = 5;
+ public Vertex center = new Vertex();
+ public Vertex right;
+ public Vertex down;
public UserRelativityTracker() {
}
- public void analyze(final TransformPipe transformPipe,
+ public void analyze(final TransformsStack transformPipe,
final RenderingContext renderingContext) {
- center.transform(transformPipe, renderingContext);
+ center.calculateLocationRelativeToViewer(transformPipe, renderingContext);
if (right != null) {
- right.transform(transformPipe, renderingContext);
- down.transform(transformPipe, renderingContext);
+ right.calculateLocationRelativeToViewer(transformPipe, renderingContext);
+ down.calculateLocationRelativeToViewer(transformPipe, renderingContext);
}
}
public void enableOrientationTracking() {
- right = new GeometryCoordinate(new Point3D(10, 0, 0));
- down = new GeometryCoordinate(new Point3D(0, 10, 0));
+ right = new Vertex(new Point3D(10, 0, 0));
+ down = new Vertex(new Point3D(0, 10, 0));
}
public double getAngleXY() {
}
public double getDistanceToUser() {
- return center.transformedCoordinate
- .getDistanceTo(Point3D.ZERO);
+ return center.transformedCoordinate.getVectorLength();
}
public double proposeSliceFactor() {