class Vector3dfx extends Tuple3dfx<Vector3dfx> implements Vector3D<Vector3dfx, Point3dfx> {

	public ReadOnlyDoubleProperty lengthSquaredProperty() {
		if (this.lengthSquareProperty == null) {
			this.lengthSquareProperty = new ReadOnlyDoubleWrapper(this, MathFXAttributeNames.LENGTH_SQUARED);
			this.lengthSquareProperty.bind(Bindings.createDoubleBinding(() ->
			    Vector3dfx.this.x.doubleValue() * Vector3dfx.this.x.doubleValue()
			            + Vector3dfx.this.y.doubleValue() * Vector3dfx.this.y.doubleValue()
			            + Vector3dfx.this.z.doubleValue() * Vector3dfx.this.z.doubleValue(), this.x, this.y, this.z));
		}
		return this.lengthSquareProperty.getReadOnlyProperty();
	}

	public  Vector3dfx();
	public  Vector3dfx(DoubleProperty x, DoubleProperty y, DoubleProperty z);
	public  Vector3dfx(Tuple3D<?> tuple);
	public  Vector3dfx(int[] tuple);
	public  Vector3dfx(double[] tuple);
	public  Vector3dfx(int x, int y, int z);
	public  Vector3dfx(float x, float y, float z);
	public  Vector3dfx(double x, double y, double z);
	public  Vector3dfx(long x, long y, long z);

}