]> gerrit.simantics Code Review - simantics/3d.git/blobdiff - org.simantics.g3d/src/org/simantics/proconf/g3d/common/OrbitalCamera.java
Removing ancient 3d framework
[simantics/3d.git] / org.simantics.g3d / src / org / simantics / proconf / g3d / common / OrbitalCamera.java
diff --git a/org.simantics.g3d/src/org/simantics/proconf/g3d/common/OrbitalCamera.java b/org.simantics.g3d/src/org/simantics/proconf/g3d/common/OrbitalCamera.java
deleted file mode 100644 (file)
index 6b38bef..0000000
+++ /dev/null
@@ -1,205 +0,0 @@
-/*******************************************************************************\r
- * Copyright (c) 2007- VTT Technical Research Centre of Finland.\r
- * All rights reserved. This program and the accompanying materials\r
- * are made available under the terms of the Eclipse Public License v1.0\r
- * which accompanies this distribution, and is available at\r
- * http://www.eclipse.org/legal/epl-v10.html\r
- *\r
- * Contributors:\r
- *     VTT Technical Research Centre of Finland - initial API and implementation\r
- *******************************************************************************/\r
-package org.simantics.proconf.g3d.common;\r
-\r
-import javax.vecmath.AxisAngle4d;\r
-import javax.vecmath.Matrix3d;\r
-import javax.vecmath.Vector3d;\r
-\r
-import org.simantics.proconf.g3d.base.VecmathJmeTools;\r
-\r
-import com.jme.renderer.Camera;\r
-\r
-\r
-/**\r
- * Orbital camera\r
- * <p>\r
- * Modified version of fi.vtt.proconf.webmon.graphics3d.utils.OrbitalCamera<br>\r
- *  Using floats instead of double<br>\r
- * </p>\r
- * \r
- * \r
- * @author Marko Luukkainen\r
- *\r
- */\r
-public class OrbitalCamera {\r
-    \r
-    private Vector3d up = new Vector3d(0.0,1.0,0.0);\r
-    private static Vector3d up2 = new Vector3d(0.0,0.0,-1.0);\r
-    private static double minDistance = 0.5;\r
-    private Vector3d target = new Vector3d();\r
-    private Vector3d cameraPos = new Vector3d(10.0,0.0,0.0);\r
-    \r
-    \r
-    public void translate(Vector3d v) {\r
-        target.add(v);\r
-        cameraPos.add(v);\r
-    }\r
-    \r
-    public void rotateAroundTarget(Vector3d axis, double angle) {\r
-        Vector3d temp = new Vector3d(cameraPos);\r
-        temp.sub(target);\r
-        Matrix3d rotation = new Matrix3d();\r
-        rotation.set(new AxisAngle4d(axis,angle));\r
-        rotation.transform(temp);\r
-        temp.add(target);\r
-        cameraPos.set(temp);      \r
-    }\r
-    \r
-    public Vector3d getUnNormalizedHeading() {\r
-        Vector3d heading = new Vector3d(target);\r
-        heading.sub(cameraPos);\r
-        return heading;\r
-    }\r
-    \r
-    public Vector3d getUnNormalizedRight() {\r
-        Vector3d heading = getUnNormalizedHeading();\r
-        Vector3d right = new Vector3d();\r
-        right.cross(heading,up);\r
-        if (right.lengthSquared() < 0.01)\r
-            right.cross(heading,up2);\r
-        return right;\r
-    }\r
-    \r
-    public double getDistanceToTarget() {\r
-        Vector3d t = new Vector3d(target);\r
-        t.sub(cameraPos);\r
-        return t.length();\r
-    }\r
-    \r
-    public void moveToTarget(double distance) {\r
-        Vector3d heading = getUnNormalizedHeading();\r
-        double length = heading.length();\r
-        if (length + distance < minDistance) {\r
-            // cannot move closer\r
-            return;\r
-        }\r
-        heading.scale(distance / length); //normalizing and scaling by distance\r
-        cameraPos.add(heading);\r
-    }\r
-    \r
-    public void moveScaledToTarget(double s) {\r
-        Vector3d heading = getUnNormalizedHeading();\r
-        double currentLength = heading.length();\r
-        double length = currentLength * (1.0 - s);// heading.length();\r
-        if (length < minDistance) {\r
-           s = -minDistance / currentLength + 1.0;\r
-        }\r
-        heading.scale(s);\r
-         //normalizing and scaling by distance\r
-        cameraPos.add(heading);\r
-    }\r
-    \r
-    public void rotateUp(double angle) {\r
-        Vector3d right = getUnNormalizedRight();\r
-        double length = right.length();\r
-        // TODO : better handling of singular cases\r
-        if (length > 0.01)\r
-            right.scale(1.0/length);\r
-        else \r
-            right.set(-1.0,0.0,0.0);\r
-        rotateAroundTarget(right,angle);\r
-    }\r
-    \r
-    public void rotateRight(double angle) {\r
-        rotateAroundTarget(up,angle);\r
-    }\r
-    \r
-    public void moveRight(double length) {\r
-        Vector3d right = getUnNormalizedRight();\r
-        right.normalize();\r
-        right.scale(length);\r
-        translate(right);\r
-    }\r
-    \r
-    public void moveUp(double length) {\r
-        Vector3d u = new Vector3d(up);\r
-        u.scale(length);\r
-        translate(u);\r
-    }\r
-    \r
-    public void moveFront(double length) {\r
-        Vector3d right = getUnNormalizedRight();\r
-        Vector3d front = new Vector3d();\r
-        front.cross(up,right);\r
-        front.normalize();\r
-        front.scale(length);\r
-        translate(front);\r
-    }\r
-    \r
-    public void updateCamera() {\r
-       Vector3d t = new Vector3d(cameraPos);\r
-       t.sub(target);\r
-       t.normalize();\r
-       cam.setLocation(VecmathJmeTools.get(cameraPos));\r
-       \r
-       if (Math.abs(t.dot(up)) > 0.99) {\r
-               cam.lookAt(VecmathJmeTools.get(target), VecmathJmeTools.get(up2));      \r
-       } else {\r
-               cam.lookAt(VecmathJmeTools.get(target), VecmathJmeTools.get(up));\r
-       }\r
-       cam.update();\r
-       cam.apply();\r
-       \r
-    }\r
-\r
-    /**\r
-     * @return Returns the cameraPos.\r
-     */\r
-    public Vector3d getCameraPos() {\r
-        return cameraPos;\r
-    }\r
-\r
-    /**\r
-     * @param cameraPos The cameraPos to set.\r
-     */\r
-    public void setCameraPos(Vector3d cameraPos) {\r
-        this.cameraPos = cameraPos;\r
-    }\r
-\r
-    /**\r
-     * @return Returns the target.\r
-     */\r
-    public Vector3d getTarget() {\r
-        return target;\r
-    }\r
-\r
-    /**\r
-     * @param target The target to set.\r
-     */\r
-    public void setTarget(Vector3d target) {\r
-        this.target = target;\r
-    }\r
-    \r
-    public void setCameraPosRelativeToTarget(Vector3d targetToCam) {\r
-        targetToCam.add(target);\r
-        setCameraPos(targetToCam);\r
-    }\r
-    \r
-    public void setUp(Vector3d v) {\r
-        up.set(v);\r
-    }\r
-    \r
-    public Vector3d getUp() {\r
-        return up;\r
-    }\r
-    \r
-    public void setDefaultUp() {\r
-        up.set(0.0,1.0,0.0);\r
-    }\r
-    \r
-    private Camera cam;\r
-    \r
-    public void setCamera(Camera cam) {\r
-       this.cam = cam;\r
-    }\r
-    \r
-}\r