Vector3dfx extends Tuple3dfx<Vector3dfx> implements Vector3D<Vector3dfx, Point3dfx> { public ReadOnlyDoubleProperty lengthProperty() { if (this.lengthProperty == null) { this.lengthProperty = new ReadOnlyDoubleWrapper(this, MathFXAttributeNames.LENGTH); this.lengthProperty.bind(Bindings.createDoubleBinding(() -> Math.sqrt(lengthSquaredProperty().doubleValue()), lengthSquaredProperty())); } return this.lengthProperty.getReadOnlyProperty(); } Vector3dfx();  Vector3dfx(DoubleProperty x, DoubleProperty y, DoubleProperty z);  Vector3dfx(Tuple3D<?> tuple);  Vector3dfx(int[] tuple);  Vector3dfx(double[] tuple);  Vector3dfx(int x, int y, int z);  Vector3dfx(float x, float y, float z);  Vector3dfx(double x, double y, double z);  Vector3dfx(long x, long y, long z); @Override Vector3dfx clone(); static Vector3dfx convert(Tuple3D<?> tuple); @Override double getLength(); ReadOnlyDoubleProperty lengthProperty(); @Override double getLengthSquared(); ReadOnlyDoubleProperty lengthSquaredProperty(); @Override GeomFactory3dfx getGeomFactory(); @Override UnmodifiableVector3D<Vector3dfx, Point3dfx> toUnmodifiable();  }
@Test @Disabled public void lengthProperty() { Vector3dfx vector = new Vector3dfx(1, 2, 3); assertEpsilonEquals(2.23607, vector.getLength()); ReadOnlyDoubleProperty property = vector.lengthProperty(); assertNotNull(property); assertEpsilonEquals(2.23607, property.get()); vector.set(4, -10, 7); assertEpsilonEquals(12.84523, property.get()); }