/** * * fr.utbm.v3g.core.math.Point3d.java * * Copyright (c) 2008-10, Multiagent Team - Systems and Transportation Laboratory (SeT) * All rights reserved. * * This software is the confidential and proprietary information * of the Systems and Transportation Laboratory ("Confidential Information"). * You shall not disclose such Confidential Information and shall use * it only in accordance with the terms of the license agreement * you entered into with the SeT. * * http://www.multiagent.fr/ * * Primary author : Olivier LAMOTTE (olivier.lamotte@utbm.fr) - 2015 * */ package org.arakhne.afc.math.geometry.d3.continuous; import org.arakhne.afc.math.geometry.d3.FunctionalPoint3D; import org.arakhne.afc.math.geometry.d3.Point3D; import org.arakhne.afc.math.geometry.d3.Tuple3D; import org.eclipse.xtext.xbase.lib.Pure; import javafx.beans.property.DoubleProperty; /** * @author Olivier LAMOTTE (olivier.lamotte@utbm.fr) * */ public class Point3d extends Tuple3d<Point3D> implements FunctionalPoint3D { private static final long serialVersionUID = 6029764593238894104L; public Point3d() { super(); } public Point3d(double x, double y, double z) { super(x, y, z); } public Point3d(Tuple3D<?> tuple) { super(tuple); } public Point3d(Tuple3d<?> tuple) { super(tuple); } public Point3d(Point3d point) { super(point.xProperty,point.yProperty,point.zProperty); } public Point3d(DoubleProperty x, DoubleProperty y, DoubleProperty z) { super(x, y, z); } /** {@inheritDoc} */ @Pure @Override public Point3d clone() { return (Point3d)super.clone(); } /* (non-Javadoc) * @see org.arakhne.afc.math.geometry.d3.Point3D#toUnmodifiable() */ @Override public Point3D toUnmodifiable() { return new UnmodifiablePoint3d(); } private class UnmodifiablePoint3d implements FunctionalPoint3D.UnmodifiablePoint3f { private static final long serialVersionUID = 4886976526818120413L; public UnmodifiablePoint3d() { // } @Pure @Override public Point3D clone() { try { return (Point3D) super.clone(); } catch (CloneNotSupportedException e) { throw new Error(e); } } @Pure @Override public void get(Point3D t) { Point3d.this.get(t); } @Override public void get(int[] t) { Point3d.this.get(t); } @Override public void get(double[] t) { Point3d.this.get(t); } @Pure @Override public double getX() { return Point3d.this.getX(); } @Pure @Override public int ix() { return Point3d.this.ix(); } @Pure @Override public double getY() { return Point3d.this.getY(); } @Pure @Override public int iy() { return Point3d.this.iy(); } @Pure @Override public double getZ() { return Point3d.this.getZ(); } @Pure @Override public int iz() { return Point3d.this.iz(); } @Pure @Override public boolean equals(Tuple3D<?> t1) { return Point3d.this.equals(t1); } @Pure @Override public int hashCode() { return Point3d.this.hashCode(); } @Pure @Override public boolean epsilonEquals(Point3D t1, double epsilon) { return Point3d.this.epsilonEquals(t1, epsilon); } @Pure @Override public int distanceSquared(Point3D p1) { return Point3d.this.distanceSquared(p1); } @Pure @Override public int distance(Point3D p1) { return Point3d.this.distance(p1); } @Pure @Override public int distanceL1(Point3D p1) { return Point3d.this.distanceL1(p1); } @Pure @Override public int distanceLinf(Point3D p1) { return Point3d.this.distanceLinf(p1); } @Pure @Override public Point3D toUnmodifiable() { return this; } @Pure @Override public double getDistanceSquared(Point3D p1) { return Point3d.this.getDistanceSquared(p1); } @Pure @Override public double getDistance(Point3D p1) { return Point3d.this.getDistance(p1); } @Pure @Override public double getDistanceL1(Point3D p1) { return Point3d.this.getDistanceL1(p1); } @Pure @Override public double getDistanceLinf(Point3D p1) { return Point3d.this.getDistanceLinf(p1); } } }