public Quat4d getOrientation() { //TODO: Get rid of this part! Quat4d orientation = new Quat4d(); forwardTransform.get(orientation); return orientation; }
public void setOrientation (Vector3D angles) { if (Math.abs(angles.y) == 90) System.err.println("Gimbal lock when the y-angle is vertical!"); Transform3D t = getTransform(); Vector3D radians = angles.times(Math.PI / 180.); Transform3D t1 = new Transform3D(); t1.setEuler(createVector3d(radians)); Vector3d r = new Vector3d(); t.get(r); t1.setTranslation(r); t1.setScale(t.getScale()); setTransform(t1); }
private Quat4d getQuaternion () { Transform3D t = getTransform(); Matrix3d m = new Matrix3d(); t.get(m); double w = Math.sqrt(Math.max(0, 1 + m.m00 + m.m11 + m.m22))/2; double x = Math.sqrt(Math.max(0, 1 + m.m00 - m.m11 - m.m22))/2; double y = Math.sqrt(Math.max(0, 1 - m.m00 + m.m11 - m.m22))/2; double z = Math.sqrt(Math.max(0, 1 - m.m00 - m.m11 + m.m22))/2; if (m.m21 - m.m12 < 0) x = -x; if (m.m02 - m.m20 < 0) y = -y; if (m.m10 - m.m01 < 0) z = -z; return new Quat4d(x, y, z, w); }
public void setOrientation (Vector3D angles) { if (Math.abs(angles.y) == 90) System.err.println("Gimbal lock when the y-angle is vertical!"); Transform3D t = getTransform(); Vector3D radians = angles.times(Math.PI / 180.); Transform3D t1 = new Transform3D(); t1.setEuler(createVector3d(radians)); Vector3d r = new Vector3d(); t.get(r); t1.setTranslation(r); t1.setScale(t.getScale()); setTransform(t1); }
private Quat4d getQuaternion () { Transform3D t = getTransform(); Matrix3d m = new Matrix3d(); t.get(m); double w = Math.sqrt(Math.max(0, 1 + m.m00 + m.m11 + m.m22))/2; double x = Math.sqrt(Math.max(0, 1 + m.m00 - m.m11 - m.m22))/2; double y = Math.sqrt(Math.max(0, 1 - m.m00 + m.m11 - m.m22))/2; double z = Math.sqrt(Math.max(0, 1 - m.m00 - m.m11 + m.m22))/2; if (m.m21 - m.m12 < 0) x = -x; if (m.m02 - m.m20 < 0) y = -y; if (m.m10 - m.m01 < 0) z = -z; return new Quat4d(x, y, z, w); }
public void scale(final double _scale) { final Vector3d pos = new Vector3d(); getCurrentCamera().get(pos); final double deltaZ = -(pos.z - zmid_) / 5; translation(Z, deltaZ); }
public Vector3D getPosition () { Transform3D t = getTransform(); Vector3d r = new Vector3d(); t.get(r); return new Vector3D(r); }
public Vector3D getPosition () { Transform3D t = getTransform(); Vector3d r = new Vector3d(); t.get(r); return new Vector3D(r); }
/** * Gets the rotation of the unit relative to the root location as a Quat4d object. * * @param unitConfig the unit config to refer the unit. * @return rotation relative to the root location * @throws NotAvailableException is thrown if the transformation is not available. */ default Quat4d getUnitRotationGlobalQuat4d(final UnitConfig unitConfig) throws NotAvailableException { try { final Transform3D transformation = getUnitToRootTransform3D(unitConfig); final Quat4d quat = new Quat4d(); transformation.get(quat); return quat; } catch (final NotAvailableException ex) { throw new NotAvailableException("GlobalRotationQuat", ex); } }
public double[] getOrientationFromUniverse() { if (VGraphicsUtil.NO_3D) { return new double[0]; } Transform3D t3d = new Transform3D(); getUniverseCreator().getRootGroup().getTransform(t3d); double[] values = new double[16]; t3d.get(values); return values; }
@Override public CustomParamData getCustomData() { if (VGraphicsUtil.NO_3D) { return new CustomParamData(); } CustomParamData result = super.getCustomData(); Transform3D t3d = new Transform3D(); double[] values = new double[16]; t3d.get(values); result.put(ORIENTATION_KEY, values); return result; }
public void move (Vector3D move) { Transform3D t = getTransform(); Vector3f r = new Vector3f(); t.get(r); r.add(createVector3f(move)); t.setTranslation(r); setTransform(t); }
public void move (Vector3D move) { Transform3D t = getTransform(); Vector3f r = new Vector3f(); t.get(r); r.add(createVector3f(move)); t.setTranslation(r); setTransform(t); }
private Vector3D relToAbs (Vector3D r) { Transform3D t = getTransform(); Matrix3d m = new Matrix3d(); t.get(m); Vector3d zero = new Vector3d(0, 0, 0); Transform3D rotation = new Transform3D(m, zero, 1.0); Vector3f vec = createVector3f(r); rotation.transform(vec); return new Vector3D(vec); }
private Vector3D relToAbs (Vector3D r) { Transform3D t = getTransform(); Matrix3d m = new Matrix3d(); t.get(m); Vector3d zero = new Vector3d(0, 0, 0); Transform3D rotation = new Transform3D(m, zero, 1.0); Vector3f vec = createVector3f(r); rotation.transform(vec); return new Vector3D(vec); }
@Override public CustomParamData getCustomData() { CustomParamData result = super.getCustomData(); Transform3D t3d = new Transform3D(); getUniverseCreator().getRootGroup().getTransform(t3d); double[] values = new double[16]; t3d.get(values); result.put(ORIENTATION_KEY, values); return result; }
private Vector3D absToRel (Vector3D r) { Transform3D t = getTransform(); Matrix3d m = new Matrix3d(); t.get(m); Vector3d zero = new Vector3d(0, 0, 0); Transform3D rotation = new Transform3D(m, zero, 1.0); Vector3f vec = createVector3f(r); rotation.invert(); rotation.transform(vec); return new Vector3D(vec); }
@Override public CustomParamData getCustomData() { if (VGraphicsUtil.NO_3D) { return new CustomParamData(); } CustomParamData result = super.getCustomData(); Transform3D t3d = new Transform3D(); getUniverseCreator().getRootGroup().getTransform(t3d); double[] values = new double[16]; t3d.get(values); result.put(ORIENTATION_KEY, values); return result; }
@Override public CustomParamData getCustomData() { if (VGraphicsUtil.NO_3D) { return new CustomParamData(); } CustomParamData result = super.getCustomData(); Transform3D t3d = new Transform3D(); getUniverseCreator().getRootGroup().getTransform(t3d); double[] values = new double[16]; t3d.get(values); result.put(ORIENTATION_KEY, values); return result; }
private Vector3D absToRel (Vector3D r) { Transform3D t = getTransform(); Matrix3d m = new Matrix3d(); t.get(m); Vector3d zero = new Vector3d(0, 0, 0); Transform3D rotation = new Transform3D(m, zero, 1.0); Vector3f vec = createVector3f(r); rotation.invert(); rotation.transform(vec); return new Vector3D(vec); }